21 #ifndef _FUEL_CELL_APPLICATION_CORE_FE_VECTORS_H_
22 #define _FUEL_CELL_APPLICATION_CORE_FE_VECTORS_H_
24 #include <deal.II/lac/vector_memory.h>
25 #include <deal.II/lac/block_vector.h>
30 using namespace dealii;
34 namespace ApplicationCore
40 typedef BlockVector<double>
FEVector;
75 void add_scalar(
double& s,
76 const std::string& name);
83 const std::string& name);
89 const std::string& name);
117 unsigned int n_scalars()
const;
122 unsigned int n_vectors()
const;
127 double& scalar(
unsigned int i);
132 const double& scalar(
unsigned int i)
const;
142 const FEVector& vector(
unsigned int i)
const;
147 const std::string& scalar_name(
unsigned int i)
const;
152 const std::string& vector_name(
unsigned int i)
const;
157 unsigned int find_scalar(
const std::string& name)
const;
162 unsigned int find_vector(
const std::string& name)
const;
167 unsigned int count_vector(
const std::string& name)
const;
175 template<
typename OUT>
177 unsigned int verbosity = 1)
const;
191 <<
"Name at position " << arg1 <<
" is not equal to " << arg2);
std::vector< FEVector * > vectors
The vectors stored.
Definition: fe_vectors.h:213
std::vector< std::string > vector_names
The names of the vectors.
Definition: fe_vectors.h:218
bool is_constant
True if the object is to be treated constant.
Definition: fe_vectors.h:198
std::vector< double * > scalars
The scalars stored.
Definition: fe_vectors.h:203
std::vector< std::string > scalar_names
The names of the scalars.
Definition: fe_vectors.h:208
DeclException2(VariableShouldExistForEquation, std::string, std::string,<< "The user-defined variable with name \""<< arg1<< "\" should be one of the solution variables for equation with name \""<< arg2<< "\"")
Exception thrown when a particular variable required by the equation class, does not exist in the use...
BlockVector< double > FEVector
The vector class used by applications.
Definition: application_data.h:46
The data type used in function calls of Application.
Definition: fe_vectors.h:59