preCICE using new Mesh Motion Solver

Continuing the discussion from Request for pointVectorField pointDisplacement from objectRegistry region0 failed | available objects of type pointVectorField are 0():

I want to continue the post because I have the same problem when using new Mesh Motion Solver in dynamicMeshDict. What motion solvers does preCICE OpenFOAM adapter support besides displacementLaplacian? How can I extend the adapter if I want to use a new mesh motion solver?

The motion solver works without preCICE but fails after turning on the coupling.

dynamicMeshDict

dynamicFvMesh dynamicMotionSolverFvMesh;

motionSolverLibs ("libRBFMeshMotionSolver.so");
motionSolver RBFMeshMotionSolver;
// Settings for the RBF solver                                                                                            
staticPatches (  upperWall lowerWall front back);
movingPatches ( flapBaffle_master flapBaffle_slave );
fixedPatches     (inlet inletWater outlet);
interpolation
{
	function     TPS;
}
coarsening
{
	enabled      no;
}

@Makis, Can you explain this further? Iā€™m afraid I will mess up Displacment.C and displacementLaplacian will not work.

Here is the detailed error message:

--> FOAM FATAL ERROR: (openfoam-2106)

    request for pointVectorField pointDisplacement from objectRegistry region0 failed
    available objects of type pointVectorField are
0()

    From const Type& Foam::objectRegistry::lookupObject(const Foam::word&, bool) const [with Type = Foam::GeometricField<Foam::Vector<double>, Foam::pointPatchField, Foam::pointMesh>]
    in file /usr/lib/openfoam/openfoam2106/src/OpenFOAM/lnInclude/objectRegistryTemplates.C at line 463.

FOAM aborting

#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::error::exitOrAbort(int, bool) at ??:?
#2  Foam::GeometricField<Foam::Vector<double>, Foam::pointPatchField, Foam::pointMesh> const& Foam::objectRegistry::lookupObject<Foam::GeometricField<Foam::Vector<double>, Foam::pointPatchField, Foam::pointMesh> >(Foam::word const&, bool) const at ??:?
#3  preciceAdapter::FSI::Displacement::Displacement(Foam::fvMesh const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) at ??:?
#4  preciceAdapter::FSI::FluidStructureInteraction::addReaders(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, preciceAdapter::Interface*) at ??:?
#5  preciceAdapter::Adapter::configure() at ??:?
#6  Foam::functionObjects::preciceAdapterFunctionObject::read(Foam::dictionary const&) at ??:?
#7  Foam::functionObjects::preciceAdapterFunctionObject::preciceAdapterFunctionObject(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
#8  Foam::functionObject::adddictionaryConstructorToTable<Foam::functionObjects::preciceAdapterFunctionObject>::New(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
#9  Foam::functionObject::New(Foam::word const&, Foam::Time const&, Foam::dictionary const&) at ??:?
#10  Foam::functionObjectList::read() at ??:?
#11  Foam::Time::run() const at ??:?
#12  ? in /usr/lib/openfoam/openfoam2106/platforms/linux64GccDPInt32Opt/bin/interFoam
#13  __libc_start_main in /lib/x86_64-linux-gnu/libc.so.6
#14  ? in /usr/lib/openfoam/openfoam2106/platforms/linux64GccDPInt32Opt/bin/interFoam
[Thinkpad-Michael:07407] *** Process received signal ***
[Thinkpad-Michael:07407] Signal: Aborted (6)
[Thinkpad-Michael:07407] Signal code:  (-6)
[Thinkpad-Michael:07407] [ 0] /lib/x86_64-linux-gnu/libpthread.so.0(+0x153c0)[0x7fe3cfabd3c0]
[Thinkpad-Michael:07407] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb)[0x7fe3cf8fc18b]
[Thinkpad-Michael:07407] [ 2] /lib/x86_64-linux-gnu/libc.so.6(abort+0x12b)[0x7fe3cf8db859]
[Thinkpad-Michael:07407] [ 3] /usr/lib/openfoam/openfoam2106/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZN4Foam5error11exitOrAbortEib+0x367)[0x7fe3d01e6a67]
[Thinkpad-Michael:07407] [ 4] /home/michael/OpenFOAM/michael-v2106/platforms/linux64GccDPInt32Opt/lib/libpreciceAdapterFunctionObject.so(_ZNK4Foam14objectRegistry12lookupObjectINS_14GeometricFieldINS_6VectorIdEENS_15pointPatchFieldENS_9pointMeshEEEEERKT_RKNS_4wordEb+0x13a)[0x7fe3cbd7349a]
[Thinkpad-Michael:07407] [ 5] /home/michael/OpenFOAM/michael-v2106/platforms/linux64GccDPInt32Opt/lib/libpreciceAdapterFunctionObject.so(_ZN14preciceAdapter3FSI12DisplacementC1ERKN4Foam6fvMeshENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESB_+0xaf)[0x7fe3cbd71c4f]
[Thinkpad-Michael:07407] [ 6] /home/michael/OpenFOAM/michael-v2106/platforms/linux64GccDPInt32Opt/lib/libpreciceAdapterFunctionObject.so(_ZN14preciceAdapter3FSI25FluidStructureInteraction10addReadersENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS_9InterfaceE+0x283)[0x7fe3cbd2e253]
[Thinkpad-Michael:07407] [ 7] /home/michael/OpenFOAM/michael-v2106/platforms/linux64GccDPInt32Opt/lib/libpreciceAdapterFunctionObject.so(_ZN14preciceAdapter7Adapter9configureEv+0xc8b)[0x7fe3cbd8809b]
[Thinkpad-Michael:07407] [ 8] /home/michael/OpenFOAM/michael-v2106/platforms/linux64GccDPInt32Opt/lib/libpreciceAdapterFunctionObject.so(_ZN4Foam15functionObjects28preciceAdapterFunctionObject4readERKNS_10dictionaryE+0x11)[0x7fe3cbdc9541]
[Thinkpad-Michael:07407] [ 9] /home/michael/OpenFOAM/michael-v2106/platforms/linux64GccDPInt32Opt/lib/libpreciceAdapterFunctionObject.so(_ZN4Foam15functionObjects28preciceAdapterFunctionObjectC2ERKNS_4wordERKNS_4TimeERKNS_10dictionaryE+0x4d)[0x7fe3cbdc968d]
[Thinkpad-Michael:07407] [10] /home/michael/OpenFOAM/michael-v2106/platforms/linux64GccDPInt32Opt/lib/libpreciceAdapterFunctionObject.so(_ZN4Foam14functionObject31adddictionaryConstructorToTableINS_15functionObjects28preciceAdapterFunctionObjectEE3NewERKNS_4wordERKNS_4TimeERKNS_10dictionaryE+0x37)[0x7fe3cbdc9ba7]
[Thinkpad-Michael:07407] [11] /usr/lib/openfoam/openfoam2106/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZN4Foam14functionObject3NewERKNS_4wordERKNS_4TimeERKNS_10dictionaryE+0x40e)[0x7fe3d043835e]
[Thinkpad-Michael:07407] [12] /usr/lib/openfoam/openfoam2106/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZN4Foam18functionObjectList4readEv+0xa1c)[0x7fe3d043c2ec]
[Thinkpad-Michael:07407] [13] /usr/lib/openfoam/openfoam2106/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so(_ZNK4Foam4Time3runEv+0x2e7)[0x7fe3d0455a77]
[Thinkpad-Michael:07407] [14] interFoam(+0x5276b)[0x564b16bcb76b]
[Thinkpad-Michael:07407] [15] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x7fe3cf8dd0b3]
[Thinkpad-Michael:07407] [16] interFoam(+0x5cfae)[0x564b16bd5fae]
[Thinkpad-Michael:07407] *** End of error message ***
Aborted

I found one issue that the mesh motion solver does not use the pointDisplacement file to move the mesh, whereas preCICE needs this file.

2 Likes

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.