openfoam-adapter
openfoam-adapter copied to clipboard
`faceNodes` locations are incompatible with RBFMeshMotionSolver
Related to #227. Using the adapter in an FSI simulation and selecting locations faceNodes;
for the interface and the RBFMeshMotion (see also #241) leads to the following crash
#0 Foam::error::printStack(Foam::Ostream&) at ??:?
#1 Foam::sigSegv::sigHandler(int) at ??:?
#2 ? in /lib/x86_64-linux-gnu/libc.so.6
#3 Foam::IOobject::db() const at ??:?
#4 Foam::regIOobject::setUpToDate() at ??:?
#5 preciceAdapter::FSI::Displacement::read(double*, unsigned int) at ??:?
#6 preciceAdapter::Interface::readCouplingData() at ??:?
#7 preciceAdapter::Adapter::readCouplingData() at ??:?
#8 preciceAdapter::Adapter::configure() at ??:?
#9 Foam::functionObjects::preciceAdapterFunctionObject::read(Foam::dictionary const&) at ??:?
#10 Foam::functionObjects::preciceAdapterFunctionObject::preciceAdapterFunctionObject(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
#11 Foam::functionObject::adddictionaryConstructorToTable<Foam::functionObjects::preciceAdapterFunctionObject>::New(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
#12 Foam::functionObject::New(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
#13 Foam::functionObjectList::read() at ??:?
#14 Foam::Time::run() const at ??:?
#15 ? in /usr/lib/openfoam/openfoam2012/platforms/linux64GccDPInt32Opt/bin/pimpleFoam
#16 ? in /lib/x86_64-linux-gnu/libc.so.6
#17 __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
#18 ? in /usr/lib/openfoam/openfoam2012/platforms/linux64GccDPInt32Opt/bin/pimpleFoam
Segmentation fault (core dumped)
The RBFMeshMotion solver is only compatible using locations faceCenters;
and we should try to safeguard against the behavior above.