![]() |
MoCSI API Reference
|
Cell/Element abstract base class for the finite element method. All 1D/2D/3D elements should inherit from this class. More...
#include <GenericElement.h>


Public Member Functions | |
| virtual void | writeMatrixVectorBlock ()=0 |
| virtual void | writeBoundaryCondition ()=0 |
| void | setBoundaryConditions (std::map< std::string_view, std::unique_ptr< GenericBoundaryCondition< T > > > &boundary_cond) |
| Sets the map of boundary condition objects. | |
| std::map< std::string_view, std::unique_ptr< GenericBoundaryCondition< T > > > & | getBoundaryCondition () |
| void | getReferenceToElements (GenericMatrix< T > &capacitance_matrix, GenericMatrix< T > &stiffness_matrix, std::valarray< T > &forcing_vector) |
| Sets up a reference_wrapper vector to the elements within the matrix object. This adds a bit of pre-calculation overhead, but always allows const time element access even for matrix object that don't normally have const time random access. This of course assumes a static grid. | |
| bool | isBoundary () |
| GenericElement (bool is_boundary_point, std::map< std::string_view, std::vector< int > > all_boundary_points, std::vector< int > nodal_values, SimulationClassBase< T > *sim, int num_cell, ElementProperties< T > properties) | |
| Constructor for a GenericElement object. Sets all parameters that are known at creation. | |
| virtual | ~GenericElement ()=default |
Protected Attributes | |
| bool | m_is_boundary |
| std::map< std::string_view, std::vector< int > > | m_boundary_points |
| std::vector< int > | m_nodal_values |
| std::vector< std::reference_wrapper< T > > | m_capacitance_matrix_elements {} |
| std::vector< std::reference_wrapper< T > > | m_stiffness_matrix_elements {} |
| std::vector< std::reference_wrapper< T > > | m_forcing_vector_elements {} |
| SimulationClassBase< T > * | m_sim {} |
| int | m_element_nr {-1} |
| std::map< std::string_view, std::unique_ptr< GenericBoundaryCondition< T > > > | m_boundary_conditions {} |
| ElementProperties< T > | m_properties {} |
Cell/Element abstract base class for the finite element method. All 1D/2D/3D elements should inherit from this class.
| GenericElement< T >::GenericElement | ( | bool | is_boundary_point, |
| std::map< std::string_view, std::vector< int > > | all_boundary_points, | ||
| std::vector< int > | nodal_values, | ||
| SimulationClassBase< T > * | sim, | ||
| int | num_cell, | ||
| ElementProperties< T > | properties | ||
| ) |
Constructor for a GenericElement object. Sets all parameters that are known at creation.
| is_boundary_point | Flag whether this element has boundary nodes or not. |
| all_boundary_points | A map containg the types of boundary conditions and all the nodes belonging to that type (to allow for multiple boundary conditions in one element). |
| nodal_values | The node numbers of all nodes within the element. Needed to sort them into the correct position within the matrix. |
| sim | The pointer to the sim class. |
| num_cell | The number of the cell. |
|
virtualdefault |
|
inline |
| void GenericElement< T >::getReferenceToElements | ( | GenericMatrix< T > & | capacitance_matrix, |
| GenericMatrix< T > & | stiffness_matrix, | ||
| std::valarray< T > & | forcing_vector | ||
| ) |
Sets up a reference_wrapper vector to the elements within the matrix object. This adds a bit of pre-calculation overhead, but always allows const time element access even for matrix object that don't normally have const time random access. This of course assumes a static grid.
|
inline |
| void GenericElement< T >::setBoundaryConditions | ( | std::map< std::string_view, std::unique_ptr< GenericBoundaryCondition< T > > > & | boundary_cond | ) |
Sets the map of boundary condition objects.
| boundary_cond | Map of unique_ptrs to the boundary condition objects of this cell, if it is a boundary cell. |
Implemented in OneDimLinearElement< T >.
Implemented in OneDimLinearElement< T >.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |