Coupling two unequal dimension meshes.
I am trying to couple two different meshes with each other which are of different dimensions but this doesnt work .
Mesh 1 is 7x5x1 units
Mesh 2 is 5x5x1 units
Mesh 2 will be the all the center at the mesh 1 with leaving one unit length on each side.
I am trying to solve a heat transfer between. But as the total control volumes are different the computation doesnt run
I have tried meshTOMesh tool evenbut this doesnt work.
Then , I have tried to use mesh 2 of the same size as mesh 1 then it works
For this reason i have used a baffle to the mesh2 which is now geometrically equal as mesh 1 but i am found with error of declaration in compressible baffle.
As i have used the same case in incompressible with baffles and it works How is the compressible baffle different from the incompressible case.
Question 1 : Can some body tell me how can i merge( just to place mesh2 at center of mesh1 but not real merging) two meshes with different dimensions ?
Question2 : What is a better way to use a baffle for a compressible flow which doesnt belong to fluid mesh?
But the same case works when i dont create baffles and gives me approximately what i want. But i need to create baffles
Thank you in Advance
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 fluid mesh and solid mesh you mentioned before.
Thanks a billion.
Actually you need to make everything a double set in your solver. Velocity, Temp, Mesh, Transport properties etc.
When you actually see the .C file of the solver, you find a createmesh.H you can copy it twice naming the other mesh as mesh2 for example and its file as for eg: createmesh2.H then the fields in this mesh are renamed .
In this way you can make this possible
Hint : But if the meshes are overlapping meshes see this cell refinement on the overlapping zone is the same.
All the best
Thank you for the quick and detailed reply. I will try to realize it immediately.
I am still have a little confusion, when I add createMesh.H twice in .C like this:
It seems both createMesh.H and createMesh2.H only read the mesh from /constant/polyMesh/, still create the same mesh. So what parameters I have to modify to make different .H read mesh from different file, so that they could create different mesh. Is that ture to modify Foam::fvMesh::defaultRegion? Or I have to create different blocks in blockMeshDict?
<< "Create mesh for time = "
<< runTime.timeName() << Foam::nl << Foam::endl;
Thanks again for all the help!
I have already fixed the problem with the "region" option.
Thank you for the help!
As i told you before. You need to create new mesh and also its new fields eg : new flux (phi), vector and scalar fields. infact a complete set of all variables should be created in a new create fields files. And also New Ueqn, Teqn, Peqn should be created with governing equations. and then they need to be implemented and included in the solver.C file.
chtmultiregionfoam is a standard solver which is similar of this kind. look into it in heattransfer folder of standard solvers.
You will get an idea
All the best
|All times are GMT -4. The time now is 16:00.|