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/)
-   -   Urgent help! How to link personal libraries? (https://www.cfd-online.com/Forums/openfoam-programming-development/88749-urgent-help-how-link-personal-libraries.html)

Gian Maria May 25, 2011 03:49

Urgent help! How to link personal libraries?
 
Hello foamers,

my name il Gian Maria. I'm a new user of OpenFOAM, and I need some help to continue my master thesis project.

My aim is to simulate some cases of a thermal energy storage, made by a tank filled of rocks. Hot air is pumped in this tank, and flowing throw rocks the air lose his enthalpy to give it to the rocks.

Up to now I have used the pre-compiled solver called 'rhoPorousMRFPimpleFoam', with 'MRF' zones not abilitated, to calculate the pressure fall in porous zone (I have modelled rocks as a porous zone).

But now I must implement a model to estimate heat exchange between air and rocks. I made it, and I have insert new subfunction in porousMedia files. Then, I have re-compiled 'porousZone' library typing
>> wmake libso
So I have a new library called 'myLib'.

But when I try to compile my solver, OpenFOAM write to output that it doesn't find my new library. I have insert in >>make\options this line:

EXE_USER_LIBS = \
-lmyBCs

Can anybody help me to find my mistake? I don't know how to link correctly my new library.


Thank in advance

MartinB May 25, 2011 05:14

Hi Gian Maria,

you can try to these lines into your Make/options file:
EXE_LIBS = \
-L$(FOAM_USER_LIBBIN) \
-lmyBCs
...

The L$(FOAM_USER_LIBBIN) must point to the location where your myBCs.so resides.

Martin

Gian Maria May 25, 2011 05:46

Hi Martin, thanks for your quickly response. :D
Now I'm trying to make "programming tutorial" from Tommaso Lucchini to learn how to modify the solvers.
These are the slides -> http://goo.gl/UVgjJ

When I add the line 'rampedFixedValueFvPatchFields.C' (slide #40) in icoFoamRamped/Make/files all goes good.

But I want to link a pre-compiled library. So i compile the library with 'wmake libso' command, and I have no problem.
The file generated, libMyBCs, is located in
'home/gimmo/OpenFOAM/gimmo-1.7.0/lib/linux64GccDPOpt'

But if I try to write in icoFoamRamped\Make\options, as you suggested
Quote:

EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude \

EXE_LIBS = \
-lfiniteVolume \
-/home/gimmo/OpenFOAM/gimmo-1.7.0/lib/linux64GccDPOpt \
-libMyBCs
when I try to compile OpenFOAM gives me this response:
Quote:

g++: unrecognized option '-/home/gimmo/OpenFOAM/gimmo-1.7.0/lib/linux64GccDPOpt'
/usr/bin/ld: cannot find -libMyBCs
collect2: ld returned 1 exit status
make: *** [/home/myName/OpenFOAM/gimmo-1.7.0/applications/bin/linux64GccDPOpt/icoFoamRamped] Error 1
I have the same problem if I write
'-lMyBCs' instead of ' -libMyBCs'

Any suggestions?

Thanks in advance

MartinB May 25, 2011 06:47

I think there is a "L" (big letter 'el') missing in front of your path, it should be:
-L/home/gimmo/OpenFOAM/gimmo-1.7.0/lib/linux64GccDPOpt \

Martin

Gian Maria May 25, 2011 07:19

Hi Martin!!!!

Thanks a lot for your help!!!! Now it works!!! ;)
I have correct the option files, and now the tutorial case goes good.

I'll try to my case.

Dcn September 13, 2022 08:38

can some one please tell me why in
/OpenFOAM/OpenFOAM-v1912/applications/solvers/incompressible/simpleFoam
in this directory if i execute the command
wmake
why does it gives the error as shown below :=
In file included from simpleFoam.C:32:0:
/OpenFOAM/OpenFOAM-v1912/src/finiteVolume/cfdTools/general/include/fvCFD.H:7:20: fatal error: fvMesh.H: No such file or directory
#include "fvMesh.H"
^
compilation terminated.
make: *** [Make/linux64NvccDPOpt/simpleFoam.o] Error 1

simpleFoam is not able to recognise the header file fvMesh.H


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