MRBF.cpp
156 built = (built && createPortIn<MimmoSharedPointer<MimmoObject>, MRBF>(&m_geometry, M_GEOM, true));
158 built = (built && createPortIn<dvecarr3E, MRBF>(this, &mimmo::MRBF::setDisplacements, M_DISPLS));
159 built = (built && createPortIn<std::vector<double>, MRBF>(this, &mimmo::MRBF::setScalarDisplacements, M_DATAFIELD));
160 built = (built && createPortIn<std::vector<double>, MRBF>(this, &mimmo::MRBF::setVariableSupportRadii, M_DATAFIELD2));
162 built = (built && createPortIn<MimmoSharedPointer<MimmoObject>, MRBF>(this, &mimmo::MRBF::setNode, M_GEOM2));
163 built = (built && createPortIn<dmpvecarr3E*, MRBF>(this, &mimmo::MRBF::setDisplacements, M_VECTORFIELD));
164 built = (built && createPortIn<dmpvector1D*, MRBF>(this, &mimmo::MRBF::setScalarDisplacements, M_SCALARFIELD));
165 built = (built && createPortIn<dmpvector1D*, MRBF>(this, &mimmo::MRBF::setVariableSupportRadii, M_SCALARFIELD2));
167 built = (built && createPortOut<dmpvecarr3E*, MRBF>(this, &mimmo::MRBF::getDisplacements, M_GDISPLS));
168 built = (built && createPortOut<dmpvector1D*, MRBF>(this, &mimmo::MRBF::getScalarDisplacements, M_SCALARFIELD));
169 built = (built && createPortOut<MimmoSharedPointer<MimmoObject>, MRBF>(this, &BaseManipulation::getGeometry, M_GEOM));
721 (*m_log) << "warning: " << getName() << " has displacements of " << i << " field with size (" << size << ") that does not fit number of RBF nodes ("<< getTotalNodesCount() << ")" << std::endl;
753 // Use the whole geometry if maximum radius is greater than the diagonal of bounding box multiplied for a custom factor
828 (*m_log)<<"WARNING "<<m_name<<" : while in SCALAR mode, the class can apply a displacement field only in case of surface geometry (MimmoObject type 1). Skip apply(). "<<std::endl;
1022 (*m_log)<<"Not valid filter found in "<<m_name<<". Proceeding with default unitary field"<<std::endl;
1069 MRBF::plotCloud(std::string directory, std::string filename, int counterFile, bool binary, bool deformed){
1072 (*m_log)<<"WARNING "<<m_name<<": plotCloud skipping print of deformed RBF cloud, while the class is in Scalar mode"<<std::endl;
1254 (*m_log)<<m_name + " : null RBF geometry linked by displacements DOF vectors. Skip object."<<std::endl;
1258 (*m_log)<<m_name + " : RBF DOF vector displacements not linked to RBF geometry. Skip object."<<std::endl;
1267 (*m_log)<<m_name + " : null RBF geometry linked by displacements DOF scalars. Skip object."<<std::endl;
1271 (*m_log)<<m_name + " : RBF DOF scalar displacements not linked to RBF geometry. Skip object."<<std::endl;
1279 (*m_log)<<m_name + " : null RBF geometry linked by support radii vector. Skip object."<<std::endl;
1355 MPI_Recv(nodeBuffer.data(), nodeBuffer.getSize(), MPI_CHAR, sendRank, 910, m_communicator, MPI_STATUS_IGNORE);
1368 MPI_Recv(displBuffer.data(), displBuffer.getSize(), MPI_CHAR, sendRank, 930, m_communicator, MPI_STATUS_IGNORE);
1381 MPI_Recv(radiiBuffer.data(), radiiBuffer.getSize(), MPI_CHAR, sendRank, 930, m_communicator, MPI_STATUS_IGNORE);
1395 MPI_Send(myrankNodeDataBuffer.data(), myrankNodeDataBuffer.getSize(), MPI_CHAR, recvRank, 910, m_communicator);
1397 MPI_Send(myrankDisplDataBuffer.data(), myrankDisplDataBuffer.getSize(), MPI_CHAR, recvRank, 930, m_communicator);
void plotCloud(std::string directory, std::string filename, int counterFile, bool binary, bool deformed)
Definition: MRBF.cpp:1069
@ SYNC
void computeEffectiveSupportRadiusList()
Definition: MRBF.cpp:1146
@ GREEDY
@ HEAVISIDE10
std::vector< double > evalRBF(const std::array< double, 3 > &val)
Definition: MRBF.cpp:1209
ivector1D checkDuplicatedNodes(double tol=1.0E-12)
Definition: MRBF.cpp:373
@ NONE
virtual void absorbSectionXML(const bitpit::Config::Section &slotXML, std::string name="")
Definition: MRBF.cpp:865
mimmo custom derivation of bitpit OBinaryStream (see relative doc)
Definition: mimmo_binary_stream.hpp:55
MPVLocation getDataLocation()
Definition: MimmoPiercedVector.tpp:190
bool completeMissingData(const mpv_t &defValue)
Definition: MimmoPiercedVector.tpp:567
void warningXML(bitpit::Logger *log, std::string name)
Definition: MimmoNamespace.cpp:211
BaseManipulation is the base class of any manipulation object of the library.
Definition: BaseManipulation.hpp:102
MRBFSol
Solver enum for MRBF data fields interpolation/ direct parameterization.
Definition: MRBF.hpp:50
MimmoSharedPointer< MimmoObject > getGeometry() const
Definition: MimmoPiercedVector.tpp:170
@ HEAVISIDE50
dvector1D & getEffectivelyUsedSupportRadii()
Definition: MRBF.cpp:226
void setVariableSupportRadii(dvector1D sradii)
Definition: MRBF.cpp:462
@ DSIGMOID
virtual void absorbSectionXML(const bitpit::Config::Section &slotXML, std::string name="")
Definition: BaseManipulation.cpp:615
@ HEAVISIDE100
virtual void flushSectionXML(bitpit::Config::Section &slotXML, std::string name="")
Definition: BaseManipulation.cpp:670
MimmoSharedPointer< MimmoObject > m_geometry
Definition: BaseManipulation.hpp:144
void setGeometry(MimmoSharedPointer< MimmoObject > geo)
Definition: MimmoPiercedVector.tpp:314
@ HEAVISIDE1000
@ POINT
void setScalarDisplacements(dvector1D displ)
Definition: MRBF.cpp:562
void _apply(MimmoPiercedVector< darray3E > &displacements)
Definition: BaseManipulation.cpp:956
virtual void flushSectionXML(bitpit::Config::Section &slotXML, std::string name="")
Definition: MRBF.cpp:970
bool removeDuplicatedNodes(ivector1D *list=nullptr)
Definition: MRBF.cpp:398
void setDataLocation(MPVLocation loc)
Definition: MimmoPiercedVector.tpp:324
mimmo custom derivation of bitpit IBinaryStream (see relative doc)
Definition: mimmo_binary_stream.hpp:41
MRBFBasisFunction
Enum class defining types of mimmo RBF kernel functions that could be used also in MRBF class,...
Definition: MRBF.hpp:38
MimmoSharedPointer< MimmoObject > getGeometry()
Definition: BaseManipulation.cpp:235
void swap(BaseManipulation &x) noexcept
Definition: BaseManipulation.cpp:140
void setFunction(const MRBFBasisFunction &funct, bool isCompact=false)
Definition: MRBF.cpp:594
@ WHOLE