Amandus: Simulations based on multilevel Schwarz methods
|
#include <amandus.h>
Public Member Functions | |
AmandusResidual (const AmandusApplicationSparse< dim > &application, AmandusIntegrator< dim > &integrator) | |
virtual void | operator() (dealii::AnyData &out, const dealii::AnyData &in) |
Protected Attributes | |
dealii::SmartPointer< const AmandusApplicationSparse< dim >, AmandusResidual< dim > > | application |
Pointer to the application computing the residual. More... | |
dealii::SmartPointer< AmandusIntegrator< dim >, AmandusResidual< dim > > | integrator |
Pointer to the local integrator defining the model. More... | |
A residual operator using AmandusApplicationSparse::assemble_right_hand_side() with support for simple one-step methods.
AmandusResidual< dim >::AmandusResidual | ( | const AmandusApplicationSparse< dim > & | application, |
AmandusIntegrator< dim > & | integrator | ||
) |
Constructor storing smart pointers to both objects to be used by operator()().
|
virtual |
Apply the residual operator to the objects in in
. Do this, by first calling AmandusIntegrator::extract_data() and then AmandusApplication::assemble_right_hand_side().
After assembling, the function checks for the element "Previous
time" in in
, which indicates a simple one-step method. If found, the vector of this element is subtracted from the result of the assembling.
Reimplemented in ExactResidual< dim >.
|
protected |
Pointer to the application computing the residual.
|
protected |
Pointer to the local integrator defining the model.