CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Moving mesh part 2 (https://www.cfd-online.com/Forums/openfoam-solving/58346-moving-mesh-part-2-a.html)

mattijs January 15, 2008 17:49

OpenFOAM/OpenFOAM-1.4.1/bin/mp
 
OpenFOAM/OpenFOAM-1.4.1/bin/mpirunDebug? Or could be that I put it there.

http://www.cfd-online.com/OpenFOAM_D...hment_icon.gif mpirunDebug

sek January 29, 2008 17:02

Hi Frank, How are you doing
 
Hi Frank,

How are you doing, my friend? Clearly you're making progress!

Would you mind making your simple moving/deforming, FSI cases availabble to others?

SE

lr103476 January 29, 2008 17:25

Hi Sung-Eun! Nice to hear f
 
Hi Sung-Eun!

Nice to hear from you! Basically, I am preparing to share a small collection of different dynamic mesh classes, involving: 1 moving body, 2 moving bodies, with and without subsetMeshes and some applied (defined) flexibility. Unfortunately, I have done only little on FSI, since for my problem I know the wing motion / flexing, so there is no need to couple the forces to the structure. But I do have some test cases which I will share.

If you need anything on the short term, please drop me an email....

Regards, Frank

PS: maybe we can meet in Milan at the OF workshop ??

hsieh January 29, 2008 19:23

Hi, Frank, I am wondering i
 
Hi, Frank,

I am wondering if you can send me your dynamic mesh stuffs when you are ready?

Thanks!

Pei
email: phsieh2005@yahoo.com

kev4573 March 6, 2008 14:08

I'm also having problems runni
 
I'm also having problems running the mesh subset motion solver in parallel. Here is the error which occurs right away when trying to run in parallel.


Selecting dynamicFvMesh subsetMotionSolverFvMesh
Selecting motion solver: laplaceFaceDecomposition
Selecting motion diffusivity: quadratic
*** glibc detected *** malloc(): memory corruption: 0x0000000000791140 ***
*** glibc detected *** malloc(): memory corruption: 0x0000000000811220 ***
[compute-2-1:13295] *** Process received signal ***
[compute-2-1:13295] Signal: Aborted (6)
[compute-2-1:13295] Signal code: (-6)
[compute-2-1:13295] [ 0] /lib64/tls/libc.so.6 [0x35b802e2b0]
[compute-2-1:13295] [ 1] /lib64/tls/libc.so.6(gsignal+0x3d) [0x35b802e21d]
[compute-2-1:13295] [ 2] /lib64/tls/libc.so.6(abort+0xfe) [0x35b802fa1e]
[compute-2-1:13295] [ 3] /lib64/tls/libc.so.6 [0x35b8063291]
[compute-2-1:13295] [ 4] /lib64/tls/libc.so.6 [0x35b8069881]
[compute-2-1:13295] [ 5] /lib64/tls/libc.so.6(malloc+0x92) [0x35b806b272]
[compute-2-1:13295] [ 6] /usr/lib64/libstdc++.so.6(_Znwm+0x2a) [0x35b91af50a]
[compute-2-1:13295] [ 7] /usr/lib64/libstdc++.so.6(_ZNSs4_Rep9_S_createEmmRKSaIcE+0x7e ) [0x35b919024e]
[compute-2-1:13295] [ 8] /usr/lib64/libstdc++.so.6 [0x35b919260b]
[compute-2-1:13295] [ 9] /usr/lib64/libstdc++.so.6(_ZNSsC2EPKcRKSaIcE+0x43) [0x35b9192783]
[compute-2-1:13295] [10] /home/krs289/OpenFOAM/OpenFOAM-1.4.1-dev/lib/linux64GccDPOpt/libfiniteVolume.so( _ZN4Foam12fvMeshS
ubset18setLargeCellSubsetERKNS_4ListIiEEiib+0x605) [0x2a9688b1f5]
[compute-2-1:13295] [11] /home/krs289/OpenFOAM/OpenFOAM-1.4.1-dev/lib/linux64GccDPOpt/libfiniteVolume.so( _ZN4Foam12fvMeshS
ubset18setLargeCellSubsetERKNS_7HashSetIiNS_4HashI iEEEEib+0x141) [0x2a9688d451]
[compute-2-1:13295] [12] /home/krs289/OpenFOAM/OpenFOAM-1.4.1-dev/lib/linux64GccDPOpt/libdynamicFvMesh.so (_ZN4Foam24subset
MotionSolverFvMeshC1ERKNS_8IOobjectE+0xd64) [0x2a9557bd34]
[compute-2-1:13295] [13] /home/krs289/OpenFOAM/OpenFOAM-1.4.1-dev/lib/linux64GccDPOpt/libdynamicFvMesh.so (_ZN4Foam13dynami
cFvMesh29addIOobjectConstructorToTableINS_24subset MotionSolverFvMeshEE3NewERKNS_ 8IOobjectE+0x31) [0x2a9557ed91]
[compute-2-1:13295] [14] /home/krs289/OpenFOAM/OpenFOAM-1.4.1-dev/lib/linux64GccDPOpt/libdynamicFvMesh.so (_ZN4Foam13dynami
cFvMesh3NewERKNS_8IOobjectE+0xaa9) [0x2a9556a2f9]
[compute-2-1:13295] [15] moveDynamicMesh [0x402127]
[compute-2-1:13295] [16] /lib64/tls/libc.so.6(__libc_start_main+0xdb) *** glibc detected *** malloc(): memory corruption:
0x0000000000794d60 ***
[compute-2-1:13296] *** Process received signal ***
[compute-2-1:13296] Signal: Aborted (6)
[compute-2-1:13296] Signal code: (-6)


It should look something like this -

Create mesh for time = 0

Selecting dynamicFvMesh subsetMotionSolverFvMesh
Selecting motion solver: laplaceFaceDecomposition
Selecting motion diffusivity: quadratic
Number of cells in new mesh : 2772
Number of faces in new mesh : 11286
Number of points in new mesh: 5940
oldInternalFaces : 198
Selecting motion solver: laplaceFaceDecomposition
Selecting motion diffusivity: quadratic


Running on one processor works great and I can move a subset just fine. However when decomposing the '0/setSubset' and '0/motionSubset' directories do not end up in any of the processor directories (should they?). Here's my case and modified subsetMotionSolverFvMesh code respectively -

http://www.box.net/shared/ph43019sss

http://www.box.net/shared/rllamuaok0

Thanks for any advice,
Kevin

lr103476 March 6, 2008 17:49

The subsets should be decompos
 
The subsets should be decomposed as well. Somewhere on this message board their lives a decomposeParWithSets, or something like that. That utility should do the job, for me it worked fine....

Regards, Frank

pbo March 10, 2008 18:25

Frank, could you post your
 
Frank,

could you post your icoFsiFoam case with the cylinder and trailing flat plate. I try to understand why the fore part of my airfoil, which is clamped (fixedValue (0 0 0) for the displacement), gets deformed after the mesh motion in icoFsiFoam (only the rear part and the whole fluid region are coupled in the couplingProperties dictionary).

Cheers,

Patrick

juho March 11, 2008 05:07

Hello I'm trying to model a
 
Hello

I'm trying to model a wing, or a plate, in flow suspended on an axle. I would greatly appreciate any sample cases that are related ie. on solving the forces acting on the body and updating the mesh accordingly.

If you could email me at juho.peltola@tut.fi it would be great!

Juho

kev4573 March 13, 2008 14:25

Frank - Thanks for pointing me
 
Frank - Thanks for pointing me to that decomposition utility, it seems to work ok but I could only get the patched decomposePar to compile. After decomposing my case (decomposePar . cylSimple) I try running 'moveDynamicMesh' in parallel but it fails with this message:

[1] --> FOAM FATAL IO ERROR : cannot open file
[1]
[1] file: ../cylSimple/processor1/system/motionSubset/fvSchemes at line 0.
[1]
[1] From function regIOobject::readStream(const word&)
[1] in file db/regIOobject/regIOobjectRead.C at line 66.
[1]
FOAM parallel run exiting


If I'm not mistaken, the processor directories don't need their own system directory - Did you add any parameters or do anything different when decomposing or running?

When I manually copy these files over to each processor directory it eventually gives an error :

[1] --> FOAM FATAL ERROR : Cannot find file "faces" in directory "constant/motionSubset/polyMesh"

Did you end up with the case structure as openFOAM expects it?

Kevin

lr103476 March 13, 2008 14:35

I did just copy the files and
 
I did just copy the files and directories which is being asked for.......Indeed you'll end up with some dublicate stuff, but for me, it worked.

Are you sure that there is a polyMesh inside the motionSubset. Maybe you should also create the subsets using subsetMeshes utility and put the resulting polyMesh where needed.....In my case I had constant/motionSubset1 and constant/motionSubset2, so I had to create both polyMesh dirs using subsetMeshes.....

Cheers, Frank

kev4573 March 14, 2008 15:14

Ok, I've made some progress an
 
Ok, I've made some progress and can now at least run in parallel but now the mesh moves strangely - seems the processor interface right around the 'oldInternalFaces' is not moving correctly.

Here is the original mesh at t = 0

http://www.cfd-online.com/OpenFOAM_D...ges/1/7008.gif

And after 0.02 seconds I get this

http://www.cfd-online.com/OpenFOAM_D...ges/1/7009.gif

Everywhere else the motion seems fine, but those rogue points at the top of cylinder seem to be causing a problem. Anyone have ideas?

Kevin

juho March 22, 2008 12:46

Hello I'm trying to set up
 
Hello

I'm trying to set up a case with icoDyMFoam. Mesh motion works neatly when a set the movingWall in cellMotionUy and pointMotionUy to fixedValue.

When I try to use oscillatingFixedValue or timeVaryingFixedValue it gives me an error message:

================================================== =

[0] --> FOAM FATAL ERROR : Not implemented#0 Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&) in "/home/juho/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#1 Foam::error::abort() in "/home/juho/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#2 Foam::defaultFvPatchField<double>::defaultFvPatchF ield(Foam::fvPatch const&, Foam::DimensionedField<double,> const&) in "/home/juho/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libfiniteVolume.so"
#3 Foam::fvPatchField<double>::addpatchConstructorToT able<foam::defaultfvpatchfield <double> >::New(Foam::fvPatch const&, Foam::DimensionedField<double,> const&) in "/home/juho/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libfiniteVolume.so"
#4 Foam::fvPatchField<double>::New(Foam::word const&, Foam::fvPatch const&, Foam::DimensionedField<double,> const&) in "/home/juho/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxGccDPOpt/icoDyMFoam"
#5 Foam::GeometricField<double,>::GeometricBoundaryFi eld::GeometricBoundaryField(Fo am::fvBoundaryMesh const&, Foam::DimensionedField<double,> const&, Foam::List<foam::word> const&) in "/home/juho/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libfvMotionSolvers.so"
#6 Foam::GeometricField<double,>::GeometricField(Foam ::IOobject const&, Foam::fvMesh const&, Foam::dimensioned<double> const&, Foam::List<foam::word> const&) in "/home/juho/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libfvMotionSolvers.so"
#7 Foam::velocityComponentLaplacianFvMotionSolver::ve locityComponentLaplacianFvMoti onSolver(Foam::polyMesh const&, Foam::Istream&) in "/home/juho/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libfvMotionSolvers.so"
#8 Foam::motionSolver::adddictionaryConstructorToTabl e<foam::velocitycomponentlapla cianfvmotionsolver>::New(Foam::polyMesh const&, Foam::Istream&) in "/home/juho/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libfvMotionSolvers.so"
#9 Foam::motionSolver::New(Foam::polyMesh const&) in "/home/juho/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libdynamicMesh.so"
#10 Foam::dynamicMotionSolverFvMesh::dynamicMotionSolv erFvMesh(Foam::IOobject const&) in "/home/juho/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libdynamicFvMesh.so"
#11 Foam::dynamicFvMesh::addIOobjectConstructorToTable <foam::dynamicmotionsolverfvme sh>::New(Foam::IOobject const&) in "/home/juho/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libdynamicFvMesh.so"
#12 Foam::dynamicFvMesh::New(Foam::IOobject const&) in "/home/juho/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libdynamicFvMesh.so"
#13 main in "/home/juho/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxGccDPOpt/icoDyMFoam"
#14 __libc_start_main in "/lib/tls/i686/cmov/libc.so.6"
#15 Foam::regIOobject::readIfModified() in "/home/juho/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxGccDPOpt/icoDyMFoam"
[0]
[0]
[0] From function defaultFvPatchField<type>::defaultFvPatchField(con st fvPatch& p, const DimensionedField<type,>& iF)
[0] in file fields/fvPatchFields/basic/default/defaultFvPatchField.C at line 50.
[0]
FOAM parallel run aborting
[0]

=================================================

I'm using 1.4.1 with the precompiled binaries. The timeVaryingFixedValue works perfectly in turbFoam and oodles.

Any tips how to make it work?

kev4573 March 22, 2008 17:06

Hi Juho, I've always put the '
 
Hi Juho, I've always put the 'oscillatingFixedValue' mesh motion implementation in the file 'motionU', never had to touch the other files 'cellMotionUy' and 'pointMotionUy'. I'm using 1.4.1-dev off of the svn but I think you should be able to do this 1.4.1 .

lr103476 March 22, 2008 18:21

When using tetDecomposition mo
 
When using tetDecomposition motion solvers, the user only has to specify the motionU file. For your moving wall, you either specify oscillatingFixedValue or just fixedValue if your motion is defined by a (custom) dynamicFvMesh library.

This tetDecomp motion solver is only available in the OF-1.4.1-dev version. When using Finite Volume based motion solvers, you only have to specify pointMotion (the interpolation to cellMotion is done accordingly in the code).

Enjoy the mesh motion, it will lead to a lot of fun!!!

Frank

juho March 23, 2008 01:59

Thanks for the replies! I g
 
Thanks for the replies!

I guess I should switch to 1.4.1-dev then. Shouldn't the oscillatingFixedValue and timeVaryingFixedValue work with Finite Volume motion solvers? At the moment I've used the movingCone tutorial as an example.

Another question:

I want to move only a part of a continous wall. How do I make the transition between the moving and fixed par smooth? Like bending the wall.

lr103476 March 23, 2008 08:11

All boundary conditions should
 
All boundary conditions should work fine with both tetDecomp and FV motion solvers......

Frank

juho March 23, 2008 08:36

Any ideas what might cause the
 
Any ideas what might cause the error message I get if I use other boundary conditions than fixedValue for the moving wall? Message in my earlier post.

lr103476 March 23, 2008 08:48

You should only provide a poin
 
You should only provide a pointMotionU file with oscillatingFixedValue i.e. for your moving wall. (The cellMotionU is derived from that, you could delete that file).....Just try this. Additionally, you should set U for your moving wall to movingWallVelocity.

juho March 23, 2008 09:53

I deleted the cellMotionU.
 
I deleted the cellMotionU.

Currently I have:

=================================================
0/pointMotionU:
=================================================


boundaryField
{
farField
{
type fixedValue;
value uniform (0 0 0);
}
movingWall
{
type oscillatingFixedValue;
refValue uniform (0 0 0);
amplitude uniform (0 2 0);
frequency 50;
value uniform (0 0 0);
}

outlet
{
type slip;
}
inlet
{
type slip;
}
frontAndBackPlanes
{
type empty;
}
}

=================================================
0/U:
=================================================

movingWall
{
type movingWallVelocity;
value uniform (0 0 0);
}

=================================================
constant/dynamicMeshDict:
=================================================

dynamicFvMesh dynamicMotionSolverFvMesh;

motionSolverLibs ("libfvMotionSolvers.so");

twoDMotion yes;

solver velocityLaplacian;

diffusivity directional (50 500 0);

=================================================

Same error message as before.

Is it possible something is wrong with my installation? The timeVariedFixedValue gives the same error message but works perfectly in turbFoam and oodles.

Also the mesh motion works fine when I set a fixedValue to the pointMotionU.

Thank you for your time!

juho March 24, 2008 03:08

The boundary conditions seem t
 
The boundary conditions seem to work fine with the -dev version's tet decomposition.

And now towards the next problem...


All times are GMT -4. The time now is 08:59.