gruber |
April 21, 2010 09:57 |
Initializing constants
Hello,
I'm looking for a solution of my OpenFOAM problem.
I have defined constant dimensioned scalars and vectors in the transportProperties dictionary, eg:
HTML Code:
Sct Sct [0 2 -1 0 0 0 0] 2.0e-09;
g g [ 0 1 -2 0 0 0 0] (0 0 9.81);
The class looks like this:
HTML Code:
# include "IOdictionary.H"
class A
{
const IOdictionary transportProperties_;
const dimensionedScalar Sct_;
const dimensionedScalar g_;
public:
A;
}
The constructor looks like this:
HTML Code:
A::A
:
transportProperties_( IOobject(
"transportProperties",
U.time().constant(),
U.db(),
IOobject::MUST_READ,
IOobject::NO_WRITE)),
Sct_ ( dimensionedScalar( transportProperties_.lookup("Sct") ) ),
g_ ( dimensionedVector( transportProperties_.lookup("g") ) )
{}
The compiler doesn't report any bugs, but when I try to run a testcase the following error is displayed during the constructor call
HTML Code:
#0 Foam::error::printStack(Foam::Ostream&) in "/home/of/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libOpenFOAM.so"
#1 Foam::sigSegv::sigSegvHandler(int) in "/home/of/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libOpenFOAM.so"
#2 ?? in "/lib64/libc.so.6"
#3 std::string::assign(std::string const&) in "/home/of/OpenFOAM/ThirdParty/gcc-4.3.1/platforms/linux64/lib64/libstdc++.so.6"
#4 Foam::IOerror::operator()(char const*, char const*, int, Foam::string const&, int, int) in "/home/of/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libOpenFOAM.so"
#5 Foam::IOerror::operator()(char const*, char const*, int, Foam::dictionary const&) in "/home/of/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libOpenFOAM.so"
#6 Foam::dictionary::lookupEntry(Foam::word const&, bool) const in "/home/of/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libOpenFOAM.so"
#7 Foam::dictionary::lookup(Foam::word const&, bool) const in "/home/of/OpenFOAM/OpenFOAM-1.5/lib/linux64GccDPOpt/libOpenFOAM.so"
#8 Foam::IncompressibleCloud::IncompressibleCloud(Foam::volPointInterpolation const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) in "/home/of/OpenFOAM/of-1.5/applications/bin/linux64GccDPOpt/icoRLF"
#9 main in "/home/of/OpenFOAM/of-1.5/applications/bin/linux64GccDPOpt/icoRLF"
#10 __libc_start_main in "/lib64/libc.so.6"
#11 Foam::regIOobject::readIfModified() in "/home/of/OpenFOAM/of-1.5/applications/bin/linux64GccDPOpt/icoRLF"
Segmentation fault
Can someone please tell me the error in my program?
Thank you very much.
|