MoCSI API Reference
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
GenericBoundaryCondition< T > Class Template Referenceabstract

Boundary condition abstract base class for the finite element method. All boundary condition implementations should inherit from this class. More...

#include <GenericBoundaryCondition.h>

Inheritance diagram for GenericBoundaryCondition< T >:
Inheritance graph
Collaboration diagram for GenericBoundaryCondition< T >:
Collaboration graph

Public Member Functions

virtual void writeBoundaryCondition ()=0
 
void registerElementsCsr (GenericMatrix< T > &capacitance_matrix, GenericMatrix< T > &stiffness_matrix)
 
virtual void getReferenceToElements (GenericMatrix< T > &capacitance_matrix, GenericMatrix< T > &stiffness_matrix, std::valarray< T > &forcing_vector)
 Sets up a referrence_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.
 
 GenericBoundaryCondition (SimulationClassBase< T > *sim, std::vector< int > boundary_points, std::vector< std::vector< int > > connected_points, int facet_nr, std::string face_prefix)
 Constructor for a GenericElement object. Sets all parameters that are known at creation.
 
virtual ~GenericBoundaryCondition ()=default
 

Protected Attributes

SimulationClassBase< T > * m_sim
 
std::vector< intm_boundary_points
 
std::vector< std::vector< int > > m_connected_points
 
std::vector< std::vector< std::reference_wrapper< T > > > m_capacitance_matrix_elements {}
 
std::vector< std::vector< std::reference_wrapper< T > > > m_stiffness_matrix_elements {}
 
std::vector< std::reference_wrapper< T > > m_forcing_vector_elements {}
 
int m_facet_number {-1}
 
std::string m_face_indicator_prefix
 

Detailed Description

template<typename T>
class GenericBoundaryCondition< T >

Boundary condition abstract base class for the finite element method. All boundary condition implementations should inherit from this class.

Constructor & Destructor Documentation

◆ GenericBoundaryCondition()

template<typename T >
GenericBoundaryCondition< T >::GenericBoundaryCondition ( SimulationClassBase< T > *  sim,
std::vector< int boundary_points,
std::vector< std::vector< int > >  connected_points,
int  facet_nr,
std::string  face_prefix 
)

Constructor for a GenericElement object. Sets all parameters that are known at creation.

Parameters
simThe pointer to the sim class.
boundary_pointsVector denoting which of the nodes have that specific boundary condition.
connected_pointsVector of vectors denoting which points are connected to the correcsponding boundary point nodes.
facet_nrDesignation which facet this boundary condition belongs to, to allow mapping it to a shape model.

◆ ~GenericBoundaryCondition()

Member Function Documentation

◆ getReferenceToElements()

template<typename T >
void GenericBoundaryCondition< T >::getReferenceToElements ( GenericMatrix< T > &  capacitance_matrix,
GenericMatrix< T > &  stiffness_matrix,
std::valarray< T > &  forcing_vector 
)
virtual

Sets up a referrence_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.

Reimplemented in BCSinusoidalTemperature< T >.

◆ registerElementsCsr()

template<typename T >
void GenericBoundaryCondition< T >::registerElementsCsr ( GenericMatrix< T > &  capacitance_matrix,
GenericMatrix< T > &  stiffness_matrix 
)

◆ writeBoundaryCondition()

template<typename T >
virtual void GenericBoundaryCondition< T >::writeBoundaryCondition ( )
pure virtual

Member Data Documentation

◆ m_boundary_points

template<typename T >
std::vector<int> GenericBoundaryCondition< T >::m_boundary_points
protected

◆ m_capacitance_matrix_elements

template<typename T >
std::vector<std::vector<std::reference_wrapper<T> > > GenericBoundaryCondition< T >::m_capacitance_matrix_elements {}
protected

◆ m_connected_points

template<typename T >
std::vector<std::vector<int> > GenericBoundaryCondition< T >::m_connected_points
protected

◆ m_face_indicator_prefix

template<typename T >
std::string GenericBoundaryCondition< T >::m_face_indicator_prefix
protected

◆ m_facet_number

template<typename T >
int GenericBoundaryCondition< T >::m_facet_number {-1}
protected

◆ m_forcing_vector_elements

template<typename T >
std::vector<std::reference_wrapper<T> > GenericBoundaryCondition< T >::m_forcing_vector_elements {}
protected

◆ m_sim

template<typename T >
SimulationClassBase<T>* GenericBoundaryCondition< T >::m_sim
protected

◆ m_stiffness_matrix_elements

template<typename T >
std::vector<std::vector<std::reference_wrapper<T> > > GenericBoundaryCondition< T >::m_stiffness_matrix_elements {}
protected

The documentation for this class was generated from the following file: