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.
List of all members
Kratos::KratosJsonIO Class Reference

An IO class for reading and writing a modelpart. More...

#include <json_io.h>

Inheritance diagram for Kratos::KratosJsonIO:
Collaboration diagram for Kratos::KratosJsonIO:

Public Member Functions

Life Cycle
 KratosJsonIO (std::string const &Filename, const Flags Options=IO::READ|IO::IGNORE_VARIABLES_ERROR.AsFalse())
 Constructor with filenames. More...
 
virtual void ReadModelPart (ModelPart &rThisModelPart)
 This method reads the model part. More...
 
virtual ~KratosJsonIO ()
 Constructor with filenames. More...
 
Input and output
virtual std::string Info () const
 Turn back information as a string. More...
 
virtual void PrintInfo (std::ostream &rOStream) const
 Print information about this object. More...
 
virtual void PrintData (std::ostream &rOStream) const
 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...
 
IOoperator= (IO const &rOther)=delete
 Assignment operator. More...
 
virtual bool ReadNode (NodeType &rThisNode)
 This method reads one node. More...
 
virtual bool ReadNodes (NodesContainerType &rThisNodes)
 This method reads the nodes from an array of nodes. More...
 
virtual std::size_t ReadNodesNumber ()
 This method reads the number of nodes. More...
 
virtual void WriteNodes (NodesContainerType const &rThisNodes)
 This method writes the nodes from an array of nodes. More...
 
virtual void ReadProperties (Properties &rThisProperties)
 This method reads one Properties. More...
 
virtual void ReadProperties (PropertiesContainerType &rThisProperties)
 This method reads the Properties from an array of Properties. 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...
 
virtual void ReadGeometry (NodesContainerType &rThisNodes, GeometryType::Pointer &pThisGeometry)
 This method reads one geometry. More...
 
virtual void ReadGeometries (NodesContainerType &rThisNodes, GeometryContainerType &rThisGeometries)
 This method reads an array of geometries. More...
 
virtual std::size_t ReadGeometriesConnectivities (ConnectivitiesContainerType &rGeometriesConnectivities)
 This method reads the geometries connectivities. More...
 
virtual void WriteGeometries (GeometryContainerType const &rThisGeometries)
 This method writes an array of geometries. More...
 
virtual void ReadElement (NodesContainerType &rThisNodes, PropertiesContainerType &rThisProperties, Element::Pointer &pThisElement)
 This method reads one element. More...
 
virtual void ReadElements (NodesContainerType &rThisNodes, PropertiesContainerType &rThisProperties, ElementsContainerType &rThisElements)
 This method reads an array of elements. More...
 
virtual std::size_t ReadElementsConnectivities (ConnectivitiesContainerType &rElementsConnectivities)
 This method reads the elements connectivities. More...
 
virtual void WriteElements (ElementsContainerType const &rThisElements)
 This method writes an array of elements. More...
 
virtual void ReadCondition (NodesContainerType &rThisNodes, PropertiesContainerType &rThisProperties, Condition::Pointer &pThisCondition)
 This method reads one condition. More...
 
virtual void ReadConditions (NodesContainerType &rThisNodes, PropertiesContainerType &rThisProperties, ConditionsContainerType &rThisConditions)
 This method reads an array of conditions. More...
 
virtual std::size_t ReadConditionsConnectivities (ConnectivitiesContainerType &rConditionsConnectivities)
 This method reads the conditions connectivities. More...
 
virtual void WriteConditions (ConditionsContainerType const &rThisConditions)
 This method writes an array of conditions. More...
 
virtual void ReadInitialValues (ModelPart &rThisModelPart)
 This method reads the initial values of the model part. 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 ReadMesh (MeshType &rThisMesh)
 This method reads the mesh. More...
 
virtual void WriteMesh (MeshType &rThisMesh)
 This method writes the mesh. More...
 
virtual void WriteMesh (const MeshType &rThisMesh)
 This method writes the mesh. More...
 
virtual void WriteModelPart (ModelPart &rThisModelPart)
 This method writes the model part. 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 std::size_t ReadNodalGraph (ConnectivitiesContainerType &rAuxConnectivities)
 Read the input file and create the nodal connectivities graph, stored in CSR format. More...
 
virtual void DivideInputToPartitions (SizeType NumberOfPartitions, const PartitioningInfo &rPartitioningInfo)
 This method divides a model part into partitions. 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, const PartitioningInfo &rPartitioningInfo)
 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...
 
virtual void ReadSubModelPartElementsAndConditionsIds (std::string const &rModelPartName, std::unordered_set< SizeType > &rElementsIds, std::unordered_set< SizeType > &rConditionsIds)
 
virtual std::size_t ReadNodalGraphFromEntitiesList (ConnectivitiesContainerType &rAuxConnectivities, std::unordered_set< SizeType > &rElementsIds, std::unordered_set< SizeType > &rConditionsIds)
 
 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
void FillModelPart (rapidjson::Document &d, ModelPart &rThisModelPart)
 
void EnforceConsecutiveOrdering (rapidjson::Document &d)
 
template<class TVarType >
bool CheckAndAssignNodalValue (ModelPart &r_model_part, std::string variable_name, const rapidjson::Value &json_value, unsigned int stepindex)
 
template<class TVarType >
bool CheckAndAssignNodalComponentValue (ModelPart &r_model_part, std::string variable_name, const rapidjson::Value &json_value, unsigned int stepindex)
 
template<class TVarType >
bool CheckAndAssignNodalValue_ErrorIfFixed (ModelPart &r_model_part, std::string variable_name, const rapidjson::Value &json_value, unsigned int stepindex)
 
template<class TVarType >
bool CheckAndAssignPropertyValue (Properties::Pointer pProperty, std::string variable_name, const rapidjson::Value &json_value)
 
Un accessible methods
KratosJsonIOoperator= (KratosJsonIO const &rOther)
 Assignment operator. More...
 
 KratosJsonIO (KratosJsonIO const &rOther)
 Copy constructor. More...
 

Protected Attributes

Member Variables
std::string mFilename
 
Flags mOptions
 

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::size_t SizeType
 
 KRATOS_CLASS_POINTER_DEFINITION (KratosJsonIO)
 Pointer definition of KratosJsonIO. More...
 

Additional Inherited Members

- Public Types inherited from Kratos::IO
typedef Node NodeType
 
typedef Geometry< NodeTypeGeometryType
 
typedef Mesh< NodeType, Properties, Element, ConditionMeshType
 
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< intGraphType
 

Detailed Description

An IO class for reading and writing a modelpart.

This class reads and writes all modelpart data including the meshes.

Member Typedef Documentation

◆ BaseType

◆ ConditionsContainerType

◆ ConnectivitiesContainerType

◆ ElementsContainerType

◆ MeshType

◆ NodesContainerType

◆ NodeType

◆ PropertiesContainerType

◆ SizeType

typedef std::size_t Kratos::KratosJsonIO::SizeType

Constructor & Destructor Documentation

◆ KratosJsonIO() [1/2]

Kratos::KratosJsonIO::KratosJsonIO ( std::string const &  Filename,
const Flags  Options = IO::READ | IO::IGNORE_VARIABLES_ERROR.AsFalse() 
)
inline

Constructor with filenames.

◆ ~KratosJsonIO()

virtual Kratos::KratosJsonIO::~KratosJsonIO ( )
inlinevirtual

Constructor with filenames.

Destructor.

◆ KratosJsonIO() [2/2]

Kratos::KratosJsonIO::KratosJsonIO ( KratosJsonIO const &  rOther)
protected

Copy constructor.

Member Function Documentation

◆ CheckAndAssignNodalComponentValue()

template<class TVarType >
bool Kratos::KratosJsonIO::CheckAndAssignNodalComponentValue ( ModelPart r_model_part,
std::string  variable_name,
const rapidjson::Value &  json_value,
unsigned int  stepindex 
)
inlineprotected

◆ CheckAndAssignNodalValue()

template<class TVarType >
bool Kratos::KratosJsonIO::CheckAndAssignNodalValue ( ModelPart r_model_part,
std::string  variable_name,
const rapidjson::Value &  json_value,
unsigned int  stepindex 
)
inlineprotected

◆ CheckAndAssignNodalValue_ErrorIfFixed()

template<class TVarType >
bool Kratos::KratosJsonIO::CheckAndAssignNodalValue_ErrorIfFixed ( ModelPart r_model_part,
std::string  variable_name,
const rapidjson::Value &  json_value,
unsigned int  stepindex 
)
inlineprotected

◆ CheckAndAssignPropertyValue()

template<class TVarType >
bool Kratos::KratosJsonIO::CheckAndAssignPropertyValue ( Properties::Pointer  pProperty,
std::string  variable_name,
const rapidjson::Value &  json_value 
)
inlineprotected

◆ EnforceConsecutiveOrdering()

void Kratos::KratosJsonIO::EnforceConsecutiveOrdering ( rapidjson::Document &  d)
inlineprotected

◆ FillModelPart()

void Kratos::KratosJsonIO::FillModelPart ( rapidjson::Document &  d,
ModelPart rThisModelPart 
)
inlineprotected

◆ Info()

virtual std::string Kratos::KratosJsonIO::Info ( ) const
inlinevirtual

Turn back information as a string.

Reimplemented from Kratos::IO.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::KratosJsonIO::KRATOS_CLASS_POINTER_DEFINITION ( KratosJsonIO  )

Pointer definition of KratosJsonIO.

◆ operator=()

KratosJsonIO& Kratos::KratosJsonIO::operator= ( KratosJsonIO const &  rOther)
protected

Assignment operator.

◆ PrintData()

virtual void Kratos::KratosJsonIO::PrintData ( std::ostream &  rOStream) const
inlinevirtual

Print object's data.

Reimplemented from Kratos::IO.

◆ PrintInfo()

virtual void Kratos::KratosJsonIO::PrintInfo ( std::ostream &  rOStream) const
inlinevirtual

Print information about this object.

Reimplemented from Kratos::IO.

◆ ReadModelPart()

virtual void Kratos::KratosJsonIO::ReadModelPart ( ModelPart rThisModelPart)
inlinevirtual

This method reads the model part.

Parameters
rThisModelPartThe model part to be read

Reimplemented from Kratos::IO.

Member Data Documentation

◆ mFilename

std::string Kratos::KratosJsonIO::mFilename
protected

◆ mOptions

Flags Kratos::KratosJsonIO::mOptions
protected

The documentation for this class was generated from the following file: