The Element module includes all element types that are implemented in AMfe.
It consists of two main classes:
The first class is the main class for all Elements in the problem domain. The second class is needed for so calles boundary elements. These elements help to apply neumann boundary conditions.
All elements are derived from these two classes.
There are six methods that return local matrices and vectors for the assembly. They only differ in the entity/entities they return for the element dependent on coordinates in reference configuration (X), displacement(u) and time(t).
Note
Time t is not used yet. It is inteded for future implementations that can also consider time-dependent materials.
The getter functions are listed below:
Method | Return value(s) |
---|---|
k_and_f_int(self, X, u, t=0) |
local tangential stiffness matrix and internal force vector |
k_int(self, X, u, t=0) |
local tangential stiffness matrix |
f_int(self, X, u, t=0) |
local internal force vector |
m_and_vec_int(self, X, u, t=0) |
local mass matrix and local internal force vector |
m_int(self, X, u, t=0) |
local mass matrix |
k_f_S_E_int(self, X, u, t=0) |
local stiffess matrix, internal force vector, stress and strain in voigt notation |
Note
For developers: In fact each of those methods call the method _compute_tensors() or _m_int()
depending on which return values are asked for. Those methods calculate the
return values and store them in the properties of the element.
Afterwards those properties are returned by the getter methods.
Thus, for each element one only has to implement the internal methods
_compute_tensors()
and _m_int()
because those methods are specific for each element type.
Following elements are implemented with their own internal methods for calculating the element entities:
Following boundary elements are implemented:
There are two helper functions:
scatter_matrix
compute_B_matrix
f_proj_a
f_proj_a_shadow
Todo
Explain helper functions.