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;
}
I understand now that the problem is really that the mesh motion solver (you are using multiSolidBodyMotionSolver does not define pointDisplacement
in the same way as e.g. displacementLaplacian
. Therefore, the adapter does not know how to read displacements in this class context.
Since you are trying to use overset, do you also need to use multiSolidBodyMotionSolver? If yes, then you would also need to modify our Displacement.C
accordingly.
@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.
4 Likes
system
Closed
January 10, 2022, 9:52am
4
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.