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)

lr103476 September 18, 2006 08:43

Hi, The mesh motion works u
 
Hi,

The mesh motion works using the latest development code using the oscillatingFixedValue boundary condition. Now I am considering oscillating bodies (flat plates and cylinders) on different grids at low Reynolds numbers to see how the grid motion behaves.

I've got the following questions/remarks:

1) On coarse grids the meh motion performs very nicely, but on finer grids the mesh gots distorted near the body causing the flow solver to diverge. Since the oscillatory motion stays the same, but the cells are smaller (on the finer grid) the relative cell displacement is increased, i.e. the boundary of the body moves multiple cell sizes within one timestep. Besides choosing a very very small timestep, is there a good solution for this??

2) So, what are the ideal motion solver settings for this kind of problems?

3) At my place, another moving mesh method is developed using radial basis functions. This method is capable of using very large time steps without severe mesh destortion near the moving body boundary. How difficult is implementing such a new mesh motion algorithm in OpenFOAM?, or is this almost impossible?

4) I am also trying to expand the oscillatoryFixedValue boundary conditions towards a 6 DOF boundary condition which could handle arbitrary functions for 6 variables (not only oscillatory functions). Do you think this is feasible? Is it smart to start with the movingFlapFvMesh class from OpenFoam 1.2?

5) In the development sources, I am using, a top level Fluid Structure Interaction solver is present, icoFsiFoam. Is there also a tutorial available for this, just as an example how to define a problem using this solver. Unfortunately I haven't seen prof. Jasak's presentation at the 5th ICCSM, but I have read the paper and I'm impressed.

Best regards, Frank

hjasak September 18, 2006 14:55

Heya, Nice to hear you got
 
Heya,

Nice to hear you got it working.

1) You need tuning. First, choose a better diffusion algorithm to limit mesh deformation next to the moving boundary. Second, carefully tune solver tolerances. Doing too much work in the solver makes the algorithm expensive (cannot really help) and too little accumulates motion errors.

2) There is a Thesis - dr. Zeljko Tukovic. Unfortunately, it's still being translated to English (sigh)

3) Easy: if you can define how the mesh moves (use radial functions like everybody else), just use new poilt locations to execute mesh motion - everything else remains the same

4) For a 6 DUB solver, you need to calculate forces and moments onto the surface and solve an ODE (ordinary diferential equation). Both should be trivial - see liftDrag for the forces, and ODE solvers are already impelmented

5) Yes, I've got a tutorial of sorts but people are waiting to publish their results. Once that happens, I'm happy to release the tutorial as well.

BTW, you haven't seen my presentation at ICCSM 'cause it's on Thursday :-)

Have fun,

Hrv

lr103476 October 16, 2006 05:28

Hi, I succeeded in perform
 
Hi,

I succeeded in performing a 2D oscillating cylinder simulation (see my website, link below) with oscillatingFixedValue boundary condition. My problems (of diverging motion solver) were caused by a time step which was too large. Right now I used 800 timesteps within one vortex shedding cycle which works actually quite good for the mesh motion. In general this time step size is sufficient to capture the relevant flow physics of this problem.

Then I tried to solve the mesh motion of a simple 3D problem: a moving cube inside a cube shaped domain. I solved the mesh motion for a fixedValue boundary condition with motion in 3 directions of 1 m/s. As you can see on my website, the cube body is moving correctly in 3 directions, but also the boundary of the domain is moving (only in x-direction).
I got similar (strange) results using the oscillatingFixedValue boundary condition (not shown). The mesh motion was nice, but of course this motion of the domain is not good.

I updated my website to show you the flow and motion solver settings, along with some results:

www.aero.lr.tudelft.nl/~frank

then go to Research -> CFD -> OpenFOAM moving mesh.

So, my question:

Does anyone got any ideas why the (oscillating)fixedValue boundary conditions in my 3D problem lead to an additional motion of the domain boundaries?


Regards, Frank

ztukovic October 16, 2006 05:55

Hi, Try following BC for mo
 
Hi,

Try following BC for motionU:

outlet
{
type fixedValue;
value uniform (0 0 0);
}
inlet
{
type fixedValue;
value uniform (0 0 0);
}

Regards,
Zeljko

lr103476 October 16, 2006 07:53

Thanks Zeljko, it works! T
 
Thanks Zeljko, it works!

Too easy, I should have seen it myself :-S

Regards, Frank

lr103476 October 20, 2006 10:47

Hi again, Does anyone know
 
Hi again,

Does anyone know how to use subsets of meshes in order to only move the subset directly around the moving body. That probably will reduce the computation time considerably.

I've already created a mesh using Gambit, which consists of a 'inner' and an 'outer' mesh. These two different parts are recognised by foamMeshToFoam and 2 different sets are created in the constant/polyMesh directory.

How do I set the boundary conditions in such a way that the motion is only applied to the inner set?

Thanks and have a good weekend!

Frank

hjasak October 20, 2006 11:03

Yup, I've already done that: m
 
Yup, I've already done that: make a subset, create a motion solver on it. Once the motion is solved for, use the functionality of the subset to map onto the complete mesh for motion and you're done.

Hrv

lr103476 October 30, 2006 10:38

mmm, I dont think that I under
 
mmm, I dont think that I understand it correctly.

When I look in the constant/polyMesh/sets directory, there are already some subsets present from the fluentMeshToFoam conversion.

Isn't it possible to call the subsets that I want to move from dynamicMeshDict? If not, do I have to include the motion on the subset and the mapping, you referred to, in my user solver.

Is there a tutorial on this?

Regards, Frank

lr103476 November 29, 2006 15:37

Hi everybody. I updated my
 
Hi everybody.

I updated my site with some new problems, this time considering the use of subsets:
http://www.aero.lr.tudelft.nl/~frank/index.php?id=research/cfd/OpenFOAM/movingme sh/2D_movingmesh_wing

In order to move/deform the mesh around an oscillating wing I tried using no subset, one subset containing the inner part and one subset containing the outer part of the computational domain, see the site.

1) No subsets result in severe mesh distortion near the leading and trailing edges of the wing. Most likely, this is also the reason for the very slow convergence, which I addressed in another tread on this forum.
2) The inner part as a subset led to similar results.
3) The outer part as a subset deforms that part nice, but the inner part remains unchanged, which leads to the overlapping of both regions.

I used the subsetMotionSolverFvMesh library from prof. Jasak's sources. Is this the thing you mentioned in the post above? What is alpha doing?

The best solution for my problem seems to use two subsets together. The inner subset moving fixed to the wing, preserving high quality cells in the boundary layer. The outer subset deforming accordingly.

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

So my questions:

1) Did I make any mistakes implementing a subset using subsetMotionSolverFvMesh? please check my site...

2) How can I use two subsets together. On rigidly moving, the other deforming accordingly. (Could someone maybe share an example using multiple subsets?)

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

This are the problems I am facing now. When solved, I want to extend this model to 3D for further use in my PhD. I am very very eager to overcome these problems, since I don't want to return to Fluent (bad experiences).

Regards and thanks in advance,
Frank

hjasak November 30, 2006 03:53

Have you seen the pictures at
 
Have you seen the pictures at the bottom of this page:

OpenFOAM training Wiki

A proper choice of variable diffusivity in mesh motion is likely to solve your problem.

Hrv

lr103476 November 30, 2006 07:21

Allright, thanks....it seems t
 
Allright, thanks....it seems to work with a diffusion coefficient depending on deformationEnergy or distortionEnergy.

All distance based diffusion coefficients, constant, linear, quadratic and exponential do not work at all. In those cases the mesh collapses, as shown on my site. In your paper 'Automatic mesh motion for the unstructured FVM', you also used distance based diffusion for the pitching airfoil.

1) Is there a reference with info about deformationEnergy or distortionEnergy? What means the constant (gamma) which is needed?

From my previous post:
2) How can I use two subsets together. On rigidly moving, the other deforming accordingly. (Could someone maybe share an example using multiple subsets?)

Regards and thanks,
Frank

hjasak November 30, 2006 07:33

Here we go again: All dis
 
Here we go again:

Quote:

All distance based diffusion coefficients, constant, linear, quadratic and exponential do not work at all. In those cases the mesh collapses, as shown on my site. In your paper 'Automatic mesh motion for the unstructured FVM', you also used distance based diffusion for the pitching airfoil.
What do you mean: they do not work at all??? I have just shown you the pictures of ALL of them not only working but also producing correct results. Could you please explain what you mean by "do not work at all" and how is it possible that Zeljko and I get perfect results for a case which is much more difficult than yours and you cannot get even the basic stuff to work.

The reference for the other 2 diffusion methods is a PhD Thesis by dr. Tukovic.

A constant gamma is the diffusion coefficient you will start with in the mesh motio equation.

From the example you are showing it seems to me you time step for the mesh motion algorithm is much too large. Could you please tell me what is the boundary motion in terms of near-wall mesh size in a single time-step - that would be the mesh motion Courant number.

Multiple mesh motion: You can use as meany subsets as you like, provided they do not overlap. If they do, you will need to update them in a reasonable order and call them one at a time.

Hrv

lr103476 November 30, 2006 08:29

Sorry to bother you. With
 
Sorry to bother you.

With 'they do not work at all' I mean that using those distance-based methods the mesh collapses just after maximal amplitude. For the moving mesh testing I used dt=0.005. When I solve for the flow I use adjustableRunTime with a maximum Co of 2.

The boundary motion is prescribed using the oscillatingFixedValue b.c. a pure sine motion. The maximal velocity is 2*pi*f = 1.57. The smallest cellsize (at leading and trailing edges) is about 0.0036. Together with a timestep of about 0.005 the mesh courant number becomes more or less 2.18. This is worst case, since all other cells are larger and the velocity is maximal only a short time.

So you think that I should be able to use the distance based methods when I reduce the timestep even further??
Btw, the mesh I used is only for testing, I really need a much denser mesh for my research, so a much smaller timestep.

While you were writing the post, I just found the theory of the other 2 diffusion methods in dr. Tukovic PhD thesis. It's a pity that it's in croatian, but that issue is already mentioned a couple of times in this forum.

Multiple mesh motion: How do I create multiple subsets, using subsetMesh. Using subsetMotionSolverFvMeshCoeffs, only one set is taken an moved. How do I use two sets together?

Frank

hjasak November 30, 2006 10:25

Try running it the with mesh C
 
Try running it the with mesh Co number of 0.5 and see if it gets any better.

The Thesis is being translated (I know, there was nothing I could do about the choice of language at the time). It will be made available when we're done with it. In the meantime, there is a series of accompanying papers coming out and I'm sure to advertise :-)

As for multiple subsets, nobody says the subsets need to be connected. You can have two "islands" of mesh motion operating independently. If this is not what you want, look at how I did mesh motion on a subset and modify the class to include multiple subsets - that's easy.

Enjoy,

Hrv

lr103476 December 1, 2006 11:28

Allright, when I decrease the
 
Allright, when I decrease the timestep 4 times, the mesh Co number gets around 0.5 and the mesh moves a lot better using linear or quadratic. Constant diffusion leads to a lot of skewness near the leading and trailing edges.

I get the best meshes at the largest time-steps for the distortionEnergy and deformationEnergy diffusion coefficients. Nevertheless it seems that the flow solver covergence put a much tighter restriction on the time-step than the motion solver.

I do understand that multiple subsets are possible, but I do not know how to use them together. From gambit to openFOAM, I end up with two sets (inner_fluid, outer_fluid) from which I create subsets with 'subsetMesh'.
How do I configure these in /constant/dynamicMeshDict and /constant/motionSubset/dynamicMeshDict?? All I can think of is: rewriting subsetMotionSolverFvMesh in order to make it possible to define two or more subsets in dynamicMeshDict.

Regards and thanks,
Frank

lr103476 February 21, 2007 05:21

Dear prof. Jasak. At my de
 
Dear prof. Jasak.

At my department people are also working with a cfd code which uses radial basis functions to update the mesh point positions in time. Those people are very happy with the robustness of this method.

At this point, I am able to solve the flow around a translating and rotating 3D object using OpenFOAM. I would like to compare your method (solving laplace equation) with the radial basis functions method.

My questions:
1) Did you ever consider to implement the radial basis function method? From a previous post I conclude that you are aware of this method (you suggest that everyone is using it). If not, why?

2) Will a different motion method be hard to implement. Which classes do I have to modify?

Regards, Frank

hjasak February 21, 2007 08:03

Heya, No, I did not impleme
 
Heya,

No, I did not implement radial basis functions and indeed I know very little about the subject. Basically, if you want to move the mesh in OpenFOAM, all you need to do is to calculate the new point position in any way you like and depending on any parameters you like. Calling mesh.movePoints(newPoints) with you newPoints will give you all the support in motion and discretisation you need further on. Come to think of it, this is really cool! :-)

Thus, you can start just by using radial basis functions in your top-level code to calculate the new point position and you are in business. If you want to pack it further, you cna create a new type of dynamicFvMesh with radial basis function-based motion and using run-time selection.

I'd like to see it when you get it done, as well as learn some theory.

Thanks,

Hrv

lr103476 January 15, 2008 09:20

Dear all, I have a problem
 
Dear all,

I have a problem with the use of mesh subsets in parallel.

Basically I have a developed a library based on subsetMotionSolverFvMesh which generates 2 subsets, one innerMesh and one outerMesh. For both subsets the initial conditions, motion parameters and solver settings are defined in:

/0/motion1Subset
/0/motion2Subset
/constant/motion1Subset
/constant/motion2Subset
/system/motion1Subset
/system/motion2Subset

I define a very high uniform diffusivity on innerMesh and a quadratic inverseDistance diffusivity on the outerMesh, such that the innerMesh moves nicely with the wing !!! It is really working perfect, but not in parallel :-(

The problem is always something like this:
--> FOAM FATAL ERROR : index 1024 out of range 0 ... 87

So the solver is looking outside the subset array......but in serial it works fine!

1) Has someone encountered similar problems ? Any ideas how this can be solved ?

2) Could someone please confirm that fvMeshSubset should work in parallel ?

Thanks and regards,
Frank

mattijs January 15, 2008 12:49

2) It should. Can you recompil
 
2) It should. Can you recompile your application and fvMeshSubset.C with -O0 -g -DFULLDEBUG and produce a traceback?

It helps running the separate processes in separate windows. The mpirunDebug script is one which does this (for local running). Have a look.

lr103476 January 15, 2008 16:37

Where can I find that mpirunDe
 
Where can I find that mpirunDebug script ?

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:45.