|
[Sponsors] |
![]() |
![]() |
#1 |
Member
Alessandro Spadoni
Join Date: Mar 2009
Location: Atlanta, GA
Posts: 65
Rep Power: 17 ![]() |
Hello everyone,
I am trying to write a new solver which includes oddles and the ability to handle moving meshes in OpenFOAM 1.4. I have installed OpenFOAM a week ago, so I'm still trying to understand its innerworkings. Looking at the files icoDyFoam.C and oodles.C the only difference (besides the sgs correction) is fvc:makeAbsolute(phi, U); # include "setDeltaT.H" ... ... bool meshChanged = mesh.update() if (mesh.moving || meshChanged) { # include "correctPhi.H" } fvc::makeRelative(phi, U); # include "UEqn.H" I see that the content of UEqn.H is the representation of the P.D.E that governs the fluid, and in the oodles case is explicitly written in oodles.C. My questions are: -- what are the implications of making the flux absolute? -- is it ok the make the flux absolute and then adjusting it for the mesh motion in oodles? -- has anybody tried this before? are there any pre-compiled cases which include LES and moving mesh capabilities? -- has # include "setDeltaT.H" something to do with making sure that the mesh motion is acceptable? I also experience compiling problems: here is the output that I get after issuing wmake, ----------------------------------------------- spadoni@pc-sc01:~/OpenFOAM/spadoni-1.4/applications/Alexsolvers/movingMeshIncoLES$ wmake SOURCE=movingMeshIncoLES.C ; g++ -m32 -Dlinux -DDP -Wall -Wno-strict-aliasing -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-40 -I/users/spadoni/OpenFOAM/OpenFOAM-1.4/src/LESmodels -I/users/spadoni/OpenFOAM/OpenFOAM-1.4/src/LESmodels/LESdeltas/lnInclude -I/users/spadoni/OpenFOAM/OpenFOAM-1.4/src/transportModels -I/users/spadoni/OpenFOAM/OpenFOAM-1.4/src/dynamicFvMesh/lnInclude -I/users/spadoni/OpenFOAM/OpenFOAM-1.4/src/dynamicMesh/lnInclude -I/users/spadoni/OpenFOAM/OpenFOAM-1.4/src/finiteVolume/lnInclude -I/users/spadoni/OpenFOAM/OpenFOAM-1.4/src/meshTools/lnInclude -I/users/spadoni/OpenFOAM/OpenFOAM-1.4/src/sampling/lnInclude -IlnInclude -I. -I/users/spadoni/OpenFOAM/OpenFOAM-1.4/src/OpenFOAM/lnInclude -fPIC -pthread -c $SOURCE -o Make/linuxGcc4DPOpt/movingMeshIncoLES.o correctPhi.H: In function 'int main(int, char**)': correctPhi.H:31: error: 'rAU' was not declared in this scope make: **[Make/linuxGcc4DPOpt/movingMeshIncoLES.o] Error 1 spadoni@pc-sc01:~/OpenFOAM/spadoni-1.4/applications/Alexsolvers/movingMeshIncoLES$ ------------------------------------------------- I see that correctPhi.H needs the variable rAU which in oodles is declared inside the PISO loop, which follows the above mesh commands (however in icoDyFoam rAU is also declared inside the PISO loop). So I don't understand how this variable is available before the PISO loop in icoDyFoam either. Finally, in trying to get familiar with compiling new solvers I tried turbFoam as suggested in the UserGuide. and this is the output of launching wmake inside app/solvers/incompressible/turbFoam: ------------------------------------------------- spadoni@pc-sc01:~/OpenFOAM/OpenFOAM-1.4/applications/solvers/incompressible/turbFoam$ wmake Making dependency list for source file turbFoam.C SOURCE=turbFoam.C ; g++ -m32 -Dlinux -DDP -Wall -Wno-strict-aliasing -Wextra -Wno-unused-parameter -Wold-style-cast -O3 -DNoRepository -ftemplate-depth-40 -I/users/spadoni/OpenFOAM/OpenFOAM-1.4/src/finiteVolume/lnInclude -I/users/spadoni/OpenFOAM/OpenFOAM-1.4/src/turbulenceModels -I/users/spadoni/OpenFOAM/OpenFOAM-1.4/src/transportModels -IlnInclude -I. -I/users/spadoni/OpenFOAM/OpenFOAM-1.4/src/OpenFOAM/lnInclude -fPIC -pthread -c $SOURCE -o Make/linuxGcc4DPOpt/turbFoam.o /tmp/cct6E8Em.s: Assembler messages: /tmp/cct6E8Em.s:5: Warning: setting incorrect section attributes for .text._ZN4Foam6indentERNS_7OstreamE /tmp/cct6E8Em.s:32: Warning: setting incorrect section attributes for .text._ZN4Foam10incrIndentERNS_7OstreamE .... .... .... tmp/cct6E8Em.s:104064: Error: unknown pseudo-op: `.weakref' /tmp/cct6E8Em.s:104065: Error: unknown pseudo-op: `.weakref' .... .... .... /tmp/cct6E8Em.s:113732: Warning: setting incorrect section attributes for .text.__i686.get_pc_thunk.cx /tmp/cct6E8Em.s:113739: Warning: setting incorrect section attributes for .text.__i686.get_pc_thunk.bx make: *** [Make/linuxGcc4DPOpt/turbFoam.o] Error 1 spadoni@pc-sc01:~/OpenFOAM/OpenFOAM-1.4/applications/solvers/incompressible/turbFoam$ ------------------------------------------------- PLEASE NOTE THAT I ADDED ... .... TO SIGNIFY THAT I GET A LIST OF SIMILAR ERRORS. I saw a posted message which indicated that such errors may be due to outdated binutils.... Is this the cause? Thank you in advance, Alessandro Spadoni |
|
![]() |
![]() |
![]() |
![]() |
#2 |
Member
Alessandro Spadoni
Join Date: Mar 2009
Location: Atlanta, GA
Posts: 65
Rep Power: 17 ![]() |
Hello again,
I am working on a new solver (oodles + moving mesh in OpenFOAM 1.4) as explained in the previous message in this tread. I was able to resolve compilation problems. In the file oodles.C (in application/solvers/DNSandLES) I added the moving mesh calls present in the icoDyMFoam.C file. During the compilation I had no errors or warnings. Nonetheless I still have the following doubts: -- what are the implications of making the flux absolute? -- is it ok the make the flux absolute and then adjusting it for the mesh motion in oodles? -- has anybody tried this before? are there any pre-compiled cases which include LES and moving mesh capabilities? -- has # include "setDeltaT.H" something to do with making sure that the mesh motion is acceptable? Furthermore, my ultimate goal is to simulate a vibrating structure immersed in air. In particular, I've carried out a modal analysis and I have the mode shapes of my structure as nodal displacements. I understand that my fluid mesh is going to be different than the structural mesh, as I will need many more points for the former one. I saw the tread http://www.cfd-online.com/OpenFOAM_D...ges/1/190.html, but it is not clear to me how one would include such file (setBoundaryMotion.H) in a case (inside the directory 0/ for example). Finally, I would like to ask if anybody knows a way to interpolate a displacement field, say the exterior surfaces of a structure, to the boundary patches or nodes of the fluid mesh. In practice, if I were able to map such displacements onto the boundary patches I could then set the boundary motion by multipling such displacements by exp(w*time - phase). I understand there may be no answer or pre-made solver/routine for such case, but I am really stuck, and I was wondering if anybody had any hint or has attempted anything like this. Thank you, Alessandro Spadoni |
|
![]() |
![]() |
![]() |
![]() |
#3 |
Member
Alessandro Spadoni
Join Date: Mar 2009
Location: Atlanta, GA
Posts: 65
Rep Power: 17 ![]() |
Hello again,
This topic may have already been discussed..... From the threads I read though I could get any details on how to manipulate the geometry besides imposing rigid-body motion or a simple sine wave. I would appreciate any hint or link to wiki pages or threads that may deal with this subject. Alessandro Spadoni |
|
![]() |
![]() |
![]() |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Turbulent compressible solver rhoTurbFoam with dynamic moving mesh | eno | OpenFOAM Running, Solving & CFD | 4 | December 12, 2011 03:38 |
Moving mesh problem with a FSI solver | mathieu | OpenFOAM Running, Solving & CFD | 8 | January 25, 2010 09:08 |
Moving Reference frame - UDF - Moving mesh | modisa | FLUENT | 0 | April 18, 2008 13:31 |
Moving mesh forces on patches and turbulence solver | jackdaniels83 | OpenFOAM Running, Solving & CFD | 3 | May 31, 2007 10:29 |
First steps w moving mesh FOAM FATAL ERROR solver table is empty | tehache | OpenFOAM Running, Solving & CFD | 2 | May 14, 2007 04:59 |