46 CEPS_ABORT_IF (meshes.size()<2,
"Coupled nodes can be registered only between two meshes");
60 "Impossible to read mesh names after CONNECTION keyword in file " <<
m_fileName
63 "Cannot find mesh given after CONNECTION keyword" << mesh
#define CEPS_ABORT_IF(condition, message)
Stops the execution with a message if condition is true. If testing is enabled, only throws a runtime...
std::basic_string< CepsChar > CepsString
C++ format string.
std::vector< _Type, _Alloc > CepsVector
C++ vector.
std::make_unsigned_t< CepsInt > CepsUInt
Unsigned version on CepsInt.
CepsGlobalIndex CepsNodeGlobalIndex
Indices of nodes.
CoupledNodesReader(const CepsString &coupledNodesFile)
Constructor.
~CoupledNodesReader() override
Destructor.
CepsVector< NodeCoupling > getCoupledNodesBetween(const CepsVector< CepsString > &meshes)
Returns all given couples between current meshes,.
Base class that regroups common reader functionalities.
void reset()
Set file stream to the beginning of the file.
virtual CepsBool open()
Opens the designated file in read mode.
CepsString m_fileName
file to open
CepsBool findNext(const CepsString &pattern)
Advance stream until pattern is found.
std::ifstream m_file
stream
Meta-cell for connections between meshes.
void addCouple(const CepsNodeGlobalIndex &, const CepsNodeGlobalIndex &)
Adds an attribute.
void addMesh(const CepsString &mesh)
Adds a mesh.
CepsBool isValidIn(const CepsVector< CepsString > &meshes)
Determines if coupling can be used within the provided.
CepsInt readInt(std::istream &file, const CepsString &errorMessage="")
Reads an integral number from an istream, aborts if conversion fails advances the stream by 1 word.
CepsBool fileExists(const CepsString &fileName, const CepsString &directory)