CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Programming & Development (https://www.cfd-online.com/Forums/openfoam-programming-development/)
-   -   chtIcoMultiRegionFoam - Incompressible version of chtMultiRegionFoam. (https://www.cfd-online.com/Forums/openfoam-programming-development/81746-chticomultiregionfoam-incompressible-version-chtmultiregionfoam.html)

stevenvanharen January 26, 2011 03:03

Hi all,

I have set up my mesh as follows:

Code:

Fluid_to_Solid
    {
        type            directMappedWall;
        nFaces          50;
        startFace      825;
        sampleMode      nearestPatchFace;
        sampleRegion    Solid;
        samplePatch    Solid_to_Fluid;
        offset          (0 0 0);
    }

And the initial condition as:

Code:

Fluid_to_Solid
    {
        type            compressible::turbulentTemperatureCoupledBaffle;
        value          uniform 300;
        neighbourFieldName T;
        K              K;
    }

Is this correct? I have a feeling the error I get is coming from how I set this interface up.

Any help will be appreciated.

Regards,

Steven

stevenvanharen January 26, 2011 05:07

Changed the initial condition for T to:

Code:

Fluid_to_Solid
    {
      type  solidWallMixedTemperatureCoupled;   
        value          uniform 300;
        neighbourFieldName T;
        K              K;
    }

Now it seems to be working, is this also what you guys use?

Canesin January 26, 2011 09:11

compressible::turbulentTemperatureCoupledBaffle;

This turbulent BC is not used in the solver.. if you look at the code it use other turbulent library... The solver was developed for laminar cases, turbulence was added for public release, but no correct treatment of the conjugated heat transfer is present in OpenFOAM turbulence libraries, so using the one that you used (the mixedtemperaturecoupled) is the right way to do coupling, also having an fine mesh around the solid surfaces helps a lot in increasing the quality of the simulation

stevenvanharen January 26, 2011 09:30

Thanks for you reply. Now I am sure about the coupling.

I am going to do DNS so I am not bothered with turbulence modelling or wall functions.

Thanks again for sharing your work.

sixwp March 17, 2011 05:55

Quote:

Originally Posted by phsieh2005 (Post 282920)
Hi, Fábio,

I made some more changes. Now the case is running. This is the same case in the OF-1.7.x/snappyMultiRegionHeater. I will check if the results are reasonable when the run completes.
Pei

Hi Pei,

What change did you make to resolve
Code:

--> FOAM FATAL ERROR:

    request for uniformDimensionedVectorField g from objectRegistry bottomAir failed
    available objects of type uniformDimensionedVectorField are

0
(
)

?
Is there something to do with the code (hopefully not...) or is it located in the directories?

Thanks
Have a nice day/evening/night (depending on where you are :D)

Daniele111 March 17, 2011 07:23

Hi all
Your solver is very usefull. Have you a test case? To see necessary dict? Also a simple case.

Thanks

Daniele111 March 24, 2011 12:18

Hi
In my test case I have this error:

Create time

Create fluid mesh for region Fluido for time = 0

Create solid mesh for region Solido for time = 0

*** Reading fluid mesh thermophysical properties for region Fluido

Adding to KFluid

Adding to TFluid

Adding to pFluid

Adding to UFluid

Adding to phiFluid

Adding to thermoFluid

Selecting incompressible transport model Newtonian
Adding to turbulence

Selecting turbulence model type laminar
*** Reading solid mesh thermophysical properties for region Solido

Adding to rhos

Adding to cps

Adding to Ks

Adding to Ts

Region: Fluido Courant Number mean: 0 max: 2.00134
Region: Solido Diffusion Number mean: 1.528169e-05 max: 3.332232e-05
deltaT = 0.2498326
Region: Fluido Courant Number mean: 0 max: 5
Region: Solido Diffusion Number mean: 3.817864e-05 max: 8.325001e-05
deltaT = 0.2498326
Time = 0.249833


Solving for fluid region Fluido


--> FOAM FATAL ERROR:
incompatible dimensions for operation
[U[0 1 -2 0 0 0 0] ] == [-grad(p)[1 -2 -2 0 0 0 0] ]

From function checkMethod(const fvMatrix<Type>&, const GeometricField<Type, fvPatchField, volMesh>&)
in file /home/acconcia/OpenFOAM/OpenFOAM-1.6.x/src/finiteVolume/lnInclude/fvMatrix.C at line 1219.

FOAM aborting

#0 Foam::error::printStack(Foam::Ostream&) in "/home/acconcia/OpenFOAM/OpenFOAM-1.6.x/lib/linuxGccDPOpt/libOpenFOAM.so"
#1 Foam::error::abort() in "/home/acconcia/OpenFOAM/OpenFOAM-1.6.x/lib/linuxGccDPOpt/libOpenFOAM.so"
#2 void Foam::checkMethod<Foam::Vector<double> >(Foam::fvMatrix<Foam::Vector<double> > const&, Foam::DimensionedField<Foam::Vector<double>, Foam::volMesh> const&, char const*) in "/home/acconcia/OpenFOAM/acconcia-1.6.x/applications/bin/linuxGccDPOpt/chtIcoMultiRegionFoam"
#3
in "/home/acconcia/OpenFOAM/acconcia-1.6.x/applications/bin/linuxGccDPOpt/chtIcoMultiRegionFoam"
#4
in "/home/acconcia/OpenFOAM/acconcia-1.6.x/applications/bin/linuxGccDPOpt/chtIcoMultiRegionFoam"
#5 __libc_start_main in "/lib/tls/i686/cmov/libc.so.6"
#6
in "/home/acconcia/OpenFOAM/acconcia-1.6.x/applications/bin/linuxGccDPOpt/chtIcoMultiRegionFoam"




How can I solve it?

Thanks

sabin.ceuca March 24, 2011 12:27

Ciao Daniele,
you have to check your pEqn.H because it looks like you have added a new term that does not have the right dimension!
You have something with kg/m that is not coherent with the dimensions of the momentum eq.
Hope it helps,

Daniele111 March 24, 2011 12:50

Yes my previus post is wrong my error is this sorry :)

Create time

Create fluid mesh for region Fluido for time = 0

Create solid mesh for region Solido for time = 0

*** Reading fluid mesh thermophysical properties for region Fluido

Adding to KFluid

Adding to TFluid

Adding to pFluid

Adding to UFluid

Adding to phiFluid

Adding to thermoFluid

Selecting incompressible transport model Newtonian
Adding to turbulence

Selecting turbulence model type laminar
*** Reading solid mesh thermophysical properties for region Solido

Adding to rhos

Adding to cps

Adding to Ks

Adding to Ts

Region: Fluido Courant Number mean: 0 max: 2.00134
Region: Solido Diffusion Number mean: 1.528169e-05 max: 3.332232e-05
deltaT = 0.2498326
Region: Fluido Courant Number mean: 0 max: 5
Region: Solido Diffusion Number mean: 3.817864e-05 max: 8.325001e-05
deltaT = 0.2498326
Time = 0.249833


Solving for fluid region Fluido
DILUPBiCG: Solving for Ux, Initial residual = 1, Final residual = 4.067041e-06, No Iterations 1
DILUPBiCG: Solving for Uy, Initial residual = 1, Final residual = 3.773002e-06, No Iterations 1
DILUPBiCG: Solving for Uz, Initial residual = 1, Final residual = 5.093329e-07, No Iterations 1
DILUPBiCG: Solving for T, Initial residual = 1, Final residual = 3.398608e-07, No Iterations 1
max(T) [0 0 0 1 0 0 0] 955.9357


--> FOAM FATAL ERROR:

request for uniformDimensionedVectorField g from objectRegistry Fluido failed
available objects of type uniformDimensionedVectorField are

0
(
)


From function objectRegistry::lookupObject<Type>(const word&) const
in file /home/acconcia/OpenFOAM/OpenFOAM-1.6.x/src/OpenFOAM/lnInclude/objectRegistryTemplates.C at line 140.

FOAM aborting

#0 Foam::error::printStack(Foam::Ostream&) in "/home/acconcia/OpenFOAM/OpenFOAM-1.6.x/lib/linuxGccDPOpt/libOpenFOAM.so"
#1 Foam::error::abort() in "/home/acconcia/OpenFOAM/OpenFOAM-1.6.x/lib/linuxGccDPOpt/libOpenFOAM.so"
#2 Foam::Ostream& Foam::operator<< <Foam::error>(Foam::Ostream&, Foam::errorManip<Foam::error>) in "/home/acconcia/OpenFOAM/acconcia-1.6.x/applications/bin/linuxGccDPOpt/chtIcoMultiRegionFoam"
#3 Foam::UniformDimensionedField<Foam::Vector<double> > const& Foam::objectRegistry::lookupObject<Foam::UniformDi mensionedField<Foam::Vector<double> > >(Foam::word const&) const in "/home/acconcia/OpenFOAM/OpenFOAM-1.6.x/lib/linuxGccDPOpt/libfiniteVolume.so"
#4 Foam::buoyantPressureFvPatchScalarField::updateCoe ffs() in "/home/acconcia/OpenFOAM/OpenFOAM-1.6.x/lib/linuxGccDPOpt/libfiniteVolume.so"
#5 Foam::fvMatrix<double>::fvMatrix(Foam::GeometricFi eld<double, Foam::fvPatchField, Foam::volMesh>&, Foam::dimensionSet const&) in "/home/acconcia/OpenFOAM/OpenFOAM-1.6.x/lib/linuxGccDPOpt/libincompressibleRASModels.so"
#6 Foam::fv::gaussLaplacianScheme<double, double>::fvmLaplacianUncorrected(Foam::GeometricFi eld<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&) in "/home/acconcia/OpenFOAM/OpenFOAM-1.6.x/lib/linuxGccDPOpt/libfiniteVolume.so"
#7 Foam::fv::gaussLaplacianScheme<double, double>::fvmLaplacian(Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&) in "/home/acconcia/OpenFOAM/OpenFOAM-1.6.x/lib/linuxGccDPOpt/libfiniteVolume.so"
#8 Foam::fv::laplacianScheme<double, double>::fvmLaplacian(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&) in "/home/acconcia/OpenFOAM/OpenFOAM-1.6.x/lib/linuxGccDPOpt/libfiniteVolume.so"
#9 Foam::tmp<Foam::fvMatrix<double> > Foam::fvm::laplacian<double, double>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&, Foam::word const&) in "/home/acconcia/OpenFOAM/acconcia-1.6.x/applications/bin/linuxGccDPOpt/chtIcoMultiRegionFoam"
#10 Foam::tmp<Foam::fvMatrix<double> > Foam::fvm::laplacian<double, double>(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&) in "/home/acconcia/OpenFOAM/acconcia-1.6.x/applications/bin/linuxGccDPOpt/chtIcoMultiRegionFoam"
#11
in "/home/acconcia/OpenFOAM/acconcia-1.6.x/applications/bin/linuxGccDPOpt/chtIcoMultiRegionFoam"
#12 __libc_start_main in "/lib/tls/i686/cmov/libc.so.6"
#13
in "/home/acconcia/OpenFOAM/acconcia-1.6.x/applications/bin/linuxGccDPOpt/chtIcoMultiRegionFoam"

Daniele111 March 26, 2011 15:08

Hi
How can I resolve this problem:

FOAM FATAL ERROR
request for uniformDimensionedVectorField g from objectRegistry Fluido failed
available objects of type uniformDimensionedVectorField are

?????????????????

Thanks

sixwp April 4, 2011 09:05

Hi Daniele,

I had exactly the same problem (with icoFoam but anyway, still). I just managed to solve it.

In my case, the BC were the problems. For, p I had buoyantPressure BC for a wall and it wasn't fitted for icoFoam (with a zeroGradient, it's fine).
I will suggest to have a look at your BC, carefully!

Hope that can help you

sixwp April 15, 2011 07:58

Me again!

Has anyone created a tutorial or have a running case with chtIcoMultiRegionFoam?

Something must be wrong with the case I try to run. All I've got is:
Code:

Region: v_fluid Courant Number mean: 0 max: 925.786412
Region: v_solid Diffusion Number mean: 0.00805877817 max: 0.0110466663
Region: domain0 Diffusion Number mean: 0.00807993205 max: 0.0110468266
Region: domain2 Diffusion Number mean: 0.00807993206 max: 0.0110468266
Time = 666

ExecutionTime = 1.84 s  ClockTime = 2 s

Region: v_fluid Courant Number mean: 0 max: 925.786412
Region: v_solid Diffusion Number mean: 0.00805877817 max: 0.0110466663
Region: domain0 Diffusion Number mean: 0.00807993205 max: 0.0110468266
Region: domain2 Diffusion Number mean: 0.00807993206 max: 0.0110468266
Time = 667

ExecutionTime = 1.84 s  ClockTime = 2 s

nothing actually runs...

Any hints where it can come from?
(I don't join my case but if necessary I will)

Jean El-Hajal May 30, 2011 18:02

Hi,

(already wrote it in an another post but maybe someone is also interested here)

I had a problem with chtIcoMultiRegionFoam compilation with 1.7.x

In the file:

chtIcoMultiRegionFoam/derivedFvPatchFields/solidWallMixedTemperatureCoupled/solidWallMixedTemperatureCoupledFvPatchScalarField .C

just add #include "mapDistribute.H" like this:


#include "solidWallMixedTemperatureCoupledFvPatchScalar Fiel d.H"
#include "addToRunTimeSelectionTable.H"
#include "fvPatchFieldMapper.H"
#include "volFields.H"
#include "directMappedPatchBase.H"
#include "mapDistribute.H"
#include "regionProperties.H"

maybe could help someone.

Jean

NicolasB May 31, 2011 05:58

Hi,
Thank you for sharing this solver.
Unfortunately, I'm not able to set up my case using it: I've copied the chtMultiRegionFoam tutorial and changed the mesh and the BCs. But it seems I've missed something.
Has anybody got a simple running case, so that I'll see how to do?

Best regards,
Nicolas.

mirko June 1, 2011 14:59

1 Attachment(s)
Quote:

Originally Posted by NicolasB (Post 309913)
Hi,
Thank you for sharing this solver.
Unfortunately, I'm not able to set up my case using it: I've copied the chtMultiRegionFoam tutorial and changed the mesh and the BCs. But it seems I've missed something.
Has anybody got a simple running case, so that I'll see how to do?

Best regards,
Nicolas.

Hi Nicolas,

I recently generated a few elementary test cases with this solver. I include them in the attaced file.

I welcome suggestions, corrections, ...

Mirko

NicolasB June 8, 2011 03:58

Hi Mirko,
thank you very much for these cases.

I still have to work on this solver since I'm not able to set up a steadyState case including 1 fluid and 2 solids. But maybe it's quite normal see that the two cases with fluids you shared are transient. Am I mistaking?

And once again, thanks for the work.

Nicolas

mirko June 8, 2011 08:40

Quote:

Originally Posted by NicolasB (Post 311000)
Hi Mirko,
thank you very much for these cases.

I still have to work on this solver since I'm not able to set up a steadyState case including 1 fluid and 2 solids. But maybe it's quite normal see that the two cases with fluids you shared are transient. Am I mistaking?

And once again, thanks for the work.

Nicolas

Hi Nicolas,

I set-up the fluid/fluid to model a heat exchanger.

I have not tried setting up a steady-state case. That is something I need to get familiar with. I would suggest that you make sure you know how to solve steady state case of a pure incompressible solver (i.e., single region problem), before trying it with this one.

As for fluid/solid, I should have included that too. It should not be difficult. The same temperature conditions should apply, just decleare one of the regions as solid, and assign appropriate properties. Do it first as transient, and then try steady state.

I'm traveling next 2.5 weeks, so I will not be able to work on this. On the other hand, I will attend the OF workshop at Penn State, so hopefully I learn useful stuff for multi-region solvers :-)

Mirko

NicolasB June 8, 2011 09:07

Ok, I'm going to work following your suggestions.
Have a good workshop!

maddalena July 11, 2011 04:42

Steady state version?
 
Hello,
nicolasB, Mirco, have you succeeded in creating a steady state version of chtIcoMultiRegionFoam?

mad

NicolasB July 11, 2011 08:42

1 Attachment(s)
Hi,
I've set up a case with both a solid and a fluid.
It seems to run correctly in transient, but I've got something weird with the temperature on steady.
I join an archive with these cases (just use the "Allrun" scripts).

What I don't understand is why we have to run this solver on transient mode for fluids while it works on steady for solids...

Regards,
Nicolas


All times are GMT -4. The time now is 00:36.