18 #ifndef LIBMESH_VARIABLE_H 19 #define LIBMESH_VARIABLE_H 22 #include "libmesh/libmesh_common.h" 23 #include "libmesh/fe_type.h" 24 #include "libmesh/id_types.h" 61 const unsigned int var_number,
62 const unsigned int first_scalar_num,
78 const unsigned int var_number,
79 const unsigned int first_scalar_num,
81 const std::set<subdomain_id_type> & var_active_subdomains) :
122 const std::string &
name()
const 224 std::vector<std::string> var_names,
225 const unsigned int var_number,
226 const unsigned int first_scalar_num,
227 const FEType & var_type) :
242 std::vector<std::string> var_names,
243 const unsigned int var_number,
244 const unsigned int first_scalar_num,
246 const std::set<subdomain_id_type> & var_active_subdomains) :
253 var_active_subdomains),
271 return (this->Variable::operator==(other)) &&
279 {
return cast_int<unsigned int>(
_names.size()); }
307 const std::string &
name(
unsigned int v)
const 316 unsigned int number(
unsigned int v)
const 341 {
_names.push_back (std::move(var_name)); }
349 #endif // LIBMESH_VARIABLE_H class FEType hides (possibly multiple) FEFamily and approximation orders, thereby enabling specialize...
std::set< subdomain_id_type > _active_subdomains
VariableGroup(System *sys, std::vector< std::string > var_names, const unsigned int var_number, const unsigned int first_scalar_num, const FEType &var_type, const std::set< subdomain_id_type > &var_active_subdomains)
Constructor.
VariableGroup & operator=(const VariableGroup &)=default
const std::string & name(unsigned int v) const
The libMesh namespace provides an interface to certain functionality in the library.
Variable(System *sys, std::string var_name, const unsigned int var_number, const unsigned int first_scalar_num, const FEType &var_type)
Constructor.
VariableGroup(System *sys, std::vector< std::string > var_names, const unsigned int var_number, const unsigned int first_scalar_num, const FEType &var_type)
Constructor.
This is the MeshBase class.
void append(std::string var_name)
Appends a variable to the group.
This class handles the numbering of degrees of freedom on a mesh.
unsigned int _first_scalar_number
unsigned int first_scalar_number() const
This class defines the notion of a variable in the system.
const std::set< subdomain_id_type > & active_subdomains() const
unsigned int n_variables() const
bool operator==(const VariableGroup &other) const
unsigned int n_components() const
Manages consistently variables, degrees of freedom, and coefficient vectors.
Variable & operator=(const Variable &)=default
std::vector< std::string > _names
bool active_on_subdomain(subdomain_id_type sid) const
Variable variable(unsigned int v) const
This class defines a logically grouped set of variables in the system.
Variable operator()(unsigned int v) const
Support vg(v).
bool implicitly_active() const
unsigned int number(unsigned int v) const
const std::string & name() const
unsigned int number() const
Variable(System *sys, std::string var_name, const unsigned int var_number, const unsigned int first_scalar_num, const FEType &var_type, const std::set< subdomain_id_type > &var_active_subdomains)
Constructor.
bool operator==(const Variable &other) const
unsigned int first_scalar_number(unsigned int v) const
const FEType & type() const