20 #include "libmesh/enum_fe_family.h" 21 #include "libmesh/fem_system.h" 22 #include "libmesh/parameter_pointer.h" 23 #include "libmesh/parameter_vector.h" 36 const std::string & name_in,
37 const unsigned int number_in)
40 _fe_family(
"LAGRANGE"),
42 _analytic_jacobians(true),
44 { this->init_qois(1); }
47 unsigned int &
fe_order() {
return _fe_order; }
57 final_sensitivity = 0.0;
60 for(
unsigned int i = 0; i < R_plus_dp.size()-1; i++)
62 Number left_contribution = -(R_plus_dp[i] - R_minus_dp[i])/(2.*dp);
63 Number right_contribution = -(R_plus_dp[i+1] - R_minus_dp[i+1])/(2.*dp);
65 final_sensitivity += ( (left_contribution + right_contribution)/2. )*deltat_vector[i];
68 return final_sensitivity;
78 if (!parameter_vector.size())
79 for (std::size_t i = 0; i != parameters.size(); ++i)
82 return parameter_vector;
87 return computed_QoI[QoI_index];
92 virtual void init_data ();
99 virtual bool element_time_derivative (
bool request_jacobian,
107 virtual void element_qoi_derivative (
DiffContext & context,
This is the EquationSystems class.
std::vector< Number > deltat_vector
Number & compute_final_sensitivity()
This class provides all data required for a physics package (e.g.
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...
Data structure for specifying which Quantities of Interest should be calculated in an adjoint or a pa...
The libMesh namespace provides an interface to certain functionality in the library.
This class provides a specific system class.
std::vector< Number > R_plus_dp
ParameterVector & get_parameter_vector()
std::vector< Number > parameters
void push_back(std::unique_ptr< ParameterAccessor< Number >> new_accessor)
Adds an additional parameter accessor to the end of the vector.
std::vector< Number > R_minus_dp
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::string & fe_family()
bool & analytic_jacobians()
Number & get_QoI_value(unsigned int QoI_index)
HeatSystem(EquationSystems &es, const std::string &name_in, const unsigned int number_in)
unsigned int & fe_order()
ParameterVector parameter_vector