IgANet
IgANets - Isogeometric Analysis Networks
Loading...
Searching...
No Matches
GismoModel.hpp
Go to the documentation of this file.
1
15#pragma once
16
17#include <iganet.h>
18#include <model.hpp>
19
20namespace iganet {
21
22namespace webapp {
23
26template <short_t>
27const std::initializer_list<gismo::boundary::side> GismoBoundarySides;
28
29template <>
30const std::initializer_list<gismo::boundary::side> GismoBoundarySides<1>{
31 gismo::boundary::side::west, gismo::boundary::side::east};
32
33template <>
34const std::initializer_list<gismo::boundary::side> GismoBoundarySides<2>{
35 gismo::boundary::side::west, gismo::boundary::side::east,
36 gismo::boundary::side::south, gismo::boundary::side::north};
37
38template <>
39const std::initializer_list<gismo::boundary::side> GismoBoundarySides<3>{
40 gismo::boundary::side::west, gismo::boundary::side::east,
41 gismo::boundary::side::south, gismo::boundary::side::north,
42 gismo::boundary::side::front, gismo::boundary::side::back};
43
44template <>
45const std::initializer_list<gismo::boundary::side> GismoBoundarySides<4>{
46 gismo::boundary::side::west, gismo::boundary::side::east,
47 gismo::boundary::side::south, gismo::boundary::side::north,
48 gismo::boundary::side::front, gismo::boundary::side::back,
49 gismo::boundary::side::stime, gismo::boundary::side::etime};
51
54template <short_t>
55const std::initializer_list<std::string> GismoBoundarySideStrings;
56
57template <>
58const std::initializer_list<std::string> GismoBoundarySideStrings<1>{"west",
59 "east"};
60
61template <>
62const std::initializer_list<std::string> GismoBoundarySideStrings<2>{
63 "west", "east", "south", "north"};
64
65template <>
66const std::initializer_list<std::string> GismoBoundarySideStrings<3>{
67 "west", "east", "south", "north", "front", "back"};
68
69template <>
70const std::initializer_list<std::string> GismoBoundarySideStrings<4>{
71 "west", "east", "south", "north", "front", "back", "stime", "etime"};
73
75template <class T> class GismoModel : public Model<T> {
76
77public:
80
83
85 virtual nlohmann::json to_json(const std::string &patch,
86 const std::string &component,
87 const std::string &attribute) const override {
88
89 return R"({ INVALID REQUEST })"_json;
90 }
91
93 virtual nlohmann::json updateAttribute(const std::string &patch,
94 const std::string &component,
95 const std::string &attribute,
96 const nlohmann::json &json) override {
97
98 return R"({ INVALID REQUEST })"_json;
99 }
100};
101
102} // namespace webapp
103} // namespace iganet
Model interface.
Definition model.hpp:195
G+Smo base model.
Definition GismoModel.hpp:75
GismoModel()
Default constructor.
Definition GismoModel.hpp:79
virtual nlohmann::json to_json(const std::string &patch, const std::string &component, const std::string &attribute) const override
Serializes the model to JSON.
Definition GismoModel.hpp:85
virtual nlohmann::json updateAttribute(const std::string &patch, const std::string &component, const std::string &attribute, const nlohmann::json &json) override
Updates the attributes of the model.
Definition GismoModel.hpp:93
~GismoModel()
Destructor.
Definition GismoModel.hpp:82
Isogeometric analysis network main header file.
Model capabilities.
const std::initializer_list< gismo::boundary::side > GismoBoundarySides< 1 >
G+Smo boundary sides.
Definition GismoModel.hpp:30
const std::initializer_list< std::string > GismoBoundarySideStrings< 3 >
G+Smo boundary side names.
Definition GismoModel.hpp:66
const std::initializer_list< gismo::boundary::side > GismoBoundarySides
G+Smo boundary sides.
Definition GismoModel.hpp:27
const std::initializer_list< gismo::boundary::side > GismoBoundarySides< 3 >
G+Smo boundary sides.
Definition GismoModel.hpp:39
const std::initializer_list< std::string > GismoBoundarySideStrings
G+Smo boundary side names.
Definition GismoModel.hpp:55
const std::initializer_list< gismo::boundary::side > GismoBoundarySides< 4 >
G+Smo boundary sides.
Definition GismoModel.hpp:45
const std::initializer_list< std::string > GismoBoundarySideStrings< 2 >
G+Smo boundary side names.
Definition GismoModel.hpp:62
const std::initializer_list< std::string > GismoBoundarySideStrings< 4 >
G+Smo boundary side names.
Definition GismoModel.hpp:70
const std::initializer_list< gismo::boundary::side > GismoBoundarySides< 2 >
G+Smo boundary sides.
Definition GismoModel.hpp:34
const std::initializer_list< std::string > GismoBoundarySideStrings< 1 >
G+Smo boundary side names.
Definition GismoModel.hpp:58
Definition boundary.hpp:22
constexpr bool is_SplineType_v
Alias to the value of is_SplineType.
Definition bspline.hpp:3243