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.
io.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ \.
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // Kratos default license: kratos/license.txt
9 //
10 // Main authors: Pooyan Dadvand
11 //
12 
13 #pragma once
14 
15 // System includes
16 #include <string>
17 #include <iostream>
18 #include <unordered_set>
19 
20 // External includes
21 
22 // Project includes
23 #include "includes/model_part.h"
24 
25 namespace Kratos
26 {
27 
30 
34 
38 
42 
46 
47 
57 class KRATOS_API(KRATOS_CORE) IO
58 {
59 public:
62 
65 
70  KRATOS_DEFINE_LOCAL_FLAG( IGNORE_VARIABLES_ERROR );
71  KRATOS_DEFINE_LOCAL_FLAG( SKIP_TIMER );
73  KRATOS_DEFINE_LOCAL_FLAG( SCIENTIFIC_PRECISION );
74 
75  typedef Node NodeType;
76 
78 
80 
82 
84 
86 
88 
90 
91  typedef std::vector<std::vector<std::size_t> > ConnectivitiesContainerType;
92 
93  typedef std::vector<std::vector<std::size_t> > PartitionIndicesContainerType;
94 
95  typedef std::vector<std::size_t> PartitionIndicesType;
96 
97  typedef std::size_t SizeType;
98 
100 
101  // auxiliary struct containg information about the partitioning of the entities in a ModelPart
103  {
105  PartitionIndicesType NodesPartitions; // partition where the Node is local
106  PartitionIndicesType ElementsPartitions; // partition where the Element is local
107  PartitionIndicesType ConditionsPartitions; // partition where the Condition is local
108  PartitionIndicesContainerType NodesAllPartitions; // partitions, in which the Node is present (local & ghost)
109  PartitionIndicesContainerType ElementsAllPartitions; // partitions, in which the Element is present (local & ghost)
110  PartitionIndicesContainerType ConditionsAllPartitions; // partitions, in which the Condition is present (local & ghost)
111  };
112 
116 
118  IO() = default;
119 
121  virtual ~IO() = default;
122 
124  IO(IO const& rOther) = delete;
125 
129 
131  IO& operator=(IO const& rOther) = delete;
132 
136 
141  virtual bool ReadNode(NodeType& rThisNode)
142  {
143  KRATOS_ERROR << "Calling base class method (ReadNode). Please check the definition of derived class." << std::endl;
144  }
145 
150  virtual bool ReadNodes(NodesContainerType& rThisNodes)
151  {
152  KRATOS_ERROR << "Calling base class method (ReadNodes). Please check the definition of derived class" << std::endl;
153  }
154 
159  virtual std::size_t ReadNodesNumber()
160  {
161  KRATOS_ERROR << "Calling base class method (ReadNodesNumber). Please check the definition of derived class." << std::endl;;
162  }
163 
168  virtual void WriteNodes(NodesContainerType const& rThisNodes)
169  {
170  KRATOS_ERROR << "Calling base class method (WriteNodes). Please check the definition of derived class" << std::endl;
171  }
172 
177  virtual void ReadProperties(Properties& rThisProperties)
178  {
179  KRATOS_ERROR << "Calling base class method (ReadProperties). Please check the definition of derived class" << std::endl;
180  }
181 
186  virtual void ReadProperties(PropertiesContainerType& rThisProperties)
187  {
188  KRATOS_ERROR << "Calling base class method (ReadProperties). Please check the definition of derived class" << std::endl;
189  }
190 
195  virtual void WriteProperties(Properties const& rThisProperties)
196  {
197  KRATOS_ERROR << "Calling base class method (WriteProperties). Please check the definition of derived class" << std::endl;
198  }
199 
204  virtual void WriteProperties(PropertiesContainerType const& rThisProperties)
205  {
206  KRATOS_ERROR << "Calling base class method (WriteProperties). Please check the definition of derived class" << std::endl;
207  }
208 
214  virtual void ReadGeometry(
215  NodesContainerType& rThisNodes,
216  GeometryType::Pointer& pThisGeometry
217  )
218  {
219  KRATOS_ERROR << "Calling base class method (ReadGeometry). Please check the definition of derived class" << std::endl;
220  }
221 
227  virtual void ReadGeometries(
228  NodesContainerType& rThisNodes,
229  GeometryContainerType& rThisGeometries
230  )
231  {
232  KRATOS_ERROR << "Calling base class method (ReadGeometries). Please check the definition of derived class" << std::endl;
233  }
234 
240  virtual std::size_t ReadGeometriesConnectivities(ConnectivitiesContainerType& rGeometriesConnectivities)
241  {
242  KRATOS_ERROR << "Calling base class method (ReadGeometriesConnectivities). Please check the definition of derived class" << std::endl;
243  }
244 
249  virtual void WriteGeometries(GeometryContainerType const& rThisGeometries)
250  {
251  KRATOS_ERROR << "Calling base class method (WriteGeometries). Please check the definition of derived class" << std::endl;
252  }
253 
260  virtual void ReadElement(
261  NodesContainerType& rThisNodes,
262  PropertiesContainerType& rThisProperties,
263  Element::Pointer& pThisElement
264  )
265  {
266  KRATOS_ERROR << "Calling base class method (ReadElement). Please check the definition of derived class" << std::endl;
267  }
268 
275  virtual void ReadElements(
276  NodesContainerType& rThisNodes,
277  PropertiesContainerType& rThisProperties,
278  ElementsContainerType& rThisElements
279  )
280  {
281  KRATOS_ERROR << "Calling base class method (ReadElements). Please check the definition of derived class" << std::endl;
282  }
283 
289  virtual std::size_t ReadElementsConnectivities(ConnectivitiesContainerType& rElementsConnectivities)
290  {
291  KRATOS_ERROR << "Calling base class method (ReadElementsConnectivities). Please check the definition of derived class" << std::endl;
292  }
293 
298  virtual void WriteElements(ElementsContainerType const& rThisElements)
299  {
300  KRATOS_ERROR << "Calling base class method (WriteElements). Please check the definition of derived class" << std::endl;
301  }
302 
309  virtual void ReadCondition(
310  NodesContainerType& rThisNodes,
311  PropertiesContainerType& rThisProperties,
312  Condition::Pointer& pThisCondition
313  )
314  {
315  KRATOS_ERROR << "Calling base class method (ReadCondition). Please check the definition of derived class" << std::endl;
316  }
317 
324  virtual void ReadConditions(
325  NodesContainerType& rThisNodes,
326  PropertiesContainerType& rThisProperties,
327  ConditionsContainerType& rThisConditions
328  )
329  {
330  KRATOS_ERROR << "Calling base class method (ReadConditions). Please check the definition of derived class" << std::endl;
331  }
332 
338  virtual std::size_t ReadConditionsConnectivities(ConnectivitiesContainerType& rConditionsConnectivities)
339  {
340  KRATOS_ERROR << "Calling base class method (ReadConditionsConnectivities). Please check the definition of derived class" << std::endl;
341  }
342 
347  virtual void WriteConditions(ConditionsContainerType const& rThisConditions)
348  {
349  KRATOS_ERROR << "Calling base class method (WriteConditions). Please check the definition of derived class" << std::endl;
350  }
351 
356  virtual void ReadInitialValues(ModelPart& rThisModelPart)
357  {
358  KRATOS_ERROR << "Calling base class method (ReadInitialValues). Please check the definition of derived class" << std::endl;
359  }
360 
367  virtual void ReadInitialValues(NodesContainerType& rThisNodes, ElementsContainerType& rThisElements, ConditionsContainerType& rThisConditions)
368  {
369  KRATOS_ERROR << "Calling base class method (ReadInitialValues). Please check the definition of derived class" << std::endl;
370  }
371 
376  virtual void ReadMesh(MeshType & rThisMesh)
377  {
378  KRATOS_ERROR << "Calling base class method (ReadMesh). Please check the definition of derived class" << std::endl;
379  }
380 
385  KRATOS_DEPRECATED_MESSAGE("'WriteMesh' with a non-const Mesh as input is deprecated. Please use the version of this function that accepts a const Mesh instead.")
386  virtual void WriteMesh( MeshType& rThisMesh )
387  {
388  KRATOS_ERROR << "Calling base class method (WriteMesh). Please check the implementation of derived classes" << std::endl;
389  }
390 
395  virtual void WriteMesh(const MeshType& rThisMesh )
396  {
397  // legacy for backward compatibility
398  MeshType& non_const_mesh = const_cast<MeshType&>(rThisMesh);
400  this->WriteMesh(non_const_mesh);
402 
403  // activate this error once the legacy code is removed
404  // KRATOS_ERROR << "Calling base class method (WriteMesh). Please check the implementation of derived classes" << std::endl;
405  }
406 
411  virtual void ReadModelPart(ModelPart & rThisModelPart)
412  {
413  KRATOS_ERROR << "Calling base class method (ReadModelPart). Please check the definition of derived class" << std::endl;
414  }
415 
420  KRATOS_DEPRECATED_MESSAGE("'WriteModelPart' with a non-const ModelPart as input is deprecated. Please use the version of this function that accepts a const ModelPart instead.")
421  virtual void WriteModelPart(ModelPart & rThisModelPart)
422  {
423  KRATOS_ERROR << "Calling base class method (WriteModelPart). Please check the definition of derived class" << std::endl;
424  }
425 
430  virtual void WriteModelPart(const ModelPart& rThisModelPart)
431  {
432  // legacy for backward compatibility
433  ModelPart& non_const_model_part = const_cast<ModelPart&>(rThisModelPart);
435  this->WriteModelPart(non_const_model_part);
437 
438  // activate this error once the legacy code is removed
439  // KRATOS_ERROR << "Calling base class method (WriteModelPart). Please check the definition of derived class" << std::endl;
440  }
441 
446  KRATOS_DEPRECATED_MESSAGE("'WriteNodeMesh' with a non-const Mesh as input is deprecated. Please use the version of this function that accepts a const Mesh instead.")
447  virtual void WriteNodeMesh( MeshType& rThisMesh )
448  {
449  KRATOS_ERROR << "Calling base class method (WriteNodeMesh). Please check the implementation of derived classes" << std::endl;
450  }
451 
456  virtual void WriteNodeMesh(const MeshType& rThisMesh )
457  {
458  // legacy for backward compatibility
459  MeshType& non_const_mesh = const_cast<MeshType&>(rThisMesh);
461  this->WriteNodeMesh(non_const_mesh);
463 
464  // activate this error once the legacy code is removed
465  // KRATOS_ERROR << "Calling base class method (WriteNodeMesh). Please check the implementation of derived classes" << std::endl;
466  }
467 
480  virtual std::size_t ReadNodalGraph(ConnectivitiesContainerType& rAuxConnectivities)
481  {
482  KRATOS_ERROR << "Calling base class method (ReadNodalGraph). Please check the definition of derived class" << std::endl;;
483  }
484 
490  virtual void DivideInputToPartitions(SizeType NumberOfPartitions,
491  const PartitioningInfo& rPartitioningInfo)
492  {
494  DivideInputToPartitions(NumberOfPartitions, rPartitioningInfo.Graph, rPartitioningInfo.NodesPartitions, rPartitioningInfo.ElementsPartitions, rPartitioningInfo.ConditionsPartitions, rPartitioningInfo.NodesAllPartitions, rPartitioningInfo.ElementsAllPartitions, rPartitioningInfo.ConditionsAllPartitions); // for backward compatibility
496 
497  // KRATOS_ERROR << "Calling base class method (DivideInputToPartitions). Please check the definition of derived class" << std::endl; // enable this once the old version of this function is removed
498  }
499 
511  KRATOS_DEPRECATED_MESSAGE("'This version of \"DivideInputToPartitions\" is deprecated, please use the interface that accepts a \"PartitioningInfo\"")
512  virtual void DivideInputToPartitions(SizeType NumberOfPartitions,
513  GraphType const& rDomainsColoredGraph,
514  PartitionIndicesType const& rNodesPartitions,
515  PartitionIndicesType const& rElementsPartitions,
516  PartitionIndicesType const& rConditionsPartitions,
517  PartitionIndicesContainerType const& rNodesAllPartitions,
518  PartitionIndicesContainerType const& rElementsAllPartitions,
519  PartitionIndicesContainerType const& rConditionsAllPartitions)
520  {
521  KRATOS_ERROR << "Calling base class method (DivideInputToPartitions). Please check the definition of derived class" << std::endl;
522  }
523 
531  SizeType NumberOfPartitions,
532  const PartitioningInfo& rPartitioningInfo)
533  {
535  DivideInputToPartitions(pStreams, NumberOfPartitions, rPartitioningInfo.Graph, rPartitioningInfo.NodesPartitions, rPartitioningInfo.ElementsPartitions, rPartitioningInfo.ConditionsPartitions, rPartitioningInfo.NodesAllPartitions, rPartitioningInfo.ElementsAllPartitions, rPartitioningInfo.ConditionsAllPartitions); // for backward compatibility
537 
538  // KRATOS_ERROR << "Calling base class method (DivideInputToPartitions). Please check the definition of derived class" << std::endl; // enable this once the old version of this function is removed
539  }
540 
553  KRATOS_DEPRECATED_MESSAGE("'This version of \"DivideInputToPartitions\" is deprecated, please use the interface that accepts a \"PartitioningInfo\"")
554  virtual void DivideInputToPartitions(Kratos::shared_ptr<std::iostream> * pStreams,
555  SizeType NumberOfPartitions,
556  GraphType const& rDomainsColoredGraph,
557  PartitionIndicesType const& rNodesPartitions,
558  PartitionIndicesType const& rElementsPartitions,
559  PartitionIndicesType const& rConditionsPartitions,
560  PartitionIndicesContainerType const& rNodesAllPartitions,
561  PartitionIndicesContainerType const& rElementsAllPartitions,
562  PartitionIndicesContainerType const& rConditionsAllPartitions)
563  {
564  KRATOS_ERROR << "Calling base class method (DivideInputToPartitions). Please check the definition of derived class" << std::endl;
565  }
566 
568  std::string const& rModelPartName,
569  std::unordered_set<SizeType> &rElementsIds,
570  std::unordered_set<SizeType> &rConditionsIds)
571  {
572  KRATOS_ERROR << "Calling base class method (ReadSubModelPartElementsAndConditionsIds). Please check the definition of derived class" << std::endl;
573  }
574 
575  virtual std::size_t ReadNodalGraphFromEntitiesList(
576  ConnectivitiesContainerType& rAuxConnectivities,
577  std::unordered_set<SizeType> &rElementsIds,
578  std::unordered_set<SizeType> &rConditionsIds)
579  {
580  KRATOS_ERROR << "Calling base class method (ReadNodalGraphFromEntitiesList). Please check the definition of derived class" << std::endl;
581  }
582 
586 
587 
591 
592 
596 
598  virtual std::string Info() const
599  {
600  return "IO";
601  }
602 
604  virtual void PrintInfo(std::ostream& rOStream) const
605  {
606  rOStream << "IO";
607  }
608 
610  virtual void PrintData(std::ostream& rOStream) const
611  {
612  }
613 
617 
619 
620 protected:
623 
624 
628 
629 
633 
634 
638 
639 
643 
644 
648 
649 
653 
654 
656 
657 private:
660 
661 
665 
666 
670 
671 
675 
676 
680 
681 
685 
686 
690 
692 
693 }; // Class IO
694 
696 
699 
700 
704 
706 inline std::istream& operator >> (std::istream& rIStream,
707  IO& rThis);
708 
710 inline std::ostream& operator << (std::ostream& rOStream,
711  const IO& rThis)
712 {
713  rThis.PrintInfo(rOStream);
714  rOStream << std::endl;
715  rThis.PrintData(rOStream);
716 
717  return rOStream;
718 }
720 
721 
722 } // namespace Kratos.
Geometry base class.
Definition: geometry.h:71
IO provides different implementation of input output procedures which can be used to read and write w...
Definition: io.h:58
virtual void ReadConditions(NodesContainerType &rThisNodes, PropertiesContainerType &rThisProperties, ConditionsContainerType &rThisConditions)
This method reads an array of conditions.
Definition: io.h:324
virtual void WriteModelPart(const ModelPart &rThisModelPart)
This method writes the model part.
Definition: io.h:430
IO()=default
Default constructor.
Node NodeType
Definition: io.h:75
virtual void ReadInitialValues(NodesContainerType &rThisNodes, ElementsContainerType &rThisElements, ConditionsContainerType &rThisConditions)
This method reads the initial values of the nodes, elements and conditios.
Definition: io.h:367
MeshType::ElementsContainerType ElementsContainerType
Definition: io.h:87
virtual void WriteMesh(const MeshType &rThisMesh)
This method writes the mesh.
Definition: io.h:395
virtual std::size_t ReadNodalGraph(ConnectivitiesContainerType &rAuxConnectivities)
Read the input file and create the nodal connectivities graph, stored in CSR format.
Definition: io.h:480
virtual void DivideInputToPartitions(Kratos::shared_ptr< std::iostream > *pStreams, SizeType NumberOfPartitions, const PartitioningInfo &rPartitioningInfo)
This method divides a model part into partitions.
Definition: io.h:530
virtual void ReadModelPart(ModelPart &rThisModelPart)
This method reads the model part.
Definition: io.h:411
IO(IO const &rOther)=delete
Copy constructor.
Mesh< NodeType, Properties, Element, Condition > MeshType
Definition: io.h:79
MeshType::ConditionsContainerType ConditionsContainerType
Definition: io.h:89
virtual void ReadGeometry(NodesContainerType &rThisNodes, GeometryType::Pointer &pThisGeometry)
This method reads one geometry.
Definition: io.h:214
virtual void DivideInputToPartitions(SizeType NumberOfPartitions, const PartitioningInfo &rPartitioningInfo)
This method divides a model part into partitions.
Definition: io.h:490
KRATOS_DEFINE_LOCAL_FLAG(IGNORE_VARIABLES_ERROR)
virtual bool ReadNode(NodeType &rThisNode)
This method reads one node.
Definition: io.h:141
virtual void ReadProperties(Properties &rThisProperties)
This method reads one Properties.
Definition: io.h:177
virtual std::size_t ReadConditionsConnectivities(ConnectivitiesContainerType &rConditionsConnectivities)
This method reads the conditions connectivities.
Definition: io.h:338
KRATOS_DEFINE_LOCAL_FLAG(SKIP_TIMER)
virtual void WriteGeometries(GeometryContainerType const &rThisGeometries)
This method writes an array of geometries.
Definition: io.h:249
KRATOS_DEFINE_LOCAL_FLAG(MESH_ONLY)
virtual void WriteNodes(NodesContainerType const &rThisNodes)
This method writes the nodes from an array of nodes.
Definition: io.h:168
virtual void ReadMesh(MeshType &rThisMesh)
This method reads the mesh.
Definition: io.h:376
virtual void ReadElement(NodesContainerType &rThisNodes, PropertiesContainerType &rThisProperties, Element::Pointer &pThisElement)
This method reads one element.
Definition: io.h:260
virtual std::string Info() const
Turn back information as a string.
Definition: io.h:598
virtual void WriteNodeMesh(const MeshType &rThisMesh)
This method writes the node mesh.
Definition: io.h:456
virtual std::size_t ReadNodesNumber()
This method reads the number of nodes.
Definition: io.h:159
virtual void ReadInitialValues(ModelPart &rThisModelPart)
This method reads the initial values of the model part.
Definition: io.h:356
KRATOS_DEFINE_LOCAL_FLAG(APPEND)
MeshType::NodesContainerType NodesContainerType
Definition: io.h:81
virtual void ReadElements(NodesContainerType &rThisNodes, PropertiesContainerType &rThisProperties, ElementsContainerType &rThisElements)
This method reads an array of elements.
Definition: io.h:275
virtual void PrintData(std::ostream &rOStream) const
Print object's data.
Definition: io.h:610
Geometry< NodeType > GeometryType
Definition: io.h:77
virtual bool ReadNodes(NodesContainerType &rThisNodes)
This method reads the nodes from an array of nodes.
Definition: io.h:150
virtual void WriteElements(ElementsContainerType const &rThisElements)
This method writes an array of elements.
Definition: io.h:298
IO & operator=(IO const &rOther)=delete
Assignment operator.
virtual void ReadGeometries(NodesContainerType &rThisNodes, GeometryContainerType &rThisGeometries)
This method reads an array of geometries.
Definition: io.h:227
KRATOS_CLASS_POINTER_DEFINITION(IO)
Pointer definition of IO.
std::vector< std::vector< std::size_t > > ConnectivitiesContainerType
Definition: io.h:91
KRATOS_DEFINE_LOCAL_FLAG(READ)
Local Flags.
virtual void WriteProperties(PropertiesContainerType const &rThisProperties)
This method writes the Properties from an array of Properties.
Definition: io.h:204
virtual std::size_t ReadGeometriesConnectivities(ConnectivitiesContainerType &rGeometriesConnectivities)
This method reads the geometries connectivities.
Definition: io.h:240
DenseMatrix< int > GraphType
Definition: io.h:99
virtual void PrintInfo(std::ostream &rOStream) const
Print information about this object.
Definition: io.h:604
virtual void ReadCondition(NodesContainerType &rThisNodes, PropertiesContainerType &rThisProperties, Condition::Pointer &pThisCondition)
This method reads one condition.
Definition: io.h:309
KRATOS_DEFINE_LOCAL_FLAG(SCIENTIFIC_PRECISION)
MeshType::PropertiesContainerType PropertiesContainerType
Definition: io.h:83
virtual void ReadProperties(PropertiesContainerType &rThisProperties)
This method reads the Properties from an array of Properties.
Definition: io.h:186
std::size_t SizeType
Definition: io.h:97
std::vector< std::size_t > PartitionIndicesType
Definition: io.h:95
std::vector< std::vector< std::size_t > > PartitionIndicesContainerType
Definition: io.h:93
ModelPart::GeometryContainerType GeometryContainerType
Definition: io.h:85
virtual std::size_t ReadNodalGraphFromEntitiesList(ConnectivitiesContainerType &rAuxConnectivities, std::unordered_set< SizeType > &rElementsIds, std::unordered_set< SizeType > &rConditionsIds)
Definition: io.h:575
virtual std::size_t ReadElementsConnectivities(ConnectivitiesContainerType &rElementsConnectivities)
This method reads the elements connectivities.
Definition: io.h:289
KRATOS_DEFINE_LOCAL_FLAG(WRITE)
virtual void WriteProperties(Properties const &rThisProperties)
This method writes one Properties.
Definition: io.h:195
virtual ~IO()=default
Destructor.
virtual void WriteConditions(ConditionsContainerType const &rThisConditions)
This method writes an array of conditions.
Definition: io.h:347
virtual void ReadSubModelPartElementsAndConditionsIds(std::string const &rModelPartName, std::unordered_set< SizeType > &rElementsIds, std::unordered_set< SizeType > &rConditionsIds)
Definition: io.h:567
Definition: amatrix_interface.h:41
Mesh is the second level of abstraction in the data structure which hold Nodes, Elements and Conditio...
Definition: mesh.h:69
This class aims to manage meshes for multi-physics simulations.
Definition: model_part.h:77
This class defines the node.
Definition: node.h:65
A sorted associative container similar to an STL set, but uses a vector to store pointers to its data...
Definition: pointer_vector_set.h:72
Properties encapsulates data shared by different Elements or Conditions. It can store any type of dat...
Definition: properties.h:69
#define KRATOS_STOP_IGNORING_DEPRECATED_FUNCTION_WARNING
Definition: define.h:776
#define KRATOS_START_IGNORING_DEPRECATED_FUNCTION_WARNING
Definition: define.h:761
#define KRATOS_ERROR
Definition: exception.h:161
void WriteMesh(GidIOType &dummy, GidIOType::MeshType &rThisMesh)
Definition: add_custom_io_to_python.cpp:74
void WriteNodeMesh(GidIOType &dummy, GidIOType::MeshType &rThisMesh)
Definition: add_custom_io_to_python.cpp:69
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::shared_ptr< T > shared_ptr
Definition: smart_pointers.h:27
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
namespace KRATOS_DEPRECATED_MESSAGE("Please use std::filesystem directly") filesystem
Definition: kratos_filesystem.h:33
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432
tuple const
Definition: ode_solve.py:403
namespace
Definition: array_1d.h:793
Definition: io.h:103
PartitionIndicesType ElementsPartitions
Definition: io.h:106
PartitionIndicesType ConditionsPartitions
Definition: io.h:107
PartitionIndicesType NodesPartitions
Definition: io.h:105
GraphType Graph
Definition: io.h:104
PartitionIndicesContainerType NodesAllPartitions
Definition: io.h:108
PartitionIndicesContainerType ConditionsAllPartitions
Definition: io.h:110
PartitionIndicesContainerType ElementsAllPartitions
Definition: io.h:109