Kratos Structure: Mesh and ModelPart
Line 21: | Line 21: | ||
A problem usually has a single ModelPart instance, that manages the entire model, but in some cases it can be convenient to use multiple model parts. This is often done in coupled problems, where a model part is used for each individual field to be solved. | A problem usually has a single ModelPart instance, that manages the entire model, but in some cases it can be convenient to use multiple model parts. This is often done in coupled problems, where a model part is used for each individual field to be solved. | ||
+ | |||
+ | In a distributed memory environment, the ModelPart is also responsible for parallel communication. | ||
Next : [[Kratos Structure: Strategies and Processes]] | Next : [[Kratos Structure: Strategies and Processes]] | ||
Previous : [[Kratos Structure: Elements and Conditions]] | Previous : [[Kratos Structure: Elements and Conditions]] |
Latest revision as of 08:57, 7 May 2012
Continuing with this description of the basic components of Kratos, we turn our attention to the Mesh and the ModelPart, which are the containers of all information and data related to a given model.
The Mesh
The Mesh class is the container that stores the geometrical definition of the problem or a region of the simulation domain. At its core, it contains three lists, for the nodes, elements and conditions that constitute the model. The elements on each list are ordered by their Id, ordered consecutively starting from one. In addition, the mesh also holds a list of properties used to characterize the material properties of its elements and conditions.
The Model Part
The ModelPart is arguably the most important class in Kratos. It contains all the information required for the simulation of a given problem, namely Nodes, Elements and Conditions.
- One or more Mesh instances, containing the nodes, elements and conditions that compose the problem domain.
- The ProcessInfo, a container of global data for the entire model, such as the time step the simulation is at, and any global parameters required by the algorithms used to solve the problem.
- Any additional global data required, such as Tables.
In addition to this, the ModelPart is also responsible for keeping track of the advancement in time of the simulation, managing the initialization of new time steps
model_part.CloneSolutionStep(time)
and the amount of old step data that is stored in the nodes' historical database.
model_part.SetBufferSize(Nsteps)
A problem usually has a single ModelPart instance, that manages the entire model, but in some cases it can be convenient to use multiple model parts. This is often done in coupled problems, where a model part is used for each individual field to be solved.
In a distributed memory environment, the ModelPart is also responsible for parallel communication.
Next : Kratos Structure: Strategies and Processes
Previous : Kratos Structure: Elements and Conditions