MoCSI API Reference
Loading...
Searching...
No Matches
Functions
CellRegistry.h File Reference
#include <memory>
#include <string>
#include "GenericElement.h"
#include "OneDimLinearElement.h"
Include dependency graph for CellRegistry.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<typename T >
std::unique_ptr< GenericElement< T > > createCell (std::string_view key, 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 > props)
 Registry function for the cell types.
 

Function Documentation

◆ createCell()

template<typename T >
std::unique_ptr< GenericElement< T > > createCell ( std::string_view  key,
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 props 
)

Registry function for the cell types.

Parameters
keyThe name of the cell type to create.
is_boundary_pointFlag whether this element has boundary nodes or not.
all_boundary_pointsA 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_valuesThe node numbers of all nodes within the element. Needed to sort them into the correct position within the matrix.
simThe pointer to the sim class.
num_cellThe number of the cell.
propsProperties of the element.
Returns
Unique_ptr to a boundary condition object of specified type or nullptr if that type doesn't exist.