|
[Sponsors] |
February 23, 2017, 02:51 |
foam extend 3.2 + libacoustics-OF3.0.0
|
#1 |
Member
GS
Join Date: Mar 2016
Posts: 81
Rep Power: 10 |
I am working on FSI package in foam-extend 3.2 as native openFoam does not support FSI.
Next, I wish to compile the below acoustics library in foam extend. This library was presented in OF workshop 13 and only available for openFOAM 3. https://github.com/unicfdlab/Trainin...ustics-OF3.0.0 For installing this on foam-extend 3.2, I did try to make some changes in make->options but after a point I am unable to connect the requisite files (mainly rasModel.h). Can someone please help me in converting the compatibility of the libAcoustics3.0.0 from openFOAM 3 to foam-extend 3.2. Very Thanks . |
|
March 23, 2017, 17:16 |
|
#2 |
Senior Member
Sergei
Join Date: Dec 2009
Posts: 261
Rep Power: 21 |
Your link is broken.
You should provide more info explayning what you are doing step by step to compile the code, what errors you got and so on. |
|
March 31, 2017, 05:40 |
|
#3 |
Member
GS
Join Date: Mar 2016
Posts: 81
Rep Power: 10 |
while compling:
I am facing issue precisely at this point. Code:
Curle/SoundObserver.C: In member function ‘void Foam::SoundObserver::apressure(Foam::scalar)’: Curle/SoundObserver.C:123:24: error: no matching function for call to ‘Foam::List<double>::append(Foam::scalar&)’ p_.append(apressure); ^ In file included from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/List.H:264:0, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/HashTable.C:30, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/Istream.H:181, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/ISstream.H:40, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/IOstreams.H:38, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/VectorSpace.C:27, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/VectorSpace.H:169, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/VectorTemplate.H:44, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/vector.H:39, from Curle/SoundObserver.H:41, from Curle/SoundObserver.C:26: /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/ListI.H:97:13: note: candidate: void Foam::List<T>::append(const Foam::UList<T>&) [with T = double] inline void Foam::List<T>::append(const UList<T>& lst) ^ /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/ListI.H:97:13: note: no known conversion for argument 1 from ‘Foam::scalar {aka double}’ to ‘const Foam::UList<double>&’ /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/ListI.H:118:13: note: candidate: void Foam::List<T>::append(const Foam::UIndirectList<T>&) [with T = double] inline void Foam::List<T>::append(const UIndirectList<T>& lst) ^ /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/ListI.H:118:13: note: no known conversion for argument 1 from ‘Foam::scalar {aka double}’ to ‘const Foam::UIndirectList<double>&’ Curle/SoundObserver.C: In member function ‘void Foam::SoundObserver::atime(Foam::scalar)’: Curle/SoundObserver.C:129:23: error: no matching function for call to ‘Foam::List<double>::append(Foam::scalar&)’ time_.append(atime); ^ In file included from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/List.H:264:0, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/HashTable.C:30, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/Istream.H:181, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/ISstream.H:40, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/IOstreams.H:38, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/VectorSpace.C:27, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/VectorSpace.H:169, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/VectorTemplate.H:44, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/vector.H:39, from Curle/SoundObserver.H:41, from Curle/SoundObserver.C:26: /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/ListI.H:97:13: note: candidate: void Foam::List<T>::append(const Foam::UList<T>&) [with T = double] inline void Foam::List<T>::append(const UList<T>& lst) ^ /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/ListI.H:97:13: note: no known conversion for argument 1 from ‘Foam::scalar {aka double}’ to ‘const Foam::UList<double>&’ /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/ListI.H:118:13: note: candidate: void Foam::List<T>::append(const Foam::UIndirectList<T>&) [with T = double] inline void Foam::List<T>::append(const UIndirectList<T>& lst) ^ /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/ListI.H:118:13: note: no known conversion for argument 1 from ‘Foam::scalar {aka double}’ to ‘const Foam::UIndirectList<double>&’ Curle/SoundObserver.dep:202: recipe for target 'Make/linux64GccDPOpt/SoundObserver.o' failed make: *** [Make/linux64GccDPOpt/SoundObserver.o] Error 1 make: *** Waiting for unfinished jobs.... In file included from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/OutputFilterFunctionObject.C:27:0, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/OutputFilterFunctionObject.H:204, from Curle/CurleFunctionObject.H:40, from Curle/CurleFunctionObject.C:26: /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/IOOutputFilter.H: In instantiation of ‘void Foam::IOOutputFilter<OutputFilter>::movePoints(const pointField&) [with OutputFilter = Foam::Curle; Foam::pointField = Foam::Field<Foam::Vector<double> >]’: Curle/CurleFunctionObject.C:40:1: required from here /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/IOOutputFilter.H:113:37: error: no matching function for call to ‘Foam::IOOutputFilter<Foam::Curle>::movePoints(const pointField&)’ OutputFilter::movePoints(points); ^ In file included from Curle/CurleFunctionObject.H:39:0, from Curle/CurleFunctionObject.C:26: Curle/Curle.H:213:22: note: candidate: virtual void Foam::Curle::movePoints(const Foam::polyMesh&) virtual void movePoints(const polyMesh&) ^ Curle/Curle.H:213:22: note: no known conversion for argument 1 from ‘const pointField {aka const Foam::Field<Foam::Vector<double> >}’ to ‘const Foam::polyMesh&’ Curle/CurleFunctionObject.dep:330: recipe for target 'Make/linux64GccDPOpt/CurleFunctionObject.o' failed make: *** [Make/linux64GccDPOpt/CurleFunctionObject.o] Error 1 In file included from Curle/Curle.C:29:0: /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/createTime.H:5:11: error: ‘Info’ in namespace ‘Foam’ does not name a type Foam::Info<< "Create time\n" << Foam::endl; ^ /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/createTime.H:10:9: error: ‘args’ was not declared in this scope args.rootPath(), ^ /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/createTime.H:11:9: error: ‘args’ was not declared in this scope args.caseName(), ^ /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/createTime.H:14:10: error: ‘args’ was not declared in this scope !args.optionFound("noFunctionObjects") ^ Curle/Curle.C: In member function ‘Foam::tmp<Foam::Field<double> > Foam::Curle::normalStress(const Foam::word&) const’: Curle/Curle.C:52:37: error: ‘const class Foam::fvBoundaryMesh’ has no member named ‘findPatchID’ label patchId = mesh.boundary().findPatchID(patchName); ^ Curle/Curle.C: In member function ‘virtual void Foam::Curle::read(const Foam::dictionary&)’: Curle/Curle.C:200:6: error: no matching function for call to ‘Foam::List<Foam::SoundObserver>::append(Foam::SoundObserver)’ ); ^ In file included from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/List.H:264:0, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/HashTable.C:30, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/Istream.H:181, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/ISstream.H:40, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/IOstreams.H:38, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/VectorSpace.C:27, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/VectorSpace.H:169, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/VectorTemplate.H:44, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/vector.H:39, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/coordinateSystem.H:131, from Curle/Curle.H:43, from Curle/Curle.C:26: /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/ListI.H:97:13: note: candidate: void Foam::List<T>::append(const Foam::UList<T>&) [with T = Foam::SoundObserver] inline void Foam::List<T>::append(const UList<T>& lst) ^ /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/ListI.H:97:13: note: no known conversion for argument 1 from ‘Foam::SoundObserver’ to ‘const Foam::UList<Foam::SoundObserver>&’ /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/ListI.H:118:13: note: candidate: void Foam::List<T>::append(const Foam::UIndirectList<T>&) [with T = Foam::SoundObserver] inline void Foam::List<T>::append(const UIndirectList<T>& lst) ^ /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/ListI.H:118:13: note: no known conversion for argument 1 from ‘Foam::SoundObserver’ to ‘const Foam::UIndirectList<Foam::SoundObserver>&’ Curle/Curle.C: In member function ‘void Foam::Curle::correct()’: Curle/Curle.C:219:34: error: ‘const class Foam::fvBoundaryMesh’ has no member named ‘findPatchID’ label patchId = mesh.boundary().findPatchID(patchName); ^ Curle/Curle.C:270:34: error: ‘Foam::constant’ has not been declared scalar coeff1 = 1. / 4. / Foam::constant::mathematical::pi / c0_; ^ Curle/Curle.C: In member function ‘void Foam::Curle::calcDistances()’: Curle/Curle.C:357:37: error: ‘const class Foam::fvBoundaryMesh’ has no member named ‘findPatchID’ label patchId = mesh.boundary().findPatchID(patchNames_[0]); ^ Curle/Curle.C:364:54: error: no matching function for call to ‘Foam::List<Foam::word>::append(const Foam::word&)’ patchNames.append(mesh.boundary()[iPatch].name()); ^ In file included from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/List.H:264:0, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/HashTable.C:30, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/Istream.H:181, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/ISstream.H:40, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/IOstreams.H:38, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/VectorSpace.C:27, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/VectorSpace.H:169, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/VectorTemplate.H:44, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/vector.H:39, from /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/coordinateSystem.H:131, from Curle/Curle.H:43, from Curle/Curle.C:26: /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/ListI.H:97:13: note: candidate: void Foam::List<T>::append(const Foam::UList<T>&) [with T = Foam::word] inline void Foam::List<T>::append(const UList<T>& lst) ^ /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/ListI.H:97:13: note: no known conversion for argument 1 from ‘const Foam::word’ to ‘const Foam::UList<Foam::word>&’ /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/ListI.H:118:13: note: candidate: void Foam::List<T>::append(const Foam::UIndirectList<T>&) [with T = Foam::word] inline void Foam::List<T>::append(const UIndirectList<T>& lst) ^ /home/iitmech4/foam/foam-extend-3.2/src/foam/lnInclude/ListI.H:118:13: note: no known conversion for argument 1 from ‘const Foam::word’ to ‘const Foam::UIndirectList<Foam::word>&’ Curle/Curle.dep:697: recipe for target 'Make/linux64GccDPOpt/Curle.o' failed make: *** [Make/linux64GccDPOpt/Curle.o] Error 1 Please help anyone. |
|
April 2, 2017, 11:13 |
|
#4 |
Senior Member
Sergei
Join Date: Dec 2009
Posts: 261
Rep Power: 21 |
Okay, as the error states there's no Foam::List<double>::append(Foam::scalar&) in foam-extend (you can find it in OpenFOAM though). If you want to add an element to a List your options are
1) Whenever you need to add a new element you "increase" the list size by 1 and set the element at the last position in the list. This strategy is very-very uneffective from the memory allocation point of view: every time you add a new element a new memory block needed to accomodate list values is allocated. It can hit the performance so bad. Code:
scalarList list; ... list.setSize(list.size()+1); list.last() = scalar(1.0); ... list.setSize(list.size()+1); list.last() = scalar(2.0); Code:
scalarList list; ... list.append(scalarList(1, 1.0)); ... list.append(scalarList(1, 2.0)); Code:
List<scalar> list; list.setSize(list.size()+2); ... list[0] = scalar(1.0); ... list[1] = scalar(2.0); Code:
DynamicList<scalar> list; ... list.append(1.0); ... list.append(2.0); |
|
April 3, 2017, 06:20 |
|
#5 |
Member
GS
Join Date: Mar 2016
Posts: 81
Rep Power: 10 |
Very Thanks to you Sergel.
I am afraid, I think I need to be spoon-fed. I understand, I need to look into List.c/List.h for the changes or do I? But how and where to attach the DynamicList for scalar as you said? I am sorry. I hardly understand the lists and append function of opeFoam background. Please help. |
|
April 3, 2017, 16:35 |
|
#6 |
Senior Member
Sergei
Join Date: Dec 2009
Posts: 261
Rep Power: 21 |
No, you must not make any modifications to any parts of OF (such as List.H, List.C), you have to alter the code you develop.
|
|
April 4, 2017, 05:31 |
|
#7 |
Member
GS
Join Date: Mar 2016
Posts: 81
Rep Power: 10 |
Oh... I got it wrong way.
okay now I made changes in .h file while initialization of class which reads as: Code:
class SoundObserver { //- word name_; //- vector position_; //- scalar pref_; //- scalar apressure_; //- scalar atime_; //-original //List<scalar> p_; DynamicList<scalar> p_; p_.append(1.0); //-original //List<scalar> time_; DynamicList<scalar> time_; time_.append(2.0); //- label fftFreq_; bool checkOrder(scalar size) const; Code:
In file included from Curle/SoundObserver.C:26:0: Curle/SoundObserver.H:73:23: error: wrong number of template arguments (1, should be 4) DynamicList<scalar> p_; this is the original .c file of the library. How to define DynamicList in it? Code:
#include "SoundObserver.H" #include "mathematicalConstants.H" #include "IFstream.H" #include "DynamicList.H" #include "fft.H" #include "SubField.H" #include "mathematicalConstants.H" Foam::SoundObserver::SoundObserver() : name_(Foam::word::null), position_(vector::zero), pref_(1.0e-5), apressure_(0.0), atime_(0.0), p_(0), time_(0), fftFreq_(1024) { } Foam::SoundObserver::SoundObserver(word name, vector pos, scalar pref, label fftFreq) : name_(name), position_(pos), pref_(pref), apressure_(0.0), atime_(0.0), p_(0), time_(0), fftFreq_(fftFreq) { } Foam::SoundObserver::SoundObserver(const SoundObserver& so) : name_(so.name_), position_(so.position_), pref_(so.pref_), apressure_(so.apressure_), atime_(so.atime_), p_(so.p_), time_(so.time_), fftFreq_(so.fftFreq_) { } const Foam::word& Foam::SoundObserver::name() const { return name_; } const Foam::vector& Foam::SoundObserver::position() const { return position_; } const Foam::scalar& Foam::SoundObserver::apressure() const { return apressure_; } const Foam::scalar& Foam::SoundObserver::atime() const { return atime_; } const Foam::List<Foam::scalar>& Foam::SoundObserver::p() const { return p_; } const Foam::List<Foam::scalar>& Foam::SoundObserver::time() const { return time_; } const Foam::scalar& Foam::SoundObserver::pref() const { return pref_; } void Foam::SoundObserver::name(word name) { name_ = name; } void Foam::SoundObserver::position(vector position) { position_ = position; } void Foam::SoundObserver::apressure(scalar apressure) { apressure_ = apressure; p_.append(apressure); } void Foam::SoundObserver::atime(scalar atime) { atime_ = atime; time_.append(atime); } bool Foam::SoundObserver::checkOrder(scalar size) const { double reminder; reminder = log10(size)/log10(2.0); Info<<"Checking order rem="<<reminder<<endl; if (reminder > floor(reminder)){ Info<<"False"<<endl; return false; } else{ return true; }; } Foam::autoPtr<Foam::List<Foam::List<Foam::scalar> > > Foam::SoundObserver::fft(scalar tau) const { List<List<scalar> > fft_res(3); forAll (fft_res, i) { fft_res[i].resize(0); } if ( (p_.size() > 0) && (p_.size() % fftFreq_ == 0) && checkOrder(p_.size()) ) { tmp<scalarField> tPn2 ( mag ( fft::reverseTransform ( ReComplexField(p_), labelList(1, p_.size()) ) ) ); tmp<scalarField> tPn ( new scalarField ( scalarField::subField(tPn2(), tPn2().size()/2) ) ); scalarField& Pn = tPn(); Pn *= 2.0/sqrt(scalar(tPn2().size())); Pn[0] /= 2.0; scalar N = p_.size(); scalarField f(N/2); scalar deltaf = 1.0/(N*tau); forAll(f, i) { f[i] = i*deltaf; } fft_res[0].resize(tPn().size()); fft_res[1].resize(tPn().size()); fft_res[2].resize(tPn().size()); forAll (tPn(), k) { fft_res[0][k] = f[k]; //Frequency, Hz fft_res[1][k] = tPn()[k]; //pressure amplitude, Pa fft_res[2][k] = 20*log10(fft_res[1][k] / pref_); //SLP, dB } } return autoPtr<List<List<scalar> > > ( new List<List<scalar> > ( fft_res ) ); } // //END-OF-FILE Code:
SourceFiles SoundObserver.C \*---------------------------------------------------------------------------*/ #ifndef SoundObserver_H #define SoundObserver_H #include "OFstream.H" #include "vector.H" #include "Tuple2.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { /*---------------------------------------------------------------------------*\ Class SoundObserver Declaration \*---------------------------------------------------------------------------*/ class SoundObserver { //- word name_; //- vector position_; //- scalar pref_; //- scalar apressure_; //- scalar atime_; //- List<scalar> p_; //- List<scalar> time_; //- label fftFreq_; bool checkOrder(scalar size) const; public: /// Constructors //- SoundObserver(); //- SoundObserver(word name, vector pos, scalar pref, label fftFreq); //- SoundObserver(const SoundObserver&); /// Access //- const word& name() const; //- const vector& position() const; //- const scalar& apressure() const; //noiseFFT stuff const scalar& atime() const; //- const scalar& pref() const; //- void name(word name); //- void position(vector position); //- void apressure(scalar apressure); //noiseFFT stuff void atime(scalar atime); // const List<scalar>& p() const; //- const List<scalar>& time() const; //- autoPtr<List<List<scalar> > > fft (scalar tau) const; }; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #endif // ************************************************************************* // Thankyou Sergel. Last edited by thegauravonline; April 4, 2017 at 07:32. |
|
April 7, 2017, 15:29 |
|
#8 |
Senior Member
Sergei
Join Date: Dec 2009
Posts: 261
Rep Power: 21 |
If I were you I would go with the option #1 (inefficient one) which I suggested in my previous post. It would require less modifications to the code compared to what you try to do now replacing List with DynamicList. Find all yours
Code:
list.append(value); Code:
list.setSize(list.size()+1); list.last() = value; |
|
April 10, 2017, 01:54 |
|
#9 |
Member
GS
Join Date: Mar 2016
Posts: 81
Rep Power: 10 |
Many Thanks for your help Sergel.
It worked. I ve narrowed my error log to much lesser now. Code:
Curle/Curle.C: In member function ‘Foam::tmp<Foam::Field<double> > Foam::Curle::normalStress(const Foam::word&) const’: Curle/Curle.C:51:37: error: ‘const class Foam::fvBoundaryMesh’ has no member named ‘findPatchID’ label patchId = mesh.boundary().findPatchID(patchName); ^ Curle/Curle.C: In member function ‘void Foam::Curle::correct()’: Curle/Curle.C:219:34: error: ‘const class Foam::fvBoundaryMesh’ has no member named ‘findPatchID’ label patchId = mesh.boundary().findPatchID(patchName); ^ Curle/Curle.C: In member function ‘void Foam::Curle::calcDistances()’: Curle/Curle.C:357:37: error: ‘const class Foam::fvBoundaryMesh’ has no member named ‘findPatchID’ label patchId = mesh.boundary().findPatchID(patchNames_[0]); ^ Curle/Curle.dep:696: recipe for target 'Make/linux64GccDPOpt/Curle.o' failed make: *** [Make/linux64GccDPOpt/Curle.o] Error 1 Last edited by thegauravonline; April 11, 2017 at 01:05. |
|
April 11, 2017, 01:11 |
|
#10 |
Member
GS
Join Date: Mar 2016
Posts: 81
Rep Power: 10 |
Found out that fvboundarymesh file in foam-extend version does not have this initialization that exist in fvboundarymesh file of openfoam3.0.
Code:
//- Find patch index given a name label findPatchID(const word& patchName) const; //- Find patch indices given a name labelList findIndices(const keyType&, const bool useGroups) const; |
|
April 14, 2017, 15:33 |
|
#11 |
Senior Member
Sergei
Join Date: Dec 2009
Posts: 261
Rep Power: 21 |
Right, foam-extend version of fvBoundaryMesh doesn't have member-function findPatchID. Then just copy-paste the very body of openfoam's findPatchID to the point where the function itself is called
Code:
label patchId = mesh.boundary().findPatchID(patchName); Code:
label patchId = -1; const fvPatchList& patches = mesh.boundary(); forAll(patches, patchI) { if (patches[patchI].name() == patchName) { patchId = patchI; } } |
|
April 15, 2017, 06:19 |
|
#12 |
Member
GS
Join Date: Mar 2016
Posts: 81
Rep Power: 10 |
Very Thanks Sergel.
It worked smoothly. The library compiled successfully. Thanks again. |
|
April 20, 2017, 06:29 |
|
#13 |
Member
GS
Join Date: Mar 2016
Posts: 81
Rep Power: 10 |
Every thing was in good shape. The library worked perfectly untill it had to calculate "fft".
Looks like the library had only links and initialization just enough to successfully compile. But it cannot recognize the definitions in foam-extend 3.2. Code:
Executing fft for obs: CurleAnalogy1 Checking order rem=10 icoFsiElasticNonLinULSolidFoam: symbol lookup error: /home/iitmech4/foam/iitmech4-3.2/lib/linux64GccDPOpt/libAcoustics.so: undefined symbol: _ZN4Foam3fft16reverseTransformERKNS_3tmpINS_5FieldINS_7complexEEEEERKNS_4ListIiEE What could the problem be in FE-3.2 as the library calculates "fft" flawlessly when I run it in OF-3.0 ? Thanks. |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
error with reactingFoam | BakedAlmonds | OpenFOAM Running, Solving & CFD | 4 | June 22, 2016 03:21 |
[blockMesh] error message with modeling a cube with a hold at the center | hsingtzu | OpenFOAM Meshing & Mesh Conversion | 2 | March 14, 2012 10:56 |
[blockMesh] BlockMesh FOAM warning | gaottino | OpenFOAM Meshing & Mesh Conversion | 7 | July 19, 2010 15:11 |
[blockMesh] Axisymmetrical mesh | Rasmus Gjesing (Gjesing) | OpenFOAM Meshing & Mesh Conversion | 10 | April 2, 2007 15:00 |
[Gmsh] Import gmsh msh to Foam | adorean | OpenFOAM Meshing & Mesh Conversion | 24 | April 27, 2005 09:19 |