45 node_name2type (
string name)
57 raw_polynomial_name2type (
string name)
84 return is_node_name(
name) ||
85 is_raw_polynomial_name(
name) ||
91 set_node (node_name2type (
name));
96 set_raw_polynomial (raw_polynomial_name2type (
name));
101 check_macro (_node >= 0 && _node <= max_node,
102 "unexpected space node number = " << _node);
108 check_macro (_poly >= 0 && _poly <= max_raw_polynomial,
109 "unexpected space raw polynomial number = " << _poly);
115 if (is_node_name (option_name)) {
116 set_node (option_name);
117 }
else if (is_raw_polynomial_name (option_name)) {
118 set_raw_polynomial (option_name);
119 }
else if (option_name ==
"trace_n") {
122 error_macro (
"unexpected option name `" << option_name <<
"'");
128 if (_node == default_node && _poly == default_raw_polynomial) {
131 string opt_trace =
"";
132 if (_poly == default_raw_polynomial) {
133 return "[" + opt_trace + get_node_name() +
"]";
135 if (_node == default_node) {
136 return "[" + opt_trace + get_raw_polynomial_name() +
"]";
138 return "[" + opt_trace + get_node_name() +
"," + get_raw_polynomial_name() +
"]";
basis_option - finite element method options
bool is_raw_polynomial_name(std::string name) const
std::string get_raw_polynomial_name() const
std::string get_node_name() const
bool is_option_name(std::string name) const
std::string stamp() const
void set(std::string option_name)
void set_node(node_type type)
bool is_node_name(std::string name) const
void set_raw_polynomial(raw_polynomial_type type)
static const char * static_node_name[basis_option::max_node+1]
static const char * static_raw_polynomial_name[basis_option::max_raw_polynomial+1]
#define error_macro(message)
This file is part of Rheolef.