ASPECT

Public Member Functions  
VariableDeclaration (const std::string &name, const std::shared_ptr< FiniteElement< dim > > &fe, const unsigned int multiplicity, const unsigned int n_blocks)  
VariableDeclaration ()  
VariableDeclaration (const VariableDeclaration &other)  
unsigned int  n_components () const 
Public Attributes  
std::string  name 
std::shared_ptr< FiniteElement< dim > >  fe 
unsigned int  multiplicity 
unsigned int  n_blocks 
A structure to describe everything necessary to define a single variable of the finite element system in isolation. It groups the FiniteElement<dim> with other information like a name and the block structure used in linear systems. A std::vector of these structs will be converted into an ordered collection of objects of type FEVariable represented by FEVariableCollection to form the finite element system.
Blocks are used to extract or solve for certain variables separately or in block based preconditioners. As an example, in a Stokes problem one might want velocity and pressure in a single block (for use with a direct solver), or one block for all velocity components and a second block for the pressure (for a Schur complementbased preconditioner), or separate blocks for pressure and each velocity component.
Definition at line 49 of file fe_variable_collection.h.
aspect::VariableDeclaration< dim >::VariableDeclaration  (  const std::string &  name, 
const std::shared_ptr< FiniteElement< dim > > &  fe,  
const unsigned int  multiplicity,  
const unsigned int  n_blocks  
) 
Constructor.
name  A userfriendly and unique string representation of the variable. 
fe  The FiniteElement class to use. Currently, this needs to be a scalar finite element class (with exactly one component). 
multiplicity  Number of copies of the fe to create. 
n_blocks  Number of blocks this variable represents inside the linear system. A value of 0 will add the next variable (in the std::vector<VariableDeclaration> that is used to construct the FEVariableCollection) to the current block, while 1 will put the next variable into a new block. A value that is equal to the number of components will create a block for each component. 
aspect::VariableDeclaration< dim >::VariableDeclaration  (  ) 
Default constructor.
aspect::VariableDeclaration< dim >::VariableDeclaration  (  const VariableDeclaration< dim > &  other  ) 
Copy constructor.
unsigned int aspect::VariableDeclaration< dim >::n_components  (  )  const 
Return the total number of components of this variable.
std::string aspect::VariableDeclaration< dim >::name 
Name of the variable used in FEVariableCollection to identify it.
Definition at line 91 of file fe_variable_collection.h.
std::shared_ptr<FiniteElement<dim> > aspect::VariableDeclaration< dim >::fe 
The FiniteElement space.
Definition at line 96 of file fe_variable_collection.h.
unsigned int aspect::VariableDeclaration< dim >::multiplicity 
The multiplicity used in FESystem: how many copies of fe
are there?
Definition at line 101 of file fe_variable_collection.h.
unsigned int aspect::VariableDeclaration< dim >::n_blocks 
Number of linear algebra blocks occupied by this variable. See constructor for details.
Definition at line 107 of file fe_variable_collection.h.