Kratos Structure: Elements and Conditions
Elements and conditions are the objects that contain most of the physics of the problem. An element contains all the information related to an individual finite element in the mesh, and its main functionality is to provide that element's local contributions to the system matrices and vectors. Each condition represents a face of a finite element that is contained in the boundary of the model, and is used to implement boundary conditions.
While both elements and conditions have practically the same interface, they are implemented as separate objects to emphasize the conceptual difference between them. Like nodes, both elements and conditions have a unique id (an integer starting from 1) and can store variables but, unlike the nodes, they only have a non-historical database.
To compute the local contributions to the system matrix, developers of elements and conditions can have the following tools at hand:
- A Geometry instance.
- A pointer to the element's Properties.
The Geometry class
The Geometry class manages all the geometrical information for a single element. There is a geometry type for each basic shape used in finite elements, such as lines, triangles, quadrilaterals, tetrahedra and hexahedra. The geometry of an element provides a way to access its nodes, as well as all information required to evaluate shape functions and integrate quantities of interest on the element using a quadrature.
Elements and conditions can also store a pointer to a Properties instance. Properties are used to provide information that is common to a group of elements in the problem. For example, in solid mechanics problems, information about the material properties of the element is stored in a properties container. Just as it was the case with nodes and elements, all values stored in properties are associated to a Kratos variable.
Previous : Kratos Structure: Node and Nodal Data