CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Running, Solving & CFD

map point Fields in dynamicRefineFvMesh

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   May 14, 2009, 08:52
Default map point Fields in dynamicRefineFvMesh
  #1
New Member
 
Lukas Fischer
Join Date: Mar 2009
Location: Innsbruck, Austria
Posts: 15
Rep Power: 8
lukasfischer is on a distinguished road
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 10:08.
lukasfischer is offline   Reply With Quote

Old   May 14, 2009, 21:52
Default
  #2
Senior Member
 
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 386
Rep Power: 15
deepsterblue will become famous soon enough
Are you calling the updateMesh() routine in the motionSolver after refinement?
__________________
Sandeep Menon
University of Massachusetts Amherst
https://github.com/smenon
deepsterblue is offline   Reply With Quote

Old   August 20, 2009, 13:30
Default
  #3
New Member
 
Lukas Fischer
Join Date: Mar 2009
Location: Innsbruck, Austria
Posts: 15
Rep Power: 8
lukasfischer is on a distinguished road
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
lukasfischer is offline   Reply With Quote

Old   August 20, 2009, 14:24
Default
  #4
Senior Member
 
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 386
Rep Power: 15
deepsterblue will become famous soon enough
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.
__________________
Sandeep Menon
University of Massachusetts Amherst
https://github.com/smenon
deepsterblue is offline   Reply With Quote

Old   August 20, 2009, 19:41
Default
  #5
Senior Member
 
Sandy Lee
Join Date: Mar 2009
Posts: 207
Rep Power: 9
sandy is on a distinguished road
Quote:
Originally Posted by deepsterblue View Post
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.
Hi Sandeep, my version is OF-1.5, do you have some simple methods to call the solver from the OpenFOAM-dev or 1.6. SVN?
sandy is offline   Reply With Quote

Old   August 20, 2009, 20:08
Default
  #6
Senior Member
 
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 386
Rep Power: 15
deepsterblue will become famous soon enough
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.
__________________
Sandeep Menon
University of Massachusetts Amherst
https://github.com/smenon
deepsterblue is offline   Reply With Quote

Old   June 25, 2010, 09:04
Default Combine mesh motion with dynamic mesh refinement
  #7
Member
 
Roland
Join Date: Mar 2009
Location: Netherlands
Posts: 62
Rep Power: 8
sylvester is on a distinguished road
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:
Originally Posted by lukasfischer View Post
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
sylvester is offline   Reply With Quote

Old   June 28, 2010, 08:14
Default
  #8
New Member
 
Lukas Fischer
Join Date: Mar 2009
Location: Innsbruck, Austria
Posts: 15
Rep Power: 8
lukasfischer is on a distinguished road
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!
lukasfischer is offline   Reply With Quote

Old   June 28, 2010, 12:42
Default
  #9
Member
 
Roland
Join Date: Mar 2009
Location: Netherlands
Posts: 62
Rep Power: 8
sylvester is on a distinguished road
Thanks. I'll see if I can make time to give it a go. It would be really nice to have this.
sylvester is offline   Reply With Quote

Old   October 26, 2012, 10:06
Default
  #10
Senior Member
 
mahdi abdollahzadeh
Join Date: Mar 2011
Location: Covilha,Portugal
Posts: 149
Rep Power: 6
mm.abdollahzadeh is on a distinguished road
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();
But I dont know how to map the feilds which have been calculated on the mesh ( not the newMesh) to the mesh which is changed.

Best
Mahdi

Last edited by mm.abdollahzadeh; November 7, 2012 at 07:28.
mm.abdollahzadeh is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Internal walls of zero thickness anger OpenFOAM Native Meshers: blockMesh 21 March 19, 2015 10:21
fluent add additional zones for the mesh file SSL FLUENT 2 January 26, 2008 12:55
Gmsh and samplesurface touf Open Source Meshers: Gmsh, Netgen, CGNS, ... 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 14:19
CFX4.3 -build analysis form Chie Min CFX 5 July 12, 2001 23:19


All times are GMT -4. The time now is 15:49.