|
[Sponsors] |
![]() |
![]() |
#1 |
New Member
Lukas Fischer
Join Date: Mar 2009
Location: Innsbruck, Austria
Posts: 15
Rep Power: 18 ![]() |
We are trying to combine the mesh motion solvers (velocityLaplacian, ...) with dynamic mesh refinement in openfoam 1.5. All volVectorFields get correctly mapped to the refined mesh, but the pointMotionU or pointDisplacement Fields are omitted, so at the second timestep the motion solver complains about patch fields not corresponding to meshPoints.Field sizes.
What is the right way to include pointScalarFields and pointVectorFields in the mapping process? Thanks, Lukas Last edited by lukasfischer; May 14, 2009 at 11:08. |
|
![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 403
Rep Power: 26 ![]() |
Are you calling the updateMesh() routine in the motionSolver after refinement?
|
|
![]() |
![]() |
![]() |
![]() |
#3 |
New Member
Lukas Fischer
Join Date: Mar 2009
Location: Innsbruck, Austria
Posts: 15
Rep Power: 18 ![]() |
Yes, after refinement I am calling motionPtr_->updateMesh(map) but internal and boundary fields of pointMotionUx are not updated.
I also added const pointMeshMapper m(pointMesh::New(*this), meshMap); MapGeometricFields<scalar, pointPatchField, pointMeshMapper, pointMesh>(m); in fvMesh::MapFields method which is invoked by updateMesh(map) of in the refine method. If I call the pointMotionUx.boundaryField().updateCoeffs() after refinement i get a SEG FAULT while calling patch().meshPoints() in pointPatchField::setInInternalField method. Any suggestions what is wrong there? regards lukas |
|
![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 403
Rep Power: 26 ![]() |
I tend to believe that the fvMotionSolvers are broken as far as topology changes are concerned. I would suggest that you try using the tetDecomposition motion solvers from the openFOAM-dev SVN. I have tested those with topology changes, and they work just fine.
|
|
![]() |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Sandy Lee
Join Date: Mar 2009
Posts: 213
Rep Power: 19 ![]() |
Quote:
|
||
![]() |
![]() |
![]() |
![]() |
#6 |
Senior Member
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 403
Rep Power: 26 ![]() |
Not entirely sure what you mean. Are you talking about linking to the tetDecomposition motion solvers from the vanilla openCFD release? If so, I guess that's not possible.
I would suggest checking-out the existing OF-1.5-dev version. You can browse the repositories here: http://openfoam-extend.svn.sourceforge.net/ The tutorials contain examples about linking to the motion solver. |
|
![]() |
![]() |
![]() |
![]() |
#7 | |
Member
Roland
Join Date: Mar 2009
Location: Netherlands
Posts: 95
Rep Power: 18 ![]() |
Hi Lukas,
Were you able to combine mesh motion with dynamic mesh refinement? I am trying this as well by combining the dynamicMotionSolverFvMesh and dynamicRefineFvMesh classes. Is this also what you did? I am not really getting anywhere and I would really appreciate some help on this. regards, Sylvester Quote:
|
||
![]() |
![]() |
![]() |
![]() |
#8 |
New Member
Lukas Fischer
Join Date: Mar 2009
Location: Innsbruck, Austria
Posts: 15
Rep Power: 18 ![]() |
No sorry, we tracked down the problem and I think we found out, that something like the interpolation of point fields between mesh changes is not implemented, tried to get it work by calculating the values with some functions that make a point field from a vol field, since they are updated correctly, but messed up somewhere... Maybe you will be more successful than we were, good luck!
|
|
![]() |
![]() |
![]() |
![]() |
#9 |
Member
Roland
Join Date: Mar 2009
Location: Netherlands
Posts: 95
Rep Power: 18 ![]() |
Thanks. I'll see if I can make time to give it a go. It would be really nice to have this.
|
|
![]() |
![]() |
![]() |
![]() |
#10 |
Senior Member
mahdi abdollahzadeh
Join Date: Mar 2011
Location: Covilha,Portugal
Posts: 153
Rep Power: 16 ![]() |
Dear All
Could you give me your opinion on how to map field? I am trying to add Mesh refinment to my code using multiDirRefinement. The code is doing the refinment on newMesh which is at the begining the same as mesh . then with changemesh the mesh is changed according to newMesh. Code:
multiDirRefinement multiRef(newMesh, refCells, refineDict); polyTopoChange meshMod(newMesh); autoPtr<mapPolyMesh> morphMapPtr = meshMod.changeMesh(mesh, false, true); const mapPolyMesh& morphMap = morphMapPtr(); Best Mahdi Last edited by mm.abdollahzadeh; November 7, 2012 at 07:28. |
|
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
[blockMesh] Internal walls of zero thickness | anger | OpenFOAM Meshing & Mesh Conversion | 23 | February 6, 2020 19:25 |
fluent add additional zones for the mesh file | SSL | FLUENT | 2 | January 26, 2008 12:55 |
[Gmsh] Gmsh and samplesurface | touf | OpenFOAM Meshing & Mesh Conversion | 2 | December 10, 2007 03:27 |
How can we use the point patch fields given in OpenFOAM141srcfvMotionSolverpointPatchFieldsderived | jaswi | OpenFOAM Running, Solving & CFD | 0 | August 17, 2007 15:19 |
CFX4.3 -build analysis form | Chie Min | CFX | 5 | July 13, 2001 00:19 |