Holds completed parameter sensitivity calculations. More...
#include <sensitivity_data.h>
Classes | |
class | ConstRow |
class | Row |
Public Member Functions | |
SensitivityData () | |
SensitivityData (const QoISet &qoi_indices, const System &sys, const ParameterVector ¶meter_vector) | |
void | clear () |
void | allocate_data (const QoISet &qoi_indices, const System &sys, const ParameterVector ¶meter_vector) |
void | allocate_hessian_data (const QoISet &qoi_indices, const System &sys, const ParameterVector ¶meter_vector) |
const Number & | derivative (unsigned int qoi_index, unsigned int parameter_index) const |
const Number & | second_derivative (unsigned int qoi_index, unsigned int parameter_index1, unsigned int parameter_index2) const |
Number & | derivative (unsigned int qoi_index, unsigned int parameter_index) |
Number & | second_derivative (unsigned int qoi_index, unsigned int parameter_index1, unsigned int parameter_index2) |
ConstRow | operator[] (unsigned int qoi) const |
Row | operator[] (unsigned int qoi) |
Private Attributes | |
std::vector< std::vector< Number > > | _grad_data |
std::vector< std::vector< std::vector< Number > > > | _hess_data |
Holds completed parameter sensitivity calculations.
Data structure for holding completed parameter sensitivity calculations.
Definition at line 46 of file sensitivity_data.h.
|
inline |
|
inline |
Constructor from QoISet and ParameterVector: allocates space for all required sensitivities
Definition at line 160 of file sensitivity_data.h.
References allocate_data().
|
inline |
Given QoISet and ParameterVector, allocates space for all required first derivative data
Definition at line 170 of file sensitivity_data.h.
References _grad_data, libMesh::QoISet::has_index(), libMesh::System::n_qois(), and libMesh::ParameterVector::size().
Referenced by libMesh::ImplicitSystem::adjoint_qoi_parameter_sensitivity(), libMesh::ImplicitSystem::forward_qoi_parameter_sensitivity(), libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product(), and SensitivityData().
|
inline |
Given QoISet and ParameterVector, allocates space for all required second derivative data
Definition at line 191 of file sensitivity_data.h.
References _hess_data, libMesh::QoISet::has_index(), libMesh::System::n_qois(), and libMesh::ParameterVector::size().
Referenced by libMesh::ImplicitSystem::qoi_parameter_hessian().
|
inline |
Clears and deallocates all data
Definition at line 87 of file sensitivity_data.h.
References _grad_data.
|
inline |
Definition at line 214 of file sensitivity_data.h.
References _grad_data.
Referenced by libMesh::SensitivityData::Row::operator[](), and libMesh::SensitivityData::ConstRow::operator[]().
|
inline |
Gets/sets the parameter sensitivity derivative for the specified quantity of interest for the specified parameter
Definition at line 226 of file sensitivity_data.h.
References _grad_data.
|
inline |
Vector address type operator: sd[q][p] is an alias for sd.derivative(q,p)
Definition at line 140 of file sensitivity_data.h.
|
inline |
Definition at line 142 of file sensitivity_data.h.
|
inline |
Definition at line 238 of file sensitivity_data.h.
References _hess_data.
Referenced by libMesh::ImplicitSystem::qoi_parameter_hessian().
|
inline |
Gets/sets the parameter sensitivity second derivative for the specified quantity of interest for the specified pair of parameters
Definition at line 252 of file sensitivity_data.h.
References _hess_data.
|
private |
Data storage; currently pretty trivial
Definition at line 148 of file sensitivity_data.h.
Referenced by allocate_data(), clear(), and derivative().
|
private |
Definition at line 149 of file sensitivity_data.h.
Referenced by allocate_hessian_data(), and second_derivative().