52 CEPS_ABORT_IF(
id>1,
"A node coupling has only two meshes, but getMesh(i) was called with i="<<
id);
68 CEPS_WARNS(
"Node coupling must have exactly two meshes registered to be valid");
83 CEPS_ABORT(
"Cannot register more than two meshes in node coupling");
90 std::pair<CepsNodeGlobalIndex,CepsNodeGlobalIndex> p(id1,id2);
#define CEPS_ABORT(message)
Stops the execution with a message. If testing is enabled, only throws a runtime_error.
#define CEPS_ABORT_IF(condition, message)
Stops the execution with a message if condition is true. If testing is enabled, only throws a runtime...
#define CEPS_WARNS(message)
Writes a warning in the debug log and in the terminal (stderr).
std::basic_string< CepsChar > CepsString
C++ format string.
std::set< _Type, _Compare, _Alloc > CepsSet
C++ set.
std::vector< _Type, _Alloc > CepsVector
C++ vector.
std::make_unsigned_t< CepsInt > CepsUInt
Unsigned version on CepsInt.
CepsGlobalIndex CepsNodeGlobalIndex
Indices of nodes.
void addCouple(const CepsNodeGlobalIndex &, const CepsNodeGlobalIndex &)
Adds an attribute.
const CepsSet< std::pair< CepsNodeGlobalIndex, CepsNodeGlobalIndex > > & getNodeCouples() const
Connection attributes.
virtual ~NodeCoupling()
Destructor.
std::array< CepsString, 2 > m_meshes
Connected meshes.
void addMesh(const CepsString &mesh)
Adds a mesh.
const CepsString & getMesh(CepsUInt id) const
Connected meshes.
const std::array< CepsString, 2 > & getMeshes() const
Connected meshes.
CepsSet< std::pair< CepsNodeGlobalIndex, CepsNodeGlobalIndex > > m_couples
couples of node indices
CepsBool isValidIn(const CepsVector< CepsString > &meshes)
Determines if coupling can be used within the provided.
NodeCoupling()
Default constructor.
CepsBool contains(const CepsVector< _Type, _Alloc > &vec, const _Type &item)
Tells if vectors contains a given item.