CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Programming & Development (http://www.cfd-online.com/Forums/openfoam-programming-development/)
-   -   regionCouple problem (http://www.cfd-online.com/Forums/openfoam-programming-development/116729-regioncouple-problem.html)

SamerAli April 24, 2013 03:38

regionCouple problem
 
Hi all
I am trying to merge conjugate heat foam with a fluid structure interaction solver in order to calculate the temperature field in a fluid and a solid region, however when i run my case i get the following error:

Create time

Create dynamic mesh for time = 0

Selecting dynamicFvMesh dynamicMotionSolverFvMesh
Selecting motion solver: laplaceFaceDecomposition


--> FOAM FATAL ERROR:
Unknown faceTetPolyPatchFaceDecomp type regionCouple. Valid faceTetPolyPatchFaceDecomp types are :

7
(
wall
processor
wedge
patch
empty
ggi
symmetryPlane
)


From function faceTetPolyPatchFaceDecomp::New(const polyPatch&, const tetPolyBoundaryMeshFaceDecomp&)
in file tetPolyMeshFaceDecomp/tetPolyPatches/faceTetPolyPatch/newFaceTetPolyPatchFaceDecomp.C at line 59.

FOAM exiting

Anyone have any hints please?

Best regards

wyldckat April 26, 2013 20:35

Greetings Samer,

Without knowing what steps you've taken and which OpenFOAM version/variant you're using, it's very difficult to help you.

My best bet would be that you haven't properly analysed/studied each one of the solvers you're basing yourself on and that you are not taking into account the need to:
  • link to the right libraries;
  • include the right headers;
  • reference and use the right objects/classes;
  • load the right additional libraries at run-time.
Best regards,
Bruno

ngj April 27, 2013 04:01

Hi Samer,

The reason that you are running into problems are that you are using the tetFem-mesh motion solver from 1.6-ext. This solver does not have the a boundary type "regionCouple".

You should be able begin with the use of other mesh solvers, which solves the motion on the cell centres. Since they rely on the finite volume discretisation and as do your region-coupled model, then these type of mesh motion solvers should work in your case.

What I mean by other mesh solvers are those that do not originate from the tetFem framework.

Kind regards

Niels

SamerAli April 27, 2013 17:23

Hi Niels

I am sorry that i am new to openfoam, in the fluid/system file there is a tetFemsolution and it sets the mesh motion using the Fe, how could i change this file to set it to a fvsolver?
in the movefluidmesh.H file there is:
if (feMotionSolver){
.....
}
else if (fvMotionSolver)
{
}
so how can i change this to use a fv motion solver?do you have an idea about a fv solver that supports the regionCouple condition?

Thank you in advance

SamerAli April 27, 2013 17:29

hello Bruno

I am using OpenFoam 1.6 ext, and i am implementing that temperature coupling in a fluid structure interaction that simulations a fluid flow in a channel with an elastic Flap downstream of the flow, and i need to write the temperature coupling at the interface fluid-solid, but i don't know what to do since i am new to openFoam.
I tried so far to implement the solveEnergy.H in the FSI loop:
coupledFvScalarMatrix TEqns(2);

// Add fluid equation
TEqns.set
(
0,
new fvScalarMatrix
(
fvm::ddt(T)
+ fvm::div(phi, T)
- fvm::laplacian(DT, T)
)
);

// Add solid equation
TEqns.set
(
1,
new fvScalarMatrix
(
fvm::ddt(Tsolid) - fvm::laplacian(DTsolid, Tsolid)
)
);

TEqns.solve();

and I specified T initial condition as regionCoupling, and the boundary for the flap as regionCouple, and i got the following error. I hope this helps, anymore requested information i will tell you about it.

Best regards

wyldckat April 28, 2013 05:23

Greetings to all!

@Samer: There are two types of solvers you can study to figure out what you need:
  • The purely coupled ones, located at 1.6-ext's "applications/solvers/coupled" folder; run the following command to see where they are:
    Code:

    echo $WM_PROJECT_DIR/applications/solvers/coupled
  • The weak-coupled ones (I can't remember the correct term), located at "applications/solvers/heatTransfer/chtMultiRegion*":
    Code:

    echo $WM_PROJECT_DIR/applications/heatTransfer/chtMultiRegion*
From Niels description, I'm guessing that it's better to start with the weak-coupled ones, which AFAIK do not use (nor need ?) explicit region-coupling for transferring information from one side to the other.

Best regards,
Bruno

SamerAli April 29, 2013 04:08

Greetings to all

I merged the MRconjugateHeatFoam solver with the fluid structure interaction solver, and i set the neighbour region as fluid for the solid boundary conditions and the neighbour region to solid in the fluid boundary conditions. However i get this error whenever i run the simulation:
--> FOAM FATAL ERROR:

request for fvMesh fluid from objectRegistry fluid failed
available objects of type fvMesh are

2
(
region0
solid
)

why it doesn't see the fluid neighbour region??

ngj April 29, 2013 04:32

Hi Samer,

One of the meshes are (always?) called region0, at least if you partly rely on the standard creation files for one of the meshes. This means that your fluid mesh is called region0 in your simulation.

Kind regards,

Niels

SamerAli April 29, 2013 04:37

Hi Niels

The thing is conjugate heat foam case has a different file structure than my case, as there is the directory 0 and inside it there is subdirectories fluid and solid, whereas my fluid structure interaction case, has a fluid and solid directory and inside the fluid directory there's time step subdirectories, could this have an influence on the result or the simulation?

ngj April 29, 2013 04:49

It is impossible to say without the source code. However, I suspect that the fluid mesh has been created by a call to createFvMesh.H or createDynamicFvMesh.H.

These files will create a fluid mesh, which is called region0, why your file structure must obey to this.

/ Niels

SamerAli April 29, 2013 04:57

hi Niels
would you like to send the code with the test case?, because the temperature residual are fine, but when it comes to compute the heat flux residuals it always say in the simulation that it is equal to 0 even there is some difference between the heat on the fluid patch and the heat on the solid patch.

ngj April 29, 2013 05:03

Hi Samer,

I do unfortunately not have the time to go through your source code.

Kind regards and good luck

Niels


All times are GMT -4. The time now is 10:32.