1#ifndef GENERIC_ELEMENT_H
2#define GENERIC_ELEMENT_H
35 std::map<std::string_view, std::vector<int>>
44 std::map<std::string_view, std::unique_ptr<GenericBoundaryCondition<T>>>
55 std::map<std::string_view, std::unique_ptr<GenericBoundaryCondition<T>>>&
121 for (
int i : this->m_nodal_values)
123 for (
int j : this->m_nodal_values)
Error class to throw when a module chain has circular or missing dependencies. Inherits from std::exc...
Definition ChainManager.h:28
Cell/Element abstract base class for the finite element method. All 1D/2D/3D elements should inherit ...
Definition GenericElement.h:32
std::vector< std::reference_wrapper< T > > m_forcing_vector_elements
Definition GenericElement.h:41
virtual void writeMatrixVectorBlock()=0
void setBoundaryConditions(std::map< std::string_view, std::unique_ptr< GenericBoundaryCondition< T > > > &boundary_cond)
Sets the map of boundary condition objects.
Definition GenericElement.h:104
virtual ~GenericElement()=default
std::map< std::string_view, std::unique_ptr< GenericBoundaryCondition< T > > > m_boundary_conditions
Definition GenericElement.h:45
int m_element_nr
Definition GenericElement.h:43
std::map< std::string_view, std::vector< int > > m_boundary_points
Definition GenericElement.h:36
bool isBoundary()
Definition GenericElement.h:63
std::vector< std::reference_wrapper< T > > m_capacitance_matrix_elements
Definition GenericElement.h:39
ElementProperties< T > m_properties
Definition GenericElement.h:46
bool m_is_boundary
Definition GenericElement.h:34
std::map< std::string_view, std::unique_ptr< GenericBoundaryCondition< T > > > & getBoundaryCondition()
Definition GenericElement.h:56
virtual void writeBoundaryCondition()=0
std::vector< std::reference_wrapper< T > > m_stiffness_matrix_elements
Definition GenericElement.h:40
SimulationClassBase< T > * m_sim
Definition GenericElement.h:42
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.
Definition GenericElement.h:84
std::vector< int > m_nodal_values
Definition GenericElement.h:38
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-c...
Definition GenericElement.h:117
Struct carrying the element properties that are needed to create the different element types....
Definition GenericElement.h:21
T element_length
Definition GenericElement.h:22
T element_area
Definition GenericElement.h:23