CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Mesh Utilities

How to combine dynamic mesh and static mesh

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

Reply
 
LinkBack Thread Tools Display Modes
Old   May 6, 2014, 22:28
Default How to combine dynamic mesh and static mesh
  #1
New Member
 
Chen Yu
Join Date: Sep 2013
Posts: 19
Rep Power: 4
chery1986 is on a distinguished road
Is it possible to combine the dynamic mesh and static mesh in one simulation case?

I want to use dynamic mesh based on dynamicMotionSolverFvMesh according to the prescribed motion of boundary in one part of the computational domain. At the same time, static mesh are wanted in the other side part of the computational domain because I need to use porous material etc. over there.

Is there any solution for my requirement? How shall I define dynamicMeshDict and blockMeshDict? If not possible, is there any alternatives for this problem?
chery1986 is offline   Reply With Quote

Old   May 7, 2014, 14:10
Default
  #2
Senior Member
 
mturcios777's Avatar
 
Marco A. Turcios
Join Date: Mar 2009
Location: Vancouver, BC, Canada
Posts: 727
Rep Power: 18
mturcios777 will become famous soon enough
One possibility is to set the point motion diffusivity to zero in the region you don't want to move.
mturcios777 is offline   Reply With Quote

Old   July 3, 2014, 23:45
Default
  #3
New Member
 
Chen Yu
Join Date: Sep 2013
Posts: 19
Rep Power: 4
chery1986 is on a distinguished road
Thank you, can you provide the method to define different diffusivity coefficients in different regions?

Quote:
Originally Posted by mturcios777 View Post
One possibility is to set the point motion diffusivity to zero in the region you don't want to move.
chery1986 is offline   Reply With Quote

Old   July 4, 2014, 02:00
Default
  #4
New Member
 
Chen Yu
Join Date: Sep 2013
Posts: 19
Rep Power: 4
chery1986 is on a distinguished road
This is the setting I'm using right now, can you give suggestions how to change it?



dynamicFvMesh dynamicMotionSolverFvMesh;

motionSolverLibs ("libfvMotionSolvers.so");

solver velocityLaplacian;

velocityLaplacianCoeffs
{
diffusivity motionDirectional (10 10 0);
}


Quote:
Originally Posted by mturcios777 View Post
One possibility is to set the point motion diffusivity to zero in the region you don't want to move.
chery1986 is offline   Reply With Quote

Old   July 4, 2014, 12:24
Default
  #5
Senior Member
 
mturcios777's Avatar
 
Marco A. Turcios
Join Date: Mar 2009
Location: Vancouver, BC, Canada
Posts: 727
Rep Power: 18
mturcios777 will become famous soon enough
For all motionSolvers, you can change the diffusivity to "file", which is a surfaceScalarField in the constant directory that provides the face diffusivity. You will need to create this yourself. This is your only option if you are using velocityLaplacian.

If you are using displacement motion solvers, you can specify an additional "frozenPointsZone" that is the name of a pointZone for non-moving points. This is probably the easiest, but is restricted to displacement motion solvers.
mturcios777 is offline   Reply With Quote

Old   July 29, 2014, 03:58
Default
  #6
New Member
 
Chen Yu
Join Date: Sep 2013
Posts: 19
Rep Power: 4
chery1986 is on a distinguished road
thanks for your reply

I have switched to displacement motion solvers, but still don't get how to define a frozenPointsZone as you suggested.

Do you mean create a pointZone file in polymesh folder, and define the frozenPointsZone inside of it like

/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.1 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class regIOobject;
location "constant/polyMesh";
object pointZones;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

1
(
frozenPointsZone
{
type pointZone;
pointLabels List<label>
83646
(
48
49
50
51
.......

Or, do you mean create another file named frozenPointsZone under polymesh folder and define the points inside?


Quote:
Originally Posted by mturcios777 View Post
For all motionSolvers, you can change the diffusivity to "file", which is a surfaceScalarField in the constant directory that provides the face diffusivity. You will need to create this yourself. This is your only option if you are using velocityLaplacian.

If you are using displacement motion solvers, you can specify an additional "frozenPointsZone" that is the name of a pointZone for non-moving points. This is probably the easiest, but is restricted to displacement motion solvers.
chery1986 is offline   Reply With Quote

Old   August 5, 2014, 14:14
Default
  #7
Senior Member
 
mturcios777's Avatar
 
Marco A. Turcios
Join Date: Mar 2009
Location: Vancouver, BC, Canada
Posts: 727
Rep Power: 18
mturcios777 will become famous soon enough
You should define the points as a pointZone with whatever name you want them to have, then add the keyword frozenPointsZone to your dynamicMeshDict with the name of pointZone you want frozen.
mturcios777 is offline   Reply With Quote

Old   August 6, 2014, 02:46
Default
  #8
New Member
 
Chen Yu
Join Date: Sep 2013
Posts: 19
Rep Power: 4
chery1986 is on a distinguished road
Thanks you. However, I follow your instructions, but still cannot succeed.

The dynamicMeshDict file is

FoamFile
{
version 2.0;
format binary;
class dictionary;
location "constant";
object dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

//dynamicFvMesh staticFvMesh;

dynamicFvMesh dynamicMotionSolverFvMesh;

motionSolverLibs ("libfvMotionSolvers.so");


solver displacementLaplacian;
displacementLaplacianCoeffs
{
diffusivity inverseDistance (inlet);

}
frozenPointsZone farfield;



The pointZone file is

FoamFile
{
version 2.0;
format ascii;
class regIOobject;
location "constant/polyMesh";
object pointZones;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

1
(
farfield
{
type pointZone;
pointLabels List<label>
83646
(
48
49
50
51
52
53
......

Any further suggestions?

Quote:
Originally Posted by mturcios777 View Post
You should define the points as a pointZone with whatever name you want them to have, then add the keyword frozenPointsZone to your dynamicMeshDict with the name of pointZone you want frozen.
chery1986 is offline   Reply With Quote

Old   August 6, 2014, 12:13
Default
  #9
Senior Member
 
mturcios777's Avatar
 
Marco A. Turcios
Join Date: Mar 2009
Location: Vancouver, BC, Canada
Posts: 727
Rep Power: 18
mturcios777 will become famous soon enough
You need to put the frozenPointsZone inside the displacementLaplacianCoeffs, as that is where the solver is looking for it. Try that and let me know if there are any error messages.
mturcios777 is offline   Reply With Quote

Old   August 7, 2014, 04:47
Default
  #10
New Member
 
Chen Yu
Join Date: Sep 2013
Posts: 19
Rep Power: 4
chery1986 is on a distinguished road
the interDyMFoam is still running as the frozenPointsZone has not been defined

Quote:
Originally Posted by mturcios777 View Post
You need to put the frozenPointsZone inside the displacementLaplacianCoeffs, as that is where the solver is looking for it. Try that and let me know if there are any error messages.
chery1986 is offline   Reply With Quote

Old   August 7, 2014, 12:09
Default
  #11
Senior Member
 
mturcios777's Avatar
 
Marco A. Turcios
Join Date: Mar 2009
Location: Vancouver, BC, Canada
Posts: 727
Rep Power: 18
mturcios777 will become famous soon enough
Sorry, I think I was unclear. Your dictionary should look like:

Code:
FoamFile
{
version 2.0;
format binary;
class dictionary;
location "constant";
object dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

//dynamicFvMesh staticFvMesh;

dynamicFvMesh dynamicMotionSolverFvMesh;

motionSolverLibs ("libfvMotionSolvers.so");


solver displacementLaplacian;
displacementLaplacianCoeffs
{
diffusivity inverseDistance (inlet);
frozenPointsZone farfield;
}
mturcios777 is offline   Reply With Quote

Old   August 8, 2014, 01:37
Default
  #12
New Member
 
Chen Yu
Join Date: Sep 2013
Posts: 19
Rep Power: 4
chery1986 is on a distinguished road
I believe that is exactly what I have done

FoamFile
{
version 2.0;
format binary;
class dictionary;
location "constant";
object dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

//dynamicFvMesh staticFvMesh;
dynamicFvMesh dynamicMotionSolverFvMesh;
motionSolverLibs ("libfvMotionSolvers.so");

solver displacementLaplacian;
displacementLaplacianCoeffs
{
diffusivity inverseDistance (inlet);
frozenPointsZone farfield;
}

The simulation runs smoothly, but the points hasn't been frozen.


Quote:
Originally Posted by mturcios777 View Post
Sorry, I think I was unclear. Your dictionary should look like:

Code:
FoamFile
{
version 2.0;
format binary;
class dictionary;
location "constant";
object dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

//dynamicFvMesh staticFvMesh;

dynamicFvMesh dynamicMotionSolverFvMesh;

motionSolverLibs ("libfvMotionSolvers.so");


solver displacementLaplacian;
displacementLaplacianCoeffs
{
diffusivity inverseDistance (inlet);
frozenPointsZone farfield;
}
chery1986 is offline   Reply With Quote

Old   August 8, 2014, 12:32
Default
  #13
Senior Member
 
mturcios777's Avatar
 
Marco A. Turcios
Join Date: Mar 2009
Location: Vancouver, BC, Canada
Posts: 727
Rep Power: 18
mturcios777 will become famous soon enough
That's odd. If you turn on the debug option for fvMotionSolvers in the global controlDict, you should get a message that re-states the motionsolver diffusivity and frozenPointsZone. Can you tell me what message you get with the debug option activated?
mturcios777 is offline   Reply With Quote

Old   October 18, 2014, 23:14
Default
  #14
New Member
 
Wang Xiuting
Join Date: May 2014
Location: Tianjin,CHN
Posts: 4
Rep Power: 3
wxtwalkee is on a distinguished road
I did exactly as you have done, and the mesh points still moved. So I want know whether you have solved this problem.
Thank U.
wxtwalkee 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
sliding mesh problem in CFX Saima CFX 45 September 22, 2015 10:53
Dynamic mesh is not getting updated. cardio FLUENT 1 May 20, 2014 08:41
dynamic mesh with solution depended Detian Liu OpenFOAM Programming & Development 0 February 27, 2014 08:41
How to know mesh size after dynamic refinement tayo OpenFOAM 16 May 22, 2013 13:39
Use mesh motion to introduce angle for static simulation dancfd OpenFOAM Running, Solving & CFD 1 November 18, 2010 20:15


All times are GMT -4. The time now is 13:12.