GRINS-0.6.0
|
#include <composite_qoi.h>
Public Member Functions | |
CompositeQoI () | |
virtual | ~CompositeQoI () |
virtual libMesh::AutoPtr< 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::ParameterMultiPointer< 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 | 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 |
Protected Attributes | |
std::vector< QoIBase * > | _qois |
Definition at line 56 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().
|
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(), CompositeQoI(), get_qoi(), and n_qois().
|
virtual |
Compute the qoi value for element interiors.
Definition at line 127 of file composite_qoi.C.
References _qois.
|
virtual |
Compute the qoi derivative with respect to the solution on element interiors.
Definition at line 140 of file composite_qoi.C.
References _qois.
|
inline |
Definition at line 144 of file composite_qoi.h.
References _qois, and n_qois().
Referenced by clone(), GRINS::SteadyVisualization::output_adjoint(), and GRINS::UnsteadyVisualization::output_adjoint().
libMesh::Number GRINS::CompositeQoI::get_qoi_value | ( | unsigned int | qoi_index | ) | const |
Accessor for value of QoI for given qoi_index.
Definition at line 215 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.
|
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 138 of file composite_qoi.h.
References _qois.
Referenced by clone(), get_qoi(), GRINS::SteadyVisualization::output_adjoint(), and GRINS::UnsteadyVisualization::output_adjoint().
void GRINS::CompositeQoI::output_qoi | ( | std::ostream & | out | ) | const |
Basic output for computed QoI's.
Definition at line 204 of file composite_qoi.C.
References _qois.
Referenced by GRINS::Simulation::run(), and GRINS::SteadyMeshAdaptiveSolver::solve().
|
virtual |
Operation to accumulate the QoI from multiple MPI processes.
Calls each QoI's parallel_op function.
Definition at line 179 of file composite_qoi.C.
References _qois.
void GRINS::CompositeQoI::register_parameter | ( | const std::string & | param_name, |
libMesh::ParameterMultiPointer< libMesh::Number > & | param_pointer | ||
) | const |
Each QoI will register its copy(s) of an independent variable.
Definition at line 119 of file composite_qoi.C.
Referenced by GRINS::ParameterManager::initialize().
|
virtual |
Compute the qoi value on the domain boundary.
Definition at line 153 of file composite_qoi.C.
References _qois.
|
virtual |
Compute the qoi derivative with respect to the solution on the domain boundary.
Definition at line 166 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 192 of file composite_qoi.C.
References _qois.
|
protected |
Definition at line 133 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().