CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   pimpleDyMfoam simulation keeps blowing up (https://www.cfd-online.com/Forums/openfoam/99920-pimpledymfoam-simulation-keeps-blowing-up.html)

vasava May 3, 2013 01:29

2 Attachment(s)
I can not share the CAD model as it belongs to some company. But here are SHM and files that I used to generate mesh.

Meanwhile I'll prepare another CAD model that I can share and come back here.

A.Wendy May 3, 2013 01:43

Quote:

Originally Posted by vasava (Post 424844)
I can not share the CAD model as it belongs to some company. But here are SHM and files that I used to generate mesh.

Meanwhile I'll prepare another CAD model that I can share and come back here.

maybe it iis best if you just create a dummy STl-file and upload the case with this geometry.

andy

vasava May 3, 2013 03:20

Meanwhile can you explain how AMI is generated?

A.Wendy May 3, 2013 03:33

Quote:

Originally Posted by vasava (Post 424866)
Meanwhile can you explain how AMI is generated?

Hi,

I normally work with OpenFOAM 1.6 extend with the integrated GGI.
But the AMI should be more or less the same.

1. Create two seperate meshes.
a) one for the static mesh
b) one for the rotating mesh

2. Merge both meshes with "mergeMeshes".
a) create a copy of one mesh and merge this copy with the other mesh
mergeMeshes copiedCase otherCase

3. modify the boundary file of the merged mesh
a) got to the merged case -> cobnstant -> polymesh. open the file boundary in a text editor
b) have a look at the patches wich are the base of your AMI
c) change first patch (e.g. AM1)

AMI1
{
type cyclicAMI; <- change type
nFaces 22416; <- use here original data from boundary file
startFace 1733766; <- use here original data from boundary file
matchTolerance 0.0001;
neighbourPatch AMI2; <- use name of patch from other mesh
transform noOrdering;
}

d) do same procedure to the second ami-patch just with the other patch names.


save the file and try to run the calculation with "pimpleDyMFoam"

best wishes

Andy

vasava May 3, 2013 06:03

Thanks. I am trying it now. Hope it works.

vasava May 6, 2013 06:03

Quote:

Originally Posted by A.Wendy (Post 424870)
Hi,
1. Create two seperate meshes.
a) one for the static mesh
b) one for the rotating mesh

When I create the mesh with stl files, the process creates two folders 0.1 and 0.2. I assume 0.2 has the latest mesh and then copy it to the constant folder (and then do merging). Is this correct?

The second question: The merging operation seems to work fine but when I check the merged mesh the cellZones, faceZones and pointZones files are empty. What do you think is going wrong?

A.Wendy May 6, 2013 06:07

Quote:

Originally Posted by vasava (Post 425520)
When I create the mesh with stl files, the process creates two folders 0.1 and 0.2. I assume 0.2 has the latest mesh and then copy it to the constant folder (and then do merging). Is this correct?

The second question: The merging operation seems to work fine but when I check the merged mesh the cellZones, faceZones and pointZones files are empty. What do you think is going wrong?

you can use for snappy HExMesh the following line to write the mesh to the 0-folder/constant-folder

snappyHexMesh -overwrite


the zoning should be done after mergeing the meshes i think

vasava May 6, 2013 08:11

Well I tried the '-overwrite' but the problem of empty files still persists.

By the way how do you make your stl file? Do you export it as one surface or export it as one file containing several surfaces (inlet, outlet, wall etc)?

I will post this in the main forum as well.

vasava May 7, 2013 02:34

Here is link to the case files. The case is minimal so you have to start from scratch. Sorry about that but the files were too big.

http://www.mediafire.com/?y9i5lj4b1xxw3cr

Please let me know if you need something.

I am working with the propeller example to see if I can find some hints.

A.Wendy May 7, 2013 04:22

Quote:

Originally Posted by vasava (Post 425745)
Here is link to the case files. The case is minimal so you have to start from scratch. Sorry about that but the files were too big.

http://www.mediafire.com/?y9i5lj4b1xxw3cr

Please let me know if you need something.

I am working with the propeller example to see if I can find some hints.

I am working on it.
but my Computer has only few ressources left so it will take some time...

andy

vasava May 7, 2013 04:31

I appreciate your help. I am now following the propeller example where use of multiple stl files and AMI is demonstrated.

Thanks again.

A.Wendy May 7, 2013 07:35

hi,

i just had a look at your case.
your setup of geometry will not work this way. your sliding patch have to be of a cylindrical shape. but yours is not. even i would change the snappy hex mesh entries.
i think it would be more easy to have a geometry of the rotating part of your mixer not of the fluid.
the axis of your mixer is also moving so i would put it into the moving domain too.

if the tank is cylindrical you may not need to create with a stl file. you can use blockMesh and snappy Hexmesh only.
can you upload a stl/obj. file of the mixer only?

andy

vasava May 7, 2013 08:00

Here is link to the impeller and mixer files.

http://www.mediafire.com/?g5bb7tqlq1bubnp

Thanks!!

A.Wendy May 7, 2013 08:18

hi,

i need the geometrie of the tank and blades not of the computational area.

vasava May 8, 2013 02:31

Here is the link to those files. http://www.mediafire.com/?xmzqjhcu354go3r

A.Wendy May 8, 2013 08:58

Quote:

Originally Posted by vasava (Post 426005)
Here is the link to those files. http://www.mediafire.com/?xmzqjhcu354go3r

Hi

here you find the "cleaned" case. just run the Allrun file. The boundary ist changed by hand maybe you can automatize it.

if you have quest just send a massage

http://ubuntuone.com/3ZKPM8nv9xDgZaSkhsVcoO

best wishes

andy

vasava May 10, 2013 03:17

I will check the case soon. Thank you very much for the help. I will get back if I am stuck somewhere.

bhups45 May 24, 2013 12:56

trying to generate oscillating motion
 
I have successfully tried the cubo.tar.gz case that was uploaded earlier in this thread and i was able to run it successfully.
Now i want to change the rotation motion to osclillatinLinearMotion using same solidBodyMotionFvMesh only used in cubo example. For that I have changed the dynamicMeshDict file like this :

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dynamicFvMesh solidBodyMotionFvMesh;

motionSolverLibs ( "libfvMotionSolvers.so" );

solidBodyMotionFvMeshCoeffs
{
cellZone region0;

solidBodyMotionFunction oscillatingLinearMotion;
oscillatingLinearMotionCoeffs
{
amplitude (3 0 0);
omega 12.5892;//4*pi
}
}


// ************************************************** *********************** //

But I am not able to get the solution for it. It is showing following error at the end:


#0 Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1 Foam::sigFpe::sigHandler(int) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2 in "/lib/x86_64-linux-gnu/libc.so.6"
#3 double Foam::sumProd<double>(Foam::UList<double> const&, Foam::UList<double> const&) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#4 Foam::PBiCG::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#5 Foam::fvMatrix<double>::solveSegregated(Foam::dict ionary const&) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libfiniteVolume.so"
#6 Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libincompressibleRASModels.so"
#7 Foam::fvMatrix<double>::solve() in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libincompressibleRASModels.so"
#8 Foam::incompressible::RASModels::kOmegaSST::correc t() in "/opt/openfoam220/platforms/linux64GccDPOpt/lib/libincompressibleRASModels.so"
#9
in "/opt/openfoam220/platforms/linux64GccDPOpt/bin/pimpleDyMFoam"
#10 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#11
in "/opt/openfoam220/platforms/linux64GccDPOpt/bin/pimpleDyMFoam"
Floating point exception (core dumped)

please help me out with this......:confused:

ADGlassby June 5, 2013 09:59

Hi Linneman, I wonder if I could ask a couple of question of you about AMI.

I am trying to mesh a geometry (Similar in some respects to the mixerVesselAMI2D example) using snappyHexMesh I have split the geometry into moving and static then recombined after meshing. However my model is in 2D so I have followed the advice to flattenMesh then ExtrudeMesh between the castellatedMesh and the Snap stages of sHM. This seems to give me a really smooth looking mesh.

I have hit a major problem though since when, after I manipulate the mesh, I run it using pimpleDymFoam my WHOLE domain rotates and not just the rotor (in the rotating zone).

When I come to create the face and cell Zones is there a specific way in which I should do this? Also I understand from the discussion that AMI requires BOTH the moving and static face/cellZones to be created. I have tried to do this but still the WHOLE domain rotates. I wonder if I have generated some kind of bridge between the two zones while I am creating them??

Is it possible that topoSet or setSet doesn't like working in just 2D? having only 1 cell in the Z direction? is it possible to have a cellZone and a faceZone with only one cell in a given direction?

Finally since I am working in 2D when I am meshing should I mesh with snappyHexMesh without the empty front and back patches (eg define them in blockMeshDict as patch or wall first) then convert them to empty at the end using createPatch?

Sorry I have asked so many questions but I seem to be learning so much but not necessarily of the right stuff at the right time!

Hope you can help me out.

Best Regards

Andrew

linnemann June 6, 2013 02:03

Hi to properly create the cellZones dont use topoSet or setSet when you have multiple meshes.

use this command instead

Code:

splitMeshRegions -makeCellZones
That will create cellZones based on the meshRegions and region0 will be the master mesh and region1 will be the mesh you merged with the master and so forth.

Best


All times are GMT -4. The time now is 11:41.