KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
An IO class for reading and writing a modelpart. More...
#include <model_part_io.h>
Public Member Functions | |
Life Cycle | |
ModelPartIO (std::filesystem::path const &Filename, const Flags Options=IO::READ|IO::IGNORE_VARIABLES_ERROR.AsFalse()|IO::SKIP_TIMER) | |
Constructor with filename. More... | |
ModelPartIO (Kratos::shared_ptr< std::iostream > Stream, const Flags Options=IO::IGNORE_VARIABLES_ERROR.AsFalse()|IO::SKIP_TIMER) | |
Constructor with stream. More... | |
~ModelPartIO () override | |
Constructor with filenames. More... | |
Operations | |
bool | ReadNode (NodeType &rThisNode) override |
This method reads one node. More... | |
bool | ReadNodes (NodesContainerType &rThisNodes) override |
This method reads the nodes from an array of nodes. More... | |
std::size_t | ReadNodesNumber () override |
This method reads the number of nodes. More... | |
void | WriteNodes (NodesContainerType const &rThisNodes) override |
This method writes the nodes from an array of nodes. More... | |
void | ReadProperties (Properties &rThisProperties) override |
This method reads one Properties. More... | |
void | ReadProperties (PropertiesContainerType &rThisProperties) override |
This method reads the Properties from an array of Properties. More... | |
void | WriteProperties (PropertiesContainerType const &rThisProperties) override |
This method writes one Properties. More... | |
void | ReadGeometry (NodesContainerType &rThisNodes, GeometryType::Pointer &pThisGeometry) override |
This method reads one geometry. More... | |
void | ReadGeometries (NodesContainerType &rThisNodes, GeometryContainerType &rThisGeometries) override |
This method reads an array of geometries. More... | |
std::size_t | ReadGeometriesConnectivities (ConnectivitiesContainerType &rGeometriesConnectivities) override |
This method reads the geometries connectivities. More... | |
void | WriteGeometries (GeometryContainerType const &rThisGeometries) override |
This method writes an array of geometries. More... | |
void | ReadElement (NodesContainerType &rThisNodes, PropertiesContainerType &rThisProperties, Element::Pointer &pThisElement) override |
This method reads one element. More... | |
void | ReadElements (NodesContainerType &rThisNodes, PropertiesContainerType &rThisProperties, ElementsContainerType &rThisElements) override |
This method reads an array of elements. More... | |
std::size_t | ReadElementsConnectivities (ConnectivitiesContainerType &rElementsConnectivities) override |
This method reads the elements connectivities. More... | |
void | WriteElements (ElementsContainerType const &rThisElements) override |
This method writes an array of elements. More... | |
void | ReadConditions (NodesContainerType &rThisNodes, PropertiesContainerType &rThisProperties, ConditionsContainerType &rThisConditions) override |
This method reads an array of conditions. More... | |
std::size_t | ReadConditionsConnectivities (ConnectivitiesContainerType &rConditionsConnectivities) override |
This method reads the conditions connectivities. More... | |
void | WriteConditions (ConditionsContainerType const &rThisConditions) override |
This method writes an array of conditions. More... | |
void | ReadInitialValues (ModelPart &rThisModelPart) override |
This method reads the initial values of the model part. More... | |
void | ReadMesh (MeshType &rThisMesh) override |
This method reads the mesh. More... | |
void | WriteMesh (MeshType &rThisMesh) override |
This method writes the mesh. More... | |
void | ReadModelPart (ModelPart &rThisModelPart) override |
This method reads the model part. More... | |
void | WriteModelPart (ModelPart &rThisModelPart) override |
This method writes the model part. More... | |
std::size_t | ReadNodalGraph (ConnectivitiesContainerType &rAuxConnectivities) override |
Read the input file and create the nodal connectivities graph, stored in CSR format. More... | |
void | DivideInputToPartitions (SizeType NumberOfPartitions, const PartitioningInfo &rPartitioningInfo) override |
This method divides a model part into partitions. More... | |
void | DivideInputToPartitions (Kratos::shared_ptr< std::iostream > *pStreams, SizeType NumberOfPartitions, const PartitioningInfo &rPartitioningInfo) override |
This method divides a model part into partitions. More... | |
void | SwapStreamSource (Kratos::shared_ptr< std::iostream > newStream) |
void | ReadSubModelPartElementsAndConditionsIds (std::string const &rModelPartName, std::unordered_set< SizeType > &rElementsIds, std::unordered_set< SizeType > &rConditionsIds) override |
std::size_t | ReadNodalGraphFromEntitiesList (ConnectivitiesContainerType &rAuxConnectivities, std::unordered_set< SizeType > &rElementsIds, std::unordered_set< SizeType > &rConditionsIds) override |
Input and output | |
std::string | Info () const override |
Turn back information as a string. More... | |
void | PrintInfo (std::ostream &rOStream) const override |
Print information about this object. More... | |
void | PrintData (std::ostream &rOStream) const override |
Print object's data. More... | |
Public Member Functions inherited from Kratos::IO | |
IO ()=default | |
Default constructor. More... | |
virtual | ~IO ()=default |
Destructor. More... | |
IO (IO const &rOther)=delete | |
Copy constructor. More... | |
IO & | operator= (IO const &rOther)=delete |
Assignment operator. More... | |
virtual void | WriteProperties (Properties const &rThisProperties) |
This method writes one Properties. More... | |
virtual void | ReadCondition (NodesContainerType &rThisNodes, PropertiesContainerType &rThisProperties, Condition::Pointer &pThisCondition) |
This method reads one condition. More... | |
virtual void | ReadInitialValues (NodesContainerType &rThisNodes, ElementsContainerType &rThisElements, ConditionsContainerType &rThisConditions) |
This method reads the initial values of the nodes, elements and conditios. More... | |
virtual void | WriteMesh (const MeshType &rThisMesh) |
This method writes the mesh. More... | |
virtual void | WriteModelPart (const ModelPart &rThisModelPart) |
This method writes the model part. More... | |
virtual void | WriteNodeMesh (MeshType &rThisMesh) |
This method writes the node mesh. More... | |
virtual void | WriteNodeMesh (const MeshType &rThisMesh) |
This method writes the node mesh. More... | |
virtual void | DivideInputToPartitions (SizeType NumberOfPartitions, GraphType const &rDomainsColoredGraph, PartitionIndicesType const &rNodesPartitions, PartitionIndicesType const &rElementsPartitions, PartitionIndicesType const &rConditionsPartitions, PartitionIndicesContainerType const &rNodesAllPartitions, PartitionIndicesContainerType const &rElementsAllPartitions, PartitionIndicesContainerType const &rConditionsAllPartitions) |
This method divides a model part into partitions. More... | |
virtual void | DivideInputToPartitions (Kratos::shared_ptr< std::iostream > *pStreams, SizeType NumberOfPartitions, GraphType const &rDomainsColoredGraph, PartitionIndicesType const &rNodesPartitions, PartitionIndicesType const &rElementsPartitions, PartitionIndicesType const &rConditionsPartitions, PartitionIndicesContainerType const &rNodesAllPartitions, PartitionIndicesContainerType const &rElementsAllPartitions, PartitionIndicesContainerType const &rConditionsAllPartitions) |
This method divides a model part into partitions. More... | |
KRATOS_CLASS_POINTER_DEFINITION (IO) | |
Pointer definition of IO. More... | |
KRATOS_DEFINE_LOCAL_FLAG (READ) | |
Local Flags. More... | |
KRATOS_DEFINE_LOCAL_FLAG (WRITE) | |
KRATOS_DEFINE_LOCAL_FLAG (APPEND) | |
KRATOS_DEFINE_LOCAL_FLAG (IGNORE_VARIABLES_ERROR) | |
KRATOS_DEFINE_LOCAL_FLAG (SKIP_TIMER) | |
KRATOS_DEFINE_LOCAL_FLAG (MESH_ONLY) | |
KRATOS_DEFINE_LOCAL_FLAG (SCIENTIFIC_PRECISION) | |
Protected Member Functions | |
Protected Operations | |
virtual ModelPartIO::SizeType | ReorderedNodeId (ModelPartIO::SizeType NodeId) |
virtual ModelPartIO::SizeType | ReorderedGeometryId (ModelPartIO::SizeType GeometryId) |
virtual ModelPartIO::SizeType | ReorderedElementId (ModelPartIO::SizeType ElementId) |
virtual ModelPartIO::SizeType | ReorderedConditionId (ModelPartIO::SizeType ConditionId) |
Type Definitions | |
typedef IO | BaseType |
typedef BaseType::NodeType | NodeType |
typedef BaseType::MeshType | MeshType |
typedef BaseType::NodesContainerType | NodesContainerType |
typedef BaseType::PropertiesContainerType | PropertiesContainerType |
typedef BaseType::ElementsContainerType | ElementsContainerType |
typedef BaseType::ConditionsContainerType | ConditionsContainerType |
typedef BaseType::ConnectivitiesContainerType | ConnectivitiesContainerType |
typedef std::vector< std::ostream * > | OutputFilesContainerType |
typedef std::size_t | SizeType |
KRATOS_CLASS_POINTER_DEFINITION (ModelPartIO) | |
Pointer definition of ModelPartIO. More... | |
virtual void | WriteProperties (Properties const &rThisProperties) |
This method writes one Properties. More... | |
virtual void | WriteProperties (PropertiesContainerType const &rThisProperties) |
This method writes the Properties from an array of Properties. More... | |
Additional Inherited Members | |
Public Types inherited from Kratos::IO | |
typedef Node | NodeType |
typedef Geometry< NodeType > | GeometryType |
typedef Mesh< NodeType, Properties, Element, Condition > | MeshType |
typedef MeshType::NodesContainerType | NodesContainerType |
typedef MeshType::PropertiesContainerType | PropertiesContainerType |
typedef ModelPart::GeometryContainerType | GeometryContainerType |
typedef MeshType::ElementsContainerType | ElementsContainerType |
typedef MeshType::ConditionsContainerType | ConditionsContainerType |
typedef std::vector< std::vector< std::size_t > > | ConnectivitiesContainerType |
typedef std::vector< std::vector< std::size_t > > | PartitionIndicesContainerType |
typedef std::vector< std::size_t > | PartitionIndicesType |
typedef std::size_t | SizeType |
typedef DenseMatrix< int > | GraphType |
An IO class for reading and writing a modelpart.
This class reads and writes all modelpart data including the meshes.
typedef IO Kratos::ModelPartIO::BaseType |
typedef std::vector<std::ostream*> Kratos::ModelPartIO::OutputFilesContainerType |
typedef std::size_t Kratos::ModelPartIO::SizeType |
Kratos::ModelPartIO::ModelPartIO | ( | std::filesystem::path const & | Filename, |
const Flags | Options = IO::READ | IO::IGNORE_VARIABLES_ERROR.AsFalse() | IO::SKIP_TIMER |
||
) |
Constructor with filename.
Constructor with filenames.
Kratos::ModelPartIO::ModelPartIO | ( | Kratos::shared_ptr< std::iostream > | Stream, |
const Flags | Options = IO::IGNORE_VARIABLES_ERROR.AsFalse() | IO::SKIP_TIMER |
||
) |
Constructor with stream.
|
override |
Constructor with filenames.
Destructor.
|
overridevirtual |
This method divides a model part into partitions.
pStreams | The stream pointer |
NumberOfPartitions | The number of partitions |
rPartitioningInfo | Information about partitioning of entities |
Reimplemented from Kratos::IO.
|
overridevirtual |
This method divides a model part into partitions.
NumberOfPartitions | The number of partitions |
rPartitioningInfo | Information about partitioning of entities |
Reimplemented from Kratos::IO.
|
inlineoverridevirtual |
Turn back information as a string.
Reimplemented from Kratos::IO.
Kratos::ModelPartIO::KRATOS_CLASS_POINTER_DEFINITION | ( | ModelPartIO | ) |
Pointer definition of ModelPartIO.
|
inlineoverridevirtual |
Print object's data.
Reimplemented from Kratos::IO.
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::IO.
|
overridevirtual |
This method reads an array of conditions.
rThisNodes | The nodes constituying the condition |
rThisProperties | The Properties of the condition |
rThisConditions | The array of conditions |
Reimplemented from Kratos::IO.
|
overridevirtual |
This method reads the conditions connectivities.
rConditionsConnectivities | The conditions connectivities |
Reimplemented from Kratos::IO.
|
overridevirtual |
This method reads one element.
rThisNodes | The nodes constituying the element |
rThisProperties | The Properties of the element |
pThisElements | The pointer to the element |
Reimplemented from Kratos::IO.
|
overridevirtual |
This method reads an array of elements.
rThisNodes | The nodes constituying the element |
rThisProperties | The Properties of the element |
rThisElement | The array of elements |
Reimplemented from Kratos::IO.
|
overridevirtual |
This method reads the elements connectivities.
rElementsConnectivities | The elements connectivities |
Reimplemented from Kratos::IO.
|
overridevirtual |
This method reads an array of geometries.
rThisNodes | The nodes constituying the geometry |
rThisGeometry | The array of geometries |
Reimplemented from Kratos::IO.
|
overridevirtual |
This method reads the geometries connectivities.
rGeometriesConnectivities | The geometries connectivities |
Reimplemented from Kratos::IO.
|
overridevirtual |
This method reads one geometry.
rThisNodes | The nodes constituying the geometry |
pThisGeometries | The pointer to the geometry |
Reimplemented from Kratos::IO.
|
overridevirtual |
This method reads the initial values of the model part.
rThisModelPart | The model part with the initial values to be read |
Reimplemented from Kratos::IO.
|
overridevirtual |
|
overridevirtual |
This method reads the model part.
rThisModelPart | The model part to be read |
Reimplemented from Kratos::IO.
|
overridevirtual |
Read the input file and create the nodal connectivities graph, stored in CSR format.
This function produces input for Metis' nodal graph partitioning algorithms. The nodal graph is stored as a (compressed) matrix where index (i,j) is non-zero if there is an edge in the mesh joining nodes i and j (note that nodes are numbered from zero here, to make integration with Metis simpler). After call, will point to C array of size NumNodes+1 containing the first CSR array: entries related to node k are stored between positions (*NodeIndices)[k] and (*NodeIndices)[k+1] of *NodeConnectivities.
rAuxConnectivities | After call, will point to a C array of size (*NodeIndices)[NumNodes]. entries between (*NodeIndices)[k] and (*NodeIndices)[k+1] are a list of all nodes connected to node k (counting from 0). |
Reimplemented from Kratos::IO.
|
overridevirtual |
Reimplemented from Kratos::IO.
|
overridevirtual |
This method reads the nodes from an array of nodes.
rThisNodes | The array of nodes to be read |
Reimplemented from Kratos::IO.
|
overridevirtual |
|
overridevirtual |
This method reads one Properties.
rThisProperties | The Properties to be read |
Reimplemented from Kratos::IO.
|
overridevirtual |
This method reads the Properties from an array of Properties.
rThisProperties | The array of Properties to be read |
Reimplemented from Kratos::IO.
|
overridevirtual |
Reimplemented from Kratos::IO.
|
protectedvirtual |
Reimplemented in Kratos::ReorderConsecutiveModelPartIO.
|
protectedvirtual |
Reimplemented in Kratos::ReorderConsecutiveModelPartIO.
|
protectedvirtual |
|
protectedvirtual |
Reimplemented in Kratos::ReorderConsecutiveModelPartIO.
void Kratos::ModelPartIO::SwapStreamSource | ( | Kratos::shared_ptr< std::iostream > | newStream | ) |
|
overridevirtual |
This method writes an array of conditions.
rThisConditions | The array of conditions to be written |
Reimplemented from Kratos::IO.
|
overridevirtual |
This method writes an array of elements.
rThisElements | The array of elements to be written |
Reimplemented from Kratos::IO.
|
overridevirtual |
This method writes an array of geometries.
rThisGeometries | The array of geometries to be written |
Reimplemented from Kratos::IO.
|
overridevirtual |
This method writes the mesh.
rThisMesh | The mesh to be written |
Reimplemented from Kratos::IO.
|
overridevirtual |
This method writes the model part.
rThisModelPart | The model part to be written |
Reimplemented from Kratos::IO.
|
overridevirtual |
This method writes the nodes from an array of nodes.
rThisNodes | The array of nodes to be written |
Reimplemented from Kratos::IO.
|
inline |
This method writes one Properties.
rThisProperties | The Properties to be written |
|
inline |
This method writes the Properties from an array of Properties.
rThisProperties | The array of Properties to be written |
|
overridevirtual |
This method writes one Properties.
rThisProperties | The Properties to be written |
Reimplemented from Kratos::IO.