12#ifndef __VEM_PCC_3D_Creator_HPP
13#define __VEM_PCC_3D_Creator_HPP
45 return std::make_unique<VEM_PCC_2D_ReferenceElement>();
47 throw std::runtime_error(
"VEM type " + std::to_string((
unsigned int)type) +
" not supported");
58 return std::make_unique<VEM_PCC_3D_ReferenceElement>();
60 throw std::runtime_error(
"VEM type " + std::to_string((
unsigned int)type) +
" not supported");
69 return std::make_unique<VEM_PCC_2D_LocalSpace>();
71 return std::make_unique<VEM_PCC_2D_Inertia_LocalSpace>();
73 return std::make_unique<VEM_PCC_2D_Ortho_LocalSpace>();
75 throw std::runtime_error(
"VEM type " + std::to_string((
unsigned int)type) +
" not supported");
84 return std::make_unique<VEM_PCC_3D_LocalSpace>();
86 return std::make_unique<VEM_PCC_3D_Inertia_LocalSpace>();
88 return std::make_unique<VEM_PCC_3D_Ortho_LocalSpace>();
90 throw std::runtime_error(
"VEM type " + std::to_string((
unsigned int)type) +
" not supported");
Interface class for Primal Conforming Constant degree 3D Virtual Element Methods .
Definition VEM_PCC_3D_Inertia_LocalSpace.hpp:33
Definition VEM_PCC_3D_LocalSpace.hpp:33
Interface class for Primal Conforming Constant degree 3D Virtual Element Methods .
Definition VEM_PCC_3D_Ortho_LocalSpace.hpp:36
std::unique_ptr< I_VEM_PCC_2D_ReferenceElement > create_VEM_PCC_3D_reference_element_2D(const VEM_PCC_3D_LocalSpace_Types &type)
Definition VEM_PCC_3D_Creator.hpp:38
VEM_PCC_3D_LocalSpace_Types
Definition VEM_PCC_3D_Creator.hpp:32
@ VEM_PCC_3D_Ortho_LocalSpace
@ VEM_PCC_3D_Inertia_LocalSpace
std::unique_ptr< I_VEM_PCC_2D_LocalSpace > create_VEM_PCC_3D_local_space_2D(const VEM_PCC_3D_LocalSpace_Types &type)
Definition VEM_PCC_3D_Creator.hpp:64
std::unique_ptr< I_VEM_PCC_3D_LocalSpace > create_VEM_PCC_3D_local_space_3D(const VEM_PCC_3D_LocalSpace_Types &type)
Definition VEM_PCC_3D_Creator.hpp:79
std::unique_ptr< I_VEM_PCC_3D_ReferenceElement > create_VEM_PCC_3D_reference_element_3D(const VEM_PCC_3D_LocalSpace_Types &type)
Definition VEM_PCC_3D_Creator.hpp:51
Definition FEM_MCC_2D_LocalSpace.cpp:17