18 #ifndef COUPLED_SYSTEM_H 19 #define COUPLED_SYSTEM_H 22 #include "libmesh/fem_function_base.h" 23 #include "libmesh/fem_system.h" 24 #include "libmesh/libmesh_common.h" 25 #include "libmesh/parameter_pointer.h" 26 #include "libmesh/parameter_vector.h" 40 const std::string & name_in,
41 const unsigned int number_in)
42 :
FEMSystem(es, name_in, number_in), Peclet(1.) {this->init_qois(1);}
53 return parameters[parameter_index];
58 if (!parameter_vector.size())
59 for (std::size_t i = 0; i != parameters.size(); ++i)
62 return parameter_vector;
73 virtual void init_data ();
80 virtual bool element_time_derivative (
bool request_jacobian,
84 virtual bool element_constraint (
bool request_jacobian,
88 virtual void postprocess ();
94 unsigned int p_var, u_var,
v_var, C_var;
113 unsigned int var_number)
119 virtual std::unique_ptr<FEMFunctionBase<Number>>
clone ()
const 121 return std::make_unique<CoupledFEMFunctionsx>(*this);
128 { libmesh_not_implemented(); }
132 const Real time = 0.);
144 unsigned int var_number)
145 { var = var_number; }
150 virtual std::unique_ptr<FEMFunctionBase<Number>>
clone ()
const 152 return std::make_unique<CoupledFEMFunctionsy>(*this);
159 { libmesh_not_implemented(); }
163 const Real time = 0.);
169 #endif // COUPLED_SYSTEM_H This is the EquationSystems class.
This class provides all data required for a physics package (e.g.
ParameterVector & get_parameter_vector()
Data structure for specifying which Parameters should be independent variables in a parameter sensiti...
Accessor object allowing reading and modification of the independent variables in a parameter sensiti...
CoupledSystem(EquationSystems &es, const std::string &name_in, const unsigned int number_in)
The libMesh namespace provides an interface to certain functionality in the library.
This class provides a specific system class.
Number & get_parameter_value(unsigned int parameter_index)
std::vector< Number > parameters
Manages consistently variables, degrees of freedom, and coefficient vectors.
virtual std::unique_ptr< FEMFunctionBase< Number > > clone() const
This class provides all data required for a physics package (e.g.
void push_back(std::unique_ptr< ParameterAccessor< Number >> new_accessor)
Adds an additional parameter accessor to the end of the vector.
ParameterVector parameter_vector
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual std::unique_ptr< FEMFunctionBase< Number > > clone() const
CoupledFEMFunctionsy(System &, unsigned int var_number)
FEMFunctionBase is a base class from which users can derive in order to define "function-like" object...
CoupledFEMFunctionsx(System &, unsigned int var_number)
A Point defines a location in LIBMESH_DIM dimensional Real space.