PolyDiM
C++ library for POLYtopal DIscretization Methods
Loading...
Searching...
No Matches
ZFEM_PCC_2D_Creator.hpp
Go to the documentation of this file.
1// _LICENSE_HEADER_
2//
3// Copyright (C) 2019 - 2025.
4// Terms register on the GPL-3.0 license.
5//
6// This file can be redistributed and/or modified under the license terms.
7//
8// See top level LICENSE file for more details.
9//
10// This file can be used citing references in CITATION.cff file.
11
12#ifndef __ZFEM_PCC_2D_Creator_HPP
13#define __ZFEM_PCC_2D_Creator_HPP
14
17
20#include <memory>
21
22namespace Polydim
23{
24namespace ZFEM
25{
26namespace PCC
27{
32
33inline std::unique_ptr<I_ZFEM_PCC_2D_ReferenceElement> create_ZFEM_PCC_2D_reference_element(const ZFEM_PCC_2D_LocalSpace_Types &type)
34{
35 switch (type)
36 {
38 return std::make_unique<ZFEM_PCC_2D_ReferenceElement>();
39 default:
40 throw std::runtime_error("ZFEM type " + std::to_string((unsigned int)type) + " not supported");
41 }
42}
43
44inline std::unique_ptr<I_ZFEM_PCC_2D_LocalSpace> create_ZFEM_PCC_2D_local_space(const ZFEM_PCC_2D_LocalSpace_Types &type)
45{
46 switch (type)
47 {
49 return std::make_unique<ZFEM_PCC_2D_LocalSpace>();
50 default:
51 throw std::runtime_error("ZFEM type " + std::to_string((unsigned int)type) + " not supported");
52 }
53}
54
55} // namespace PCC
56} // namespace ZFEM
57} // namespace Polydim
58
59#endif
This local space implements .
Definition ZFEM_PCC_2D_LocalSpace.hpp:29
std::unique_ptr< I_ZFEM_PCC_2D_ReferenceElement > create_ZFEM_PCC_2D_reference_element(const ZFEM_PCC_2D_LocalSpace_Types &type)
Definition ZFEM_PCC_2D_Creator.hpp:33
std::unique_ptr< I_ZFEM_PCC_2D_LocalSpace > create_ZFEM_PCC_2D_local_space(const ZFEM_PCC_2D_LocalSpace_Types &type)
Definition ZFEM_PCC_2D_Creator.hpp:44
ZFEM_PCC_2D_LocalSpace_Types
Definition ZFEM_PCC_2D_Creator.hpp:29
Definition FEM_MCC_2D_LocalSpace.cpp:17