$extrastylesheet
#include <variable.h>

Public Member Functions | |
| Variable (System *sys, const std::string &var_name, const unsigned int var_number, const unsigned int first_scalar_num, const FEType &var_type) | |
| Variable (System *sys, const 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) | |
| System * | system () const |
| const std::string & | name () const |
| unsigned int | number () const |
| unsigned int | first_scalar_number () const |
| const FEType & | type () const |
| unsigned int | n_components () const |
| bool | active_on_subdomain (subdomain_id_type sid) const |
| bool | implicitly_active () const |
| const std::set < subdomain_id_type > & | active_subdomains () const |
Protected Attributes | |
| System * | _sys |
| std::string | _name |
| std::set< subdomain_id_type > | _active_subdomains |
| unsigned int | _number |
| unsigned int | _first_scalar_number |
| FEType | _type |
This class defines the notion of a variable in the system. A variable is one of potentially several unknowns in the problem at hand. A variable is described by a unique name, a finite element approximation family, and (optionally) a list of subdomains to which the variable is restricted.
Definition at line 44 of file variable.h.
| libMesh::Variable::Variable | ( | System * | sys, |
| const std::string & | var_name, | ||
| const unsigned int | var_number, | ||
| const unsigned int | first_scalar_num, | ||
| const FEType & | var_type | ||
| ) | [inline] |
Constructor. Omits the subdomain mapping, hence this constructor creates a variable which is active on all subdomains.
Definition at line 53 of file variable.h.
Referenced by libMesh::VariableGroup::variable().
:
_sys(sys),
_name(var_name),
_active_subdomains(),
_number(var_number),
_first_scalar_number(first_scalar_num),
_type(var_type)
{}
| libMesh::Variable::Variable | ( | System * | sys, |
| const 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 | ||
| ) | [inline] |
Constructor. Takes a set which contains the subdomain indices for which this variable is active.
Definition at line 70 of file variable.h.
:
_sys(sys),
_name(var_name),
_active_subdomains(var_active_subdomains),
_number(var_number),
_first_scalar_number(first_scalar_num),
_type(var_type)
{}
| bool libMesh::Variable::active_on_subdomain | ( | subdomain_id_type | sid | ) | const [inline] |
returns true if this variable is active on subdomain sid, false otherwise. Note that we interperet the special case of an empty _active_subdomains container as active everywhere, i.e. for all subdomains.
Definition at line 129 of file variable.h.
References _active_subdomains.
Referenced by libMesh::ExactSolution::_compute_error(), libMesh::DofMap::_dof_indices(), libMesh::DofMap::add_neighbors_to_send_list(), libMesh::EquationSystems::build_solution_vector(), libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::DofMap::dof_indices(), libMesh::EquationSystems::get_solution(), libMesh::DofMap::old_dof_indices(), libMesh::ProjectSolution::operator()(), libMesh::ProjectFEMSolution::operator()(), libMesh::BoundaryProjectSolution::operator()(), and libMesh::DofMap::reinit().
{ return (_active_subdomains.empty() || _active_subdomains.count(sid)); }
| const std::set<subdomain_id_type>& libMesh::Variable::active_subdomains | ( | ) | const [inline] |
Returns set of subdomain ids this variable lives on
Definition at line 143 of file variable.h.
References _active_subdomains.
Referenced by libMesh::VariableGroup::variable(), and libMesh::System::write_header().
{ return _active_subdomains; }
| unsigned int libMesh::Variable::first_scalar_number | ( | ) | const [inline] |
The index of the first scalar component of this variable in the system.
Definition at line 108 of file variable.h.
References _first_scalar_number.
Referenced by libMesh::System::n_components(), and libMesh::VariableGroup::variable().
{ return _first_scalar_number; }
| bool libMesh::Variable::implicitly_active | ( | ) | const [inline] |
returns true if this variable is active on all subdomains because it has no specified activity map. This can be used to perform more efficient computations in some places.
Definition at line 137 of file variable.h.
References _active_subdomains.
{ return _active_subdomains.empty(); }
| unsigned int libMesh::Variable::n_components | ( | ) | const [inline] |
The number of components of this variable.
Definition at line 120 of file variable.h.
References _type, libMesh::FEType::family, libMesh::FEType::order, libMesh::SCALAR, and type().
Referenced by libMesh::System::n_components().
| const std::string& libMesh::Variable::name | ( | ) | const [inline] |
Arbitrary, user-specified name of the variable.
Definition at line 95 of file variable.h.
References _name.
Referenced by DMlibMeshSetSystem_libMesh(), and libMesh::VariableGroup::variable().
{ return _name; }
| unsigned int libMesh::Variable::number | ( | ) | const [inline] |
The rank of this variable in the system.
Definition at line 101 of file variable.h.
References _number.
Referenced by libMesh::VariableGroup::variable().
{ return _number; }
| System* libMesh::Variable::system | ( | ) | const [inline] |
The System this Variable is part of.
Definition at line 87 of file variable.h.
References _sys.
Referenced by libMesh::VariableGroup::variable().
{
return _sys;
}
| const FEType& libMesh::Variable::type | ( | ) | const [inline] |
The FEType for this variable.
Definition at line 114 of file variable.h.
References _type.
Referenced by libMesh::DofMap::_dof_indices(), libMesh::DofMap::add_neighbors_to_send_list(), libMesh::FEMSystem::assembly(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::DofMap::dof_indices(), libMesh::System::get_info(), n_components(), libMesh::ProjectSolution::operator()(), libMesh::ProjectFEMSolution::operator()(), libMesh::BoundaryProjectSolution::operator()(), libMesh::System::project_vector(), libMesh::System::read_parallel_data(), libMesh::System::read_SCALAR_dofs(), libMesh::System::read_serialized_vectors(), libMesh::DofMap::reinit(), libMesh::DofMap::SCALAR_dof_indices(), libMesh::VariableGroup::variable(), libMesh::System::write_parallel_data(), libMesh::System::write_serialized_vector(), and libMesh::System::write_serialized_vectors().
{ return _type; }
std::set<subdomain_id_type> libMesh::Variable::_active_subdomains [protected] |
Definition at line 149 of file variable.h.
Referenced by active_on_subdomain(), active_subdomains(), and implicitly_active().
unsigned int libMesh::Variable::_first_scalar_number [protected] |
Definition at line 151 of file variable.h.
Referenced by first_scalar_number(), and libMesh::VariableGroup::first_scalar_number().
std::string libMesh::Variable::_name [protected] |
Definition at line 148 of file variable.h.
Referenced by name().
unsigned int libMesh::Variable::_number [protected] |
Definition at line 150 of file variable.h.
Referenced by number(), and libMesh::VariableGroup::number().
System* libMesh::Variable::_sys [protected] |
Definition at line 147 of file variable.h.
Referenced by system().
FEType libMesh::Variable::_type [protected] |
Definition at line 152 of file variable.h.
Referenced by n_components(), and type().