GRINS-0.8.0
|
#include <composite_qoi.h>
Public Member Functions | |
CompositeQoI () | |
virtual | ~CompositeQoI () |
virtual libMesh::UniquePtr< libMesh::DifferentiableQoI > | clone () |
Required to provide clone for adding QoI object to libMesh objects. More... | |
virtual void | add_qoi (const QoIBase &qoi) |
unsigned int | n_qois () const |
void | register_parameter (const std::string ¶m_name, libMesh::ParameterMultiAccessor< libMesh::Number > ¶m_pointer) const |
Each QoI will register its copy(s) of an independent variable. More... | |
virtual void | init (const GetPot &input, const MultiphysicsSystem &system) |
Method to allow QoI to cache any system information needed for QoI calculation, for example, solution variable indices. More... | |
virtual void | init_qoi (std::vector< libMesh::Number > &sys_qoi) |
Method to allow QoI to resize libMesh::System storage of QoI computations. More... | |
virtual void | init_context (libMesh::DiffContext &context) |
virtual void | reinit (MultiphysicsSystem &system) |
Reinitialize qoi. More... | |
virtual void | element_qoi (libMesh::DiffContext &context, const libMesh::QoISet &qoi_indices) |
Compute the qoi value for element interiors. More... | |
virtual void | element_qoi_derivative (libMesh::DiffContext &context, const libMesh::QoISet &qoi_indices) |
Compute the qoi derivative with respect to the solution on element interiors. More... | |
virtual void | side_qoi (libMesh::DiffContext &context, const libMesh::QoISet &qoi_indices) |
Compute the qoi value on the domain boundary. More... | |
virtual void | side_qoi_derivative (libMesh::DiffContext &context, const libMesh::QoISet &qois) |
Compute the qoi derivative with respect to the solution on the domain boundary. More... | |
virtual void | parallel_op (const libMesh::Parallel::Communicator &communicator, std::vector< libMesh::Number > &sys_qoi, std::vector< libMesh::Number > &local_qoi, const libMesh::QoISet &qoi_indices) |
Operation to accumulate the QoI from multiple MPI processes. More... | |
virtual void | thread_join (std::vector< libMesh::Number > &qoi, const std::vector< libMesh::Number > &other_qoi, const libMesh::QoISet &qoi_indices) |
Operation to accumulate the QoI from multiple MPI processes. More... | |
void | output_qoi (std::ostream &out) const |
Basic output for computed QoI's. More... | |
libMesh::Number | get_qoi_value (unsigned int qoi_index) const |
Accessor for value of QoI for given qoi_index. More... | |
const QoIBase & | get_qoi (unsigned int qoi_index) const |
QoIBase & | get_qoi (unsigned int qoi_index) |
Non-const version needed for reinit() More... | |
Protected Attributes | |
std::vector< QoIBase * > | _qois |
Definition at line 57 of file composite_qoi.h.
GRINS::CompositeQoI::CompositeQoI | ( | ) |
Definition at line 37 of file composite_qoi.C.
Referenced by clone().
|
virtual |
|
virtual |
Definition at line 70 of file composite_qoi.C.
References _qois, GRINS::QoIBase::assemble_on_interior(), GRINS::QoIBase::assemble_on_sides(), and GRINS::QoIBase::clone().
Referenced by clone(), and GRINSTesting::IntegratedFunctionTest::reinit_through_system().
|
virtual |
Required to provide clone for adding QoI object to libMesh objects.
Note that we do a deep copy here since the previous object might get destroyed and wipe out the objects being pointed to in _qois.
Definition at line 58 of file composite_qoi.C.
References add_qoi(), clone(), CompositeQoI(), get_qoi(), and n_qois().
Referenced by clone().
|
virtual |
Compute the qoi value for element interiors.
Definition at line 129 of file composite_qoi.C.
References _qois.
|
virtual |
Compute the qoi derivative with respect to the solution on element interiors.
Definition at line 142 of file composite_qoi.C.
References _qois.
|
inline |
Definition at line 151 of file composite_qoi.h.
References _qois, and n_qois().
Referenced by clone(), GRINS::SteadyVisualization::output_adjoint(), GRINS::UnsteadyVisualization::output_adjoint(), reinit(), and GRINSTesting::IntegratedFunctionTest::reinit_through_system().
|
inline |
Non-const version needed for reinit()
Definition at line 159 of file composite_qoi.h.
References _qois, and n_qois().
libMesh::Number GRINS::CompositeQoI::get_qoi_value | ( | unsigned int | qoi_index | ) | const |
Accessor for value of QoI for given qoi_index.
Definition at line 217 of file composite_qoi.C.
References _qois.
Referenced by GRINS::Simulation::get_qoi_value().
|
virtual |
Method to allow QoI to cache any system information needed for QoI calculation, for example, solution variable indices.
Definition at line 94 of file composite_qoi.C.
References _qois.
Referenced by GRINSTesting::IntegratedFunctionTest::reinit_through_system().
|
virtual |
|
virtual |
Method to allow QoI to resize libMesh::System storage of QoI computations.
Definition at line 87 of file composite_qoi.C.
References _qois.
|
inline |
Definition at line 145 of file composite_qoi.h.
References _qois.
Referenced by clone(), get_qoi(), GRINS::SteadyVisualization::output_adjoint(), GRINS::UnsteadyVisualization::output_adjoint(), and reinit().
void GRINS::CompositeQoI::output_qoi | ( | std::ostream & | out | ) | const |
Basic output for computed QoI's.
Definition at line 206 of file composite_qoi.C.
References _qois.
Referenced by GRINS::QoIOutput::output_qois().
|
virtual |
Operation to accumulate the QoI from multiple MPI processes.
Calls each QoI's parallel_op function.
Definition at line 181 of file composite_qoi.C.
References _qois.
void GRINS::CompositeQoI::register_parameter | ( | const std::string & | param_name, |
libMesh::ParameterMultiAccessor< libMesh::Number > & | param_pointer | ||
) | const |
Each QoI will register its copy(s) of an independent variable.
Definition at line 114 of file composite_qoi.C.
Referenced by GRINS::ParameterManager::initialize().
|
virtual |
Reinitialize qoi.
Definition at line 122 of file composite_qoi.C.
References get_qoi(), and n_qois().
Referenced by GRINS::MultiphysicsSystem::reinit(), and GRINSTesting::IntegratedFunctionTest::test_convergence().
|
virtual |
Compute the qoi value on the domain boundary.
Definition at line 155 of file composite_qoi.C.
References _qois.
|
virtual |
Compute the qoi derivative with respect to the solution on the domain boundary.
Definition at line 168 of file composite_qoi.C.
References _qois.
|
virtual |
Operation to accumulate the QoI from multiple MPI processes.
Calls each QoI's thread_join function.
Definition at line 194 of file composite_qoi.C.
References _qois.
|
protected |
Definition at line 140 of file composite_qoi.h.
Referenced by add_qoi(), element_qoi(), element_qoi_derivative(), get_qoi(), get_qoi_value(), init(), init_context(), init_qoi(), n_qois(), output_qoi(), parallel_op(), side_qoi(), side_qoi_derivative(), thread_join(), and ~CompositeQoI().