CFD Online Logo CFD Online URL
Home > Forums > OpenFOAM Programming & Development

Mapping values from 2D mesh to 3D mesh boundary during runtime

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

LinkBack Thread Tools Display Modes
Old   May 3, 2012, 13:51
Default Mapping values from 2D mesh to 3D mesh boundary during runtime
Senior Member
Ben K
Join Date: Feb 2010
Location: Ottawa, Canada
Posts: 140
Rep Power: 10
benk is on a distinguished road
Hi all, I'm making a model that has 2 meshes: a 2D mesh and a 3D mesh. The 3D mesh is identical to the 2D mesh in all dimensions except that it extends into the z-direction.

During runtime, I need to map values from the 2D mesh onto a boundary of the 3D mesh because they are coupled. The dimensions of the 3D boundary that I'm trying to map onto is exactly the same as the 2D mesh.

What is the easiest/best way of doing this?

Since this is just a 1:1 mapping, I thought that this would be relatively easy by just looping over the boundary values of the 3D mesh, something like this:

label frontWall = mesh3D.boundaryMesh().findPatchID("frontWall");
fixedValueFvPatchScalarField& faceValues = refCast<fixedValueFvPatchScalarField>(Cvalues_3D.boundaryField()[frontWall]);
scalarField& Cvalues_3D_boundary = faceValues; //this selects the boundary values on the 3D mesh

Cvalues_3D_boundary[i] = Cvalues_2D[i]; //where Cvalues_2D are the values on the 2D mesh that I want mapped onto the 3D mesh boundary
The problem that I have with the above code is that the 3D boundary values are sorted in a different order than the 2D values. For example, in the forAll loop i the code above, I've found that Cvalues_3D_boundary[1] should actually be equal to Cvalues_2D[100].

Is there another way to map values between meshes during runtime?
benk is offline   Reply With Quote

Old   June 13, 2014, 02:39
New Member
Detian Liu
Join Date: Mar 2013
Location: Beijing, P.R.China
Posts: 20
Rep Power: 4
Detian Liu is on a distinguished road
Dear Ben,
I am recently studying about the mesh mapping, I have a simple question, and hope get some help from you. That is how to create 2 different meshes in one case, such as mesh3D and mesh 2D you mentioned before.
Thanks a billion.

Detian Liu is offline   Reply With Quote


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
Moving mesh Niklas Wikstrom (Wikstrom) OpenFOAM Running, Solving & CFD 122 June 15, 2014 06:20
[ICEM] Hybrid mesh for 2D boundary layer Bigio ANSYS Meshing & Geometry 32 January 9, 2014 11:26
CFX does not continue Shafiul CFX 10 February 17, 2011 08:57
Concentric tube heat exchanger (Air-Water) Young CFX 5 October 6, 2008 23:17
Import gmsh msh to Foam adorean Open Source Meshers: Gmsh, Netgen, CGNS, ... 24 April 27, 2005 08:19

All times are GMT -4. The time now is 22:50.