dune-fem
2.4.1-rc
|
H-div Projection for discontinuous discrete functions. The projection is described in detail in: More...
#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/operator/projection/hdivprojection.hh>
Public Types | |
typedef DiscreteFunctionType | DestinationType |
type of argument and destination More... | |
typedef DestinationType::DiscreteFunctionSpaceType | SpaceType |
type of discrete function space More... | |
typedef BaseType::RangeFunctionType | RangeFunctionType |
typedef BaseType::DomainFunctionType | DomainFunctionType |
typedef Dune::FieldTraits< RangeFieldType >::real_type | RealType |
typedef BaseType::JacobianOperatorType | JacobianOperatorType |
typedef RangeFunctionType::DiscreteFunctionSpaceType | RangeSpaceType |
typedef DomainFunctionType::DiscreteFunctionSpaceType | DomainSpaceType |
Public Member Functions | |
HdivProjection (const DiscreteFunctionSpaceType &space) | |
constructor taking space More... | |
HdivProjection (const HdivProjection &org) | |
const DiscreteFunctionSpaceType & | space () const |
return reference to space More... | |
void | setTime (double) |
set time for operators More... | |
double | timeStepEstimate () const |
estimate maximum time step More... | |
virtual void | operator() (const DiscreteFunctionType &arg, DiscreteFunctionType &dest) const |
application operator projection arg to H-div space More... | |
virtual int | size () const |
return size of discrete function space, i.e. number of unknowns More... | |
virtual void | operator() (const double *u, double *f) const |
application operator to apply right hand side More... | |
virtual void | operator() (const DomainFunctionType &u, RangeFunctionType &w) const =0 |
application operator More... | |
virtual void | limit (const double *u, double *f) const |
limiter application operator More... | |
virtual void | limit (const DestinationType &arg, DestinationType &dest) const |
limiter application operator More... | |
virtual bool | hasLimiter () const |
return true if explicit limiter is available More... | |
virtual void | initializeTimeStepSize (const DestinationType &U0) const |
call operator once to calculate initial time step size More... | |
virtual const DestinationType * | destination () const |
return reference to pass's local memory More... | |
virtual void | jacobian (const DomainFunctionType &u, JacobianOperatorType &jOp) const |
virtual void | jacobian (const DomainFunctionType &u, JacobianOperatorType &jOp) const =0 |
obtain linearization More... | |
Static Public Member Functions | |
static double | normalJump (const DiscreteFunctionType &discFunc, const int polyOrder=-1) |
return sum of jumps of discrete function normal to intersection More... | |
template<class AdaptationType > | |
static void | estimator (const DiscreteFunctionType &velo, AdaptationType &adaptation) |
H-div Projection for discontinuous discrete functions. The projection is described in detail in:
P. Bastian and B. Riviere. Superconvergence and H(div)-projection for discontinuous Galerkin methods. Int. J. Numer. Meth. Fluids., 42:1043-1057, 2003.
(see homepage of Peter Bastian: http://hal.iwr.uni-heidelberg.de/~peter/Papers/BDMpaper.pdf )
Note:
This projection only works for polynomial order 1 and the following spaces:
|
inherited |
type of argument and destination
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
type of discrete function space
|
inline |
constructor taking space
|
inline |
|
inlinevirtualinherited |
return reference to pass's local memory
|
inlinestatic |
References Dune::Fem::abs(), and Dune::Fem::make_entity().
|
inlinevirtualinherited |
return true if explicit limiter is available
Reimplemented from Dune::Fem::PARDGSpaceOperatorInterface< DiscreteFunctionType >.
|
virtualinherited |
call operator once to calculate initial time step size
U0 | initial data to compute initial time step size |
Implements Dune::Fem::PARDGSpaceOperatorInterface< DiscreteFunctionType >.
|
pure virtualinherited |
obtain linearization
[in] | u | argument discrete function |
[out] | jOp | destination Jacobian operator |
|
inlinevirtualinherited |
|
virtualinherited |
limiter application operator
u | argument, u |
f | destination, Limiter(u) |
Reimplemented from Dune::Fem::PARDGSpaceOperatorInterface< DiscreteFunctionType >.
|
inlinevirtualinherited |
limiter application operator
arg | argument, u |
dest | destination, Limiter(u) |
References Dune::Fem::PARDGSpaceOperatorInterface< DestinationImp >::initializeTimeStepSize().
|
inlinestatic |
return sum of jumps of discrete function normal to intersection
References Dune::Fem::abs(), Dune::Fem::make_entity(), Dune::Fem::HdivProjection< DiscreteFunctionType >::space(), and Dune::Std::sum().
|
pure virtualinherited |
application operator
[in] | u | argument discrete function |
[out] | w | destination discrete function |
|
virtualinherited |
application operator to apply right hand side
u | argument, u |
f | destination, f(u) |
Implements Dune::Fem::PARDGSpaceOperatorInterface< DiscreteFunctionType >.
|
inlinevirtual |
application operator projection arg to H-div space
|
inlinevirtual |
set time for operators
time | current time of evaluation |
Reimplemented from Dune::Fem::PARDGSpaceOperatorInterface< DiscreteFunctionType >.
|
inlinevirtualinherited |
return size of discrete function space, i.e. number of unknowns
Implements Dune::Fem::PARDGSpaceOperatorInterface< DiscreteFunctionType >.
References Dune::Fem::PARDGSpaceOperatorInterface< DestinationImp >::limit(), and Dune::Fem::PARDGSpaceOperatorInterface< DestinationImp >::operator()().
|
inlinevirtual |
return reference to space
Implements Dune::Fem::SpaceOperatorInterface< DiscreteFunctionType >.
Referenced by Dune::Fem::HdivProjection< DiscreteFunctionType >::normalJump().
|
inlinevirtual |
estimate maximum time step
For an explicit time discretization, the time step has to be limited. An estimate for the maximum time step of an explicit Euler scheme is returned by this function. Maximum time steps for higher order Runge Kutta schemes can be derived from this value.
Reimplemented from Dune::Fem::PARDGSpaceOperatorInterface< DiscreteFunctionType >.