CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Post-Processing (https://www.cfd-online.com/Forums/openfoam-post-processing/)
-   -   WallHeatFlux and chtMultiregion (https://www.cfd-online.com/Forums/openfoam-post-processing/106243-wallheatflux-chtmultiregion.html)

m_f August 23, 2012 03:38

WallHeatFlux and chtMultiregion
 
Hello,

Someone can explain me how we can calculate a heatflux on bondary (solid or fluid) with WallHeatFlux utility ? I use chtMultiRegion solver. I already read some post in this forum, but there is no clear answer.
I saw that someone (NicolasB) succeed in calculating with "wallHeatFluxRho" nevertheless, I don't know how compile this new utility....(cf. here).

My error nowadays :
Code:

/*---------------------------------------------------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  2.1.1                                |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
Build  : 2.1.1-221db2718bbb
Exec  : wallHeatFlux
Date  : Aug 23 2012
Time  : 09:29:51
Host  : "S00079122"
PID    : 3983
Case  : /home/Public/test
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Disallowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create mesh for time = 0

Time = 0
Selecting thermodynamics package hRhoThermo<pureMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>
#0  Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1  Foam::sigFpe::sigHandler(int) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2  in "/lib/libc.so.6"
#3  Foam::hRhoThermo<Foam::pureMixture<Foam::constTransport<Foam::specieThermo<Foam::hConstThermo<Foam::perfectGas> > > > >::calculate() in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libbasicThermophysicalModels.so"
#4  Foam::hRhoThermo<Foam::pureMixture<Foam::constTransport<Foam::specieThermo<Foam::hConstThermo<Foam::perfectGas> > > > >::hRhoThermo(Foam::fvMesh const&) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libbasicThermophysicalModels.so"
#5  Foam::basicThermo::addfvMeshConstructorToTable<Foam::hRhoThermo<Foam::pureMixture<Foam::constTransport<Foam::specieThermo<Foam::hConstThermo<Foam::perfectGas> > > > > >::New(Foam::fvMesh const&) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libbasicThermophysicalModels.so"
#6  Foam::basicThermo::New(Foam::fvMesh const&) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libbasicThermophysicalModels.so"
#7 
 in "/opt/openfoam211/platforms/linux64GccDPOpt/bin/wallHeatFlux"
#8  __libc_start_main in "/lib/libc.so.6"
#9 
 in "/opt/openfoam211/platforms/linux64GccDPOpt/bin/wallHeatFlux"
Exception en point flottant


Thanks for any hint,
Best regards,

m_f

Tobi August 30, 2012 05:15

Hi all,

I wrote private messages with m_f and thought that it will be good to publish these things.

How can I calculate the wallHeatFlux in chtMultiRegion

To calculate the wall heatFlux you have to manage your chtMultiRegions like single regions. For example. If you have a chtMultiCase with fluid1 solid1 fluid2, you have 3 regions which can be separated.

For wallHeatFlux do the following:

Make a new directory like "wallHeatFluxFluid1".
And copy the following things in it.
Code:

0/fluid1/            wallHeatFluxFluid1/0
constant/fluid1/  wallHeatFluxFluid1/constant
system/fluid1/    wallHeatFluxFluid1/system

Now you generated that region as a separated OpenFOAM case and there you can use the wallHeatFlux utilities.


Different wallHeatFlux utilities
there are different utilities like

- wallHeatFlux (default)
- wallHeatFluxRho
- wallHeatFluxLaminar

The differences are given now:

wallHeatFlux
Code:
Code:

surfaceScalarField heatFlux
(
      fvc::interpolate(RASModel->alphaEff())*fvc::snGrad(h)
);

= (AlphaLaminar + AlphaTurbulent) * dh

wallHeatFluxRho
Code:
Code:

surfaceScalarField heatFlux = fvc::interpolate(RASModel->alphaEff())*fvc::snGrad(h);
= (AlphaLaminar + AlphaTurbulent) * dh

and you can derivate T from h.
I am not exactly sure of that but it should be right.

wallHeatFluxLaminar
Code:

Code:

surfaceScalarField heatFlux = k*fvc::snGrad(T);
= k * dT

the multiplication with the faceArea follows after that calculation but is always the same.

snGrad is the gradient normal to the face (I am wrong, please correct me).

wallHeatFlux and wallHeatFluxRho should be the same.


Download these tools?

I rebuild the wallHeatFluxRho utility and uploaded that one and the wallHeatFluxLaminar utility to my server (github).

Link follows!


Hope that will help other guys.
Have a nice day.
Tobi

m_f September 3, 2012 11:43

Thanks dude. :cool:

Sausi September 6, 2013 06:08

wallHeatFlux and chtMultiRegionFoam
 
Hi,
I am trying to get out the wallHeatFlux of my model. I read already threads but still i cant find out how to do:

http://www.cfd-online.com/Forums/ope...ltiregion.html

I am using the chtMultiRegionFoam. I have two region in my model: solid and air.
I am running the simulation in parallel.
At the moment I execute the following lines to get my VTK's and do the post processing.


Code:

reconstructPar -latestTime -region air
yPlusRAS -compressible -latestTime -region air
foamToVTK -latestTime -poly -region air
reconstructPar -latestTime -region solid
foamToVTK -latestTime -poly -region solid

I am interested in the wallHeatFlux of my solid region. I tried to copy my folders 0/solid, constant/solid and system/solid into my new folder wallHeatfluxsolid like described in the thread above.


I tried to execute
Code:

reconstructPar -latest Time -region solid
wallHeatFlux -latestTime -case wall wallheatfluxsolid
foamToVTK -latestTime -poly -region solid

but I get the folowing error


Code:

  /*---------------------------------------------------------------------------*\
 | =========                |                                                |
 | \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
 |  \\    /  O peration    | Version:  2.1.0                                |
 |  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
 |    \\/    M anipulation  |                                                |
 \*---------------------------------------------------------------------------*/
 Build  : 2.1.0-1680a452835e
 Exec  : wallHeatFlux -latestTime -case wallHeatFluxSolid
 Date  : Sep 06 2013
 Time  : 12:05:18
 Host  : "atibkwcfd04"
 PID    : 18392
 Case  : ./wallHeatFluxSolid
 nProcs : 1
 sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
 fileModificationChecking : Monitoring run-time modified files using timeStampMaster
 allowSystemOperations : Disallowing user-supplied system call operations
 

 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
 Create time
 

 --> FOAM Warning : 
    From function dlOpen(const fileName&, const bool)
    in file POSIX.C at line 1175
    dlopen error : libcompressibleExtraRASModels.so: cannot open shared object file: No such file or directory
 --> FOAM Warning : 
    From function dlLibraryTable::open(const fileName&, const bool)
    in file db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C at line 96
    could not load "libcompressibleExtraRASModels.so"
 Create mesh for time = 0
 

 Time = 0
 Selecting thermodynamics package constSolidThermo
 

 

 --> FOAM FATAL ERROR: 
 Unknown basicPsiThermo type constSolidThermo

The thread is quite old so is there already a better way to get the wallHeatFlux. Thanks for your help.


Regards

wyldckat September 7, 2013 14:28

Greetings Sausi and welcome to the forum!

I've moved your post to this thread, because it wasn't so long ago :)
Besides, I was going to post on this thread anyway, because Tobi forgot to post the links to his repositories:
Try using the wallHeatFluxRho version as Tobi wrote about above. If you still have problems, let us know :)

Best regards,
Bruno

PS: I've also added the "[CODE]" markers to your post, as explained on my second signature link.

Sausi September 9, 2013 09:56

Thanks for your answer. I tried to compile wallHeatFluxRho but the following message occurs.

Code:

Making dependency list for source file wallHeatFluxRho.C
SOURCE=wallHeatFluxRho.C ;  g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3  -DNoRepository -ftemplate-depth-100 -I/opt/OpenFOAM-2.1.0/src/turbulenceModels -I/opt/OpenFOAM-2.1.0/src/turbulenceModels/compressible/RAS/RASModel -I/opt/OpenFOAM-2.1.0/src/thermophysicalModels/specie/lnInclude -I/opt/OpenFOAM-2.1.0/src/thermophysicalModels/reactionThermo/lnInclude -I/opt/OpenFOAM-2.1.0/src/thermophysicalModels/basic/lnInclude -I/opt/OpenFOAM-2.1.0/src/finiteVolume/lnInclude -IlnInclude -I. -I/opt/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude -I/opt/OpenFOAM-2.1.0/src/OSspecific/POSIX/lnInclude  -fPIC -c $SOURCE -o Make/linux64GccDPOpt/wallHeatFluxRho.o
g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3  -DNoRepository -ftemplate-depth-100 -I/opt/OpenFOAM-2.1.0/src/turbulenceModels -I/opt/OpenFOAM-2.1.0/src/turbulenceModels/compressible/RAS/RASModel -I/opt/OpenFOAM-2.1.0/src/thermophysicalModels/specie/lnInclude -I/opt/OpenFOAM-2.1.0/src/thermophysicalModels/reactionThermo/lnInclude -I/opt/OpenFOAM-2.1.0/src/thermophysicalModels/basic/lnInclude -I/opt/OpenFOAM-2.1.0/src/finiteVolume/lnInclude -IlnInclude -I. -I/opt/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude -I/opt/OpenFOAM-2.1.0/src/OSspecific/POSIX/lnInclude  -fPIC -Xlinker --add-needed -Xlinker --no-as-needed Make/linux64GccDPOpt/wallHeatFluxRho.o -L/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib \
    -lcompressibleRASModels -lreactionThermophysicalModels -lfiniteVolume -lgenericPatchFields -lspecie -lbasicThermophysicalModels -lOpenFOAM -ldl  -lm -o /data1/OpenFOAM/2.1.0/platforms/linux64GccDPOpt/bin/wallHeatFluxRho
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: warning: libcompressibleTurbulenceModel.so, needed by /opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: warning: libmeshTools.so, needed by /opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: warning: libtriSurface.so, needed by /opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so, not found (try using -rpath or -rpath-link)
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: warning: libPstream.so, needed by /opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so, not found (try using -rpath or -rpath-link)
Make/linux64GccDPOpt/wallHeatFluxRho.o: In function `main':
wallHeatFluxRho.C:(.text+0x2398): undefined reference to `Foam::compressible::turbulenceModel::typeName'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::NamedEnum<Foam::mappedPatchBase::sampleMode, 4>::names'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `Foam::compressible::turbulenceModel::constructturbulenceModelConstructorTables()'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::coordinateSystem::~coordinateSystem()'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `Foam::reduce(double&, Foam::sumOp<double> const&, int)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `Foam::UIPstream::read(Foam::UPstream::commsTypes, int, char*, long, int)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::cellSet::~cellSet()'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::cellDistFuncs::cellDistFuncs(Foam::polyMesh const&)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `Foam::cellDistFuncs::correctBoundaryFaceCells(Foam::HashSet<int, Foam::Hash<int> > const&, Foam::Field<double>&, Foam::Map<int>&) const'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so: undefined reference to `Foam::UIPstream::UIPstream(Foam::UPstream::commsTypes, int, Foam::DynamicList<char, 0u, 2u, 1u>&, int&, int, bool, Foam::IOstream::streamFormat, Foam::IOstream::versionNumber)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `vtable for Foam::cyclicAMILduInterfaceField'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `vtable for Foam::compressible::turbulenceModel'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `typeinfo for Foam::compressible::turbulenceModel'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::mappedPatchBase::calcMapping() const'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `typeinfo for Foam::mappedPatchBase'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `typeinfo for Foam::cyclicAMILduInterfaceField'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::faceSet::~faceSet()'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::mappedPatchBase::calcAMI() const'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::faceSet::faceSet(Foam::polyMesh const&, Foam::word const&, int, Foam::IOobject::writeOption)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::cyclicAMILduInterfaceField::~cyclicAMILduInterfaceField()'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `Foam::UPstream::waitRequests(int)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::mappedPatchBase::samplePoints() const'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so: undefined reference to `Foam::UPstream::abort()'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `Foam::compressible::turbulenceModel::rhoEpsilonEff() const'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::faceSet::faceSet(Foam::polyMesh const&, Foam::word const&, Foam::HashSet<int, Foam::Hash<int> > const&, Foam::IOobject::writeOption)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::cellSet::cellSet(Foam::polyMesh const&, Foam::word const&, Foam::IOobject::readOption, Foam::IOobject::writeOption)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::triSurfaceTools::calcInterpolationWeights(Foam::triSurface const&, Foam::Field<Foam::Vector<double> > const&, Foam::List<Foam::FixedList<int, 3u> >&, Foam::List<Foam::FixedList<double, 3u> >&)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::patchWave::patchWave(Foam::polyMesh const&, Foam::HashSet<int, Foam::Hash<int> > const&, bool)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::cellDistFuncs::getPointNeighbours(Foam::PrimitivePatch<Foam::face, Foam::SubList, Foam::Field<Foam::Vector<double> > const&, Foam::Vector<double> > const&, int, Foam::List<int>&) const'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `typeinfo for Foam::cyclicAMILduInterface'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `Foam::cyclicAMIPolyPatch::AMI() const'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `Foam::operator<<(Foam::Ostream&, Foam::wallPoint const&)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `Foam::compressible::turbulenceModel::destroyturbulenceModelConstructorTables()'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so: undefined reference to `Foam::UPstream::init(int&, char**&)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::mappedPatchBase::sampleMesh() const'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `Foam::UIPstream::UIPstream(int, Foam::PstreamBuffers&)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `Foam::cyclicAMIPolyPatch::typeName'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::coordinateSystem::coordinateSystem(Foam::word const&, Foam::Vector<double> const&, Foam::Vector<double> const&, Foam::Vector<double> const&)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::triSurface::~triSurface()'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::mappedPatchBase::~mappedPatchBase()'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `Foam::UPstream::nRequests()'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::mappedPatchBase::mappedPatchBase(Foam::polyPatch const&, Foam::dictionary const&)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::triSurfaceTools::delaunay2D(Foam::List<Foam::Vector2D<double> > const&)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::mappedPatchBase::mappedPatchBase(Foam::polyPatch const&, Foam::mappedPatchBase const&)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::mappedPatchBase::samplePolyPatch() const'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::cellDistFuncs::maxPatchSize(Foam::HashSet<int, Foam::Hash<int> > const&) const'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `Foam::cellDistFuncs::correctBoundaryPointCells(Foam::HashSet<int, Foam::Hash<int> > const&, Foam::Field<double>&, Foam::Map<int>&) const'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::mappedPatchBase::typeName'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `typeinfo for Foam::cyclicAMIPolyPatch'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `Foam::cellDistFuncs::sumPatchSize(Foam::HashSet<int, Foam::Hash<int> > const&) const'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::cyclicAMILduInterface::~cyclicAMILduInterface()'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so: undefined reference to `Foam::UPstream::addValidParOptions(Foam::HashTable<Foam::string, Foam::word, Foam::string::hash>&)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so: undefined reference to `Foam::UPstream::exit(int)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::cellDistFuncs::smallestDist(Foam::Vector<double> const&, Foam::polyPatch const&, int, Foam::List<int> const&, int&) const'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::coordinateSystem::writeDict(Foam::Ostream&, bool) const'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::mappedPatchBase::mappedPatchBase(Foam::polyPatch const&)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::patchWave::~patchWave()'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::triSurface::write(Foam::fileName const&, bool) const'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `Foam::operator>>(Foam::Istream&, Foam::wallPoint&)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `Foam::compressible::turbulenceModel::turbulenceModel(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::basicThermo const&, Foam::word const&)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::mappedPatchBase::write(Foam::Ostream&) const'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `Foam::UOPstream::write(Foam::UPstream::commsTypes, int, char const*, long, int)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `Foam::compressible::turbulenceModel::turbulenceModelConstructorTablePtr_'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `Foam::cellDistFuncs::cellDistFuncs(Foam::polyMesh const&)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::coordinateSystem::coordinateSystem(Foam::dictionary const&, Foam::objectRegistry const&)'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::cyclicAMILduInterfaceField::transformCoupleField(Foam::Field<double>&, unsigned char) const'
/opt/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libcompressibleRASModels.so: undefined reference to `Foam::FaceCellWaveName::debug'
collect2: ld returned 1 exit status
make: *** [/data1/OpenFOAM/2.1.0/platforms/linux64GccDPOpt/bin/wallHeatFluxRho] Fehler 1

Why can't I use the standard wallHeatFlux utility? An I still don't know how exactly to use the tool for the chtMultiRegion Foam?
What am I doing wrong? The created folder is called wallheatfluxsolid


Code:

reconstructPar -latest Time -region solid
wallHeatFlux -latestTime -case wallheatfluxsolid
 foamToVTK -latestTime -poly -region solid


wyldckat September 9, 2013 15:03

Hi Sausi,

I forgot to comment on the error output you had gotten in the first post. More specifically, this problem:
Quote:

Originally Posted by Sausi (Post 450196)
Code:

  --> FOAM Warning : 
    From function dlOpen(const fileName&, const bool)
    in file POSIX.C at line 1175
    dlopen error : libcompressibleExtraRASModels.so: cannot open shared object file: No such file or directory
 --> FOAM Warning : 
    From function dlLibraryTable::open(const fileName&, const bool)
    in file db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C at line 96
    could not load "libcompressibleExtraRASModels.so"
 Create mesh for time = 0
 

 Time = 0
 Selecting thermodynamics package constSolidThermo
 

 

 --> FOAM FATAL ERROR: 
 Unknown basicPsiThermo type constSolidThermo


The library "libcompressibleExtraRASModels.so" is probably mentioned in your case or region "controlDict" file, in the entry "libs (...)".
As to why it doesn't load, I don't know. But it seems to indicate that it since it did not load successfully, it is therefore not able to load up the "constSolidThermo" type.


As for the latest problem, it looks like your OpenFOAM installation is not ready for compiling additional source code that is based on OpenFOAM source code.


Both of these issues seem to be related. Can you detail:
  1. The steps you've taken to install OpenFOAM, as well as in which Linux Distribution.
  2. If, how and which auxiliary libraries you might have compiled?
  3. How did you run the case?
I ask all of these, because somewhere along the line, something important is missing :(

Best regards,
Bruno

Sausi September 11, 2013 03:18

Thanks for your answer. I am running OpenFOam 2.1.0 on a Suse 11.4 distribution.

Usually everything works fine but I think the way how I try to use the function wallHeatFlux is wrong.


For example for using yPlusRAS utitlity I can select a region.

[CODE]
yPlusRAS -compressible -latestTime -region air
[\CODE]

But for using the wallHeatFlux utility I can't
select a region. Therefore I tried to use the utitlity like explained but still I get an error. So maybe I just use it wrong. Could you please explan it again what steps I should do. Do I have to copy the folders before running the simulation or after? How should I reconstructPar my case? Should I select a region or no region?

Sausi September 12, 2013 05:56

I solved the problem. Thanks for your help!

First reconstructPar your region. Copy all the files you need in a dummy case as described before. Now you can use all the utitlitys you like.

Do you know is there still a bug in the wallHeatFlux or is it working properly now?

wyldckat September 14, 2013 11:04

Hi Sausi,

Are you able to reproduce this same problem with one of the OpenFOAM tutorials?
Because if you are, I can test with the latest OpenFOAM 2.2.1 and 2.2.x versions.

Best regards,
Bruno

abigail158 September 21, 2013 06:47

Hi,

i wanted to compile the wallHeatFluxRho, but accidentally forgot to change the Make/file to wallHeatFluxRho.C. So it compiled as wallHeatFlux instead of wallHeatFluxRho.

I tried to reverse the proses and compile my previous wallHeatFlux utilities.
but i got this error message. Can somebody help me.
(Im using OF 2.1.0)

Code:

In file included from wallHeatFlux.C:56:0:
createFields.H: In function ‘int main(int, char**)’:
createFields.H:3:26: error: no matching function for call to ‘Foam::basicThermo::New(Foam::fvMesh&)’
createFields.H:3:26: note: candidate is:
/home/azura/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/dictionary.H:238:36: note: static Foam::autoPtr<Foam::dictionary> Foam::dictionary::New(Foam::Istream&)
/home/azura/OpenFOAM/OpenFOAM-2.1.0/src/OpenFOAM/lnInclude/dictionary.H:238:36: note:  no known conversion for argument 1 from ‘Foam::fvMesh’ to ‘Foam::Istream&’
make: *** [Make/linuxGccDPOpt/wallHeatFlux.o] Error 1


wyldckat September 21, 2013 13:39

Greetings abigail158,

If you get the version from here: https://github.com/shor-ty/wallHeatFluxRho - it will work without any problems.

As for the problem you have got, it looks like you did not copy/edited the "Make/options" file, as exemplified here: https://github.com/shor-ty/wallHeatF...r/Make/options

Best regards,
Bruno

openfoammaofnepo November 5, 2013 14:00

Dear All,

About how to calculate the heat flux, we can use Fourier's Law:

q=-k*dT/dx

There is a minus sign in this expression. But in openfoam, when the wall flux is caluclated, it seems that the minus sign is omitted like:

fvc::interpolate(kappaEff*rho*Cp)*fvc::snGrad(T)

So in this sense, openfoam actually returns k*dT/dx. Is this understanding correct?

Thank you very much.

Quote:

Originally Posted by Tobi (Post 379456)
Hi all,

I wrote private messages with m_f and thought that it will be good to publish these things.

How can I calculate the wallHeatFlux in chtMultiRegion

To calculate the wall heatFlux you have to manage your chtMultiRegions like single regions. For example. If you have a chtMultiCase with fluid1 solid1 fluid2, you have 3 regions which can be separated.

For wallHeatFlux do the following:

Make a new directory like "wallHeatFluxFluid1".
And copy the following things in it.
Code:

0/fluid1/            wallHeatFluxFluid1/0
constant/fluid1/  wallHeatFluxFluid1/constant
system/fluid1/    wallHeatFluxFluid1/system

Now you generated that region as a separated OpenFOAM case and there you can use the wallHeatFlux utilities.


Different wallHeatFlux utilities
there are different utilities like

- wallHeatFlux (default)
- wallHeatFluxRho
- wallHeatFluxLaminar

The differences are given now:

wallHeatFlux
Code:
Code:

surfaceScalarField heatFlux
(
      fvc::interpolate(RASModel->alphaEff())*fvc::snGrad(h)
);

= (AlphaLaminar + AlphaTurbulent) * dh

wallHeatFluxRho
Code:
Code:

surfaceScalarField heatFlux = fvc::interpolate(RASModel->alphaEff())*fvc::snGrad(h);
= (AlphaLaminar + AlphaTurbulent) * dh

and you can derivate T from h.
I am not exactly sure of that but it should be right.

wallHeatFluxLaminar
Code:

Code:

surfaceScalarField heatFlux = k*fvc::snGrad(T);
= k * dT

the multiplication with the faceArea follows after that calculation but is always the same.

snGrad is the gradient normal to the face (I am wrong, please correct me).

wallHeatFlux and wallHeatFluxRho should be the same.


Download these tools?

I rebuild the wallHeatFluxRho utility and uploaded that one and the wallHeatFluxLaminar utility to my server (github).

Link follows!


Hope that will help other guys.
Have a nice day.
Tobi


coccone March 16, 2015 10:16

Does anybody have a copy of wallHeatFluxLaminar ? Toby's link is broken and I am too unexperienced to create one on my own. I am working on a chtMultiRegionFoam case, but it has been just my first month on OF :rolleyes:.

Thanks in advance


All times are GMT -4. The time now is 06:59.