The minimal informations needed at the moment of the construction of a new element are:
- Id: a unique identifier of the element
- Properties::Pointer: it is the pointer to the container of data which are common to a group of elements
- Geometry::Pointer: pointer to the entity which represents the topology of the element (tetrahedra, exahedra...). In its easiest instance the geometry is simply a list of pointers to the nodes of the element, but it may contain many more informations (described in a specific tutorial)
All of the informations above need to be given at the moment of construction. Additional info may be provided for the construction of specific element, however in general the kratos will have no direct access to them.
To conclude the element contains a pointer to a "DataValueContainer" which allows to store VARIABLES per each element. This implies that an empty element will store
1 unsigned int, a minimum of 3 "Shared Pointers" Having thus a non negligible memory occupation.