MoCSI API Reference
Loading...
Searching...
No Matches
BoundaryConditionRegistry.h
Go to the documentation of this file.
1#ifndef BOUNDARY_CONDITION_REGISTRY_H
2#define BOUNDARY_CONDITION_REGISTRY_H
3
4#include <memory>
5#include <string>
6
11#include "SimulationClassBase.h"
12
28template <typename T>
29std::unique_ptr<GenericBoundaryCondition<T>> createBoundaryCondition(
30 std::string_view key, SimulationClassBase<T>* sim, std::vector<int> boundary_points,
31 std::vector<std::vector<int>> connected_points, int facet_nr, T area, std::string face_prefix)
32{
33 if (key == "BCTopSurfaceEnergyBalance")
34 {
35 return std::move(std::make_unique<BCTopSurfaceEnergyBalance<T>>(
37 }
38 if (key == "BCSinusoidalTemperature")
39 {
40 return std::move(std::make_unique<BCSinusoidalTemperature<T>>(
42 }
43 if (key == "BCConstantHeatFlux")
44 {
45 return std::move(std::make_unique<BCConstantHeatFlux<T>>(
47 }
48
49 return nullptr;
50}
51
52#endif
std::unique_ptr< GenericBoundaryCondition< T > > createBoundaryCondition(std::string_view key, SimulationClassBase< T > *sim, std::vector< int > boundary_points, std::vector< std::vector< int > > connected_points, int facet_nr, T area, std::string face_prefix)
Registry function for the boundary conditions.
Definition BoundaryConditionRegistry.h:29
Concrete implementation of a matrix class representing a Compressed Sparse Rows (CSR) matrix....
Definition CsrMatrix.h:37