1 #ifndef DUNE_FEM_OPERATOR_DGHELMHOLTZ_HH 2 #define DUNE_FEM_OPERATOR_DGHELMHOLTZ_HH 17 template<
class JacobianOp >
19 :
public Operator< typename JacobianOp::DomainFunctionType, typename JacobianOp::RangeFunctionType >
36 wTmp_(
"DGHelmholtzJacobianOperator temporary", rSpace )
39 void operator() (
const DomainFunctionType &u, RangeFunctionType &w )
const 55 mutable RangeFunctionType
wTmp_;
63 template<
class SpaceOperator >
65 :
public DifferentiableOperator< DGHelmholtzJacobianOperator< typename SpaceOperator::JacobianOperatorType > >
81 : spaceOp_( spaceOp ),
83 wTmp_(
"DGHelmholtzOperator temporary", space() )
86 void operator() (
const DomainFunctionType &u, RangeFunctionType &w )
const 91 spaceOperator()( u,
wTmp_ );
96 void jacobian (
const DomainFunctionType &u, JacobianOperatorType &jOp )
const 98 spaceOperator().jacobian( u, jOp.jacobianOp_ );
105 void setTime (
double time ) { spaceOperator().setTime( time ); }
107 const DiscreteFunctionSpaceType &
space ()
const {
return spaceOperator().space(); }
111 spaceOperator()( u,
wTmp_ );
129 #endif // #ifndef DUNE_FEM_OPERATOR_DGHELMHOLTZ_HH BaseType::RangeFunctionType RangeFunctionType
Definition: dghelmholtz.hh:74
RangeFunctionType::DiscreteFunctionSpaceType RangeFunctionSpaceType
Definition: dghelmholtz.hh:31
RangeFunction RangeFunctionType
type of discrete function in the operator's range
Definition: operator.hh:30
BaseType::DomainFunctionType DomainFunctionType
type of discrete function in the operator's domain
Definition: differentiableoperator.hh:38
void operator()(const DomainFunctionType &u, RangeFunctionType &w) const
Definition: dghelmholtz.hh:39
void setTime(double time)
Definition: dghelmholtz.hh:105
const SpaceOperatorType & spaceOperator() const
Definition: dghelmholtz.hh:116
BaseType::DomainFunctionType DomainFunctionType
Definition: dghelmholtz.hh:27
DGHelmholtzJacobianOperator(const std::string &name, const DomainFunctionSpaceType &dSpace, const RangeFunctionSpaceType &rSpace)
Definition: dghelmholtz.hh:33
const DiscreteFunctionSpaceType & space() const
Definition: dghelmholtz.hh:107
double timeStepEstimate() const
Definition: dghelmholtz.hh:114
DomainFunctionType::DiscreteFunctionSpaceType DomainFunctionSpaceType
Definition: dghelmholtz.hh:30
SpaceOperator & spaceOp_
Definition: dghelmholtz.hh:120
abstract operator
Definition: operator.hh:25
void setLambda(double lambda)
Definition: dghelmholtz.hh:50
Definition: coordinate.hh:4
Definition: dghelmholtz.hh:64
DGHelmholtzOperator(SpaceOperatorType &spaceOp)
Definition: dghelmholtz.hh:80
double lambda_
Definition: dghelmholtz.hh:54
RangeFunctionType wTmp_
Definition: dghelmholtz.hh:122
const double & lambda() const
Definition: dghelmholtz.hh:102
const double & lambda() const
Definition: dghelmholtz.hh:49
BaseType::RangeFunctionType RangeFunctionType
type of discrete function in the operator's range
Definition: differentiableoperator.hh:40
double lambda_
Definition: dghelmholtz.hh:121
SpaceOperator SpaceOperatorType
Definition: dghelmholtz.hh:71
RangeFunctionType wTmp_
Definition: dghelmholtz.hh:55
void setLambda(double lambda)
Definition: dghelmholtz.hh:103
Definition: dghelmholtz.hh:18
BaseType::JacobianOperatorType JacobianOperatorType
Definition: dghelmholtz.hh:76
void jacobian(const DomainFunctionType &u, JacobianOperatorType &jOp) const
Definition: dghelmholtz.hh:96
abstract differentiable operator
Definition: differentiableoperator.hh:26
BaseType::DomainFunctionType DomainFunctionType
Definition: dghelmholtz.hh:73
JacobianOperator JacobianOperatorType
type of linear operator modelling the operator's Jacobian
Definition: differentiableoperator.hh:35
JacobianOp jacobianOp_
Definition: dghelmholtz.hh:53
BaseType::RangeFunctionType RangeFunctionType
Definition: dghelmholtz.hh:28
SpaceOperatorType & spaceOperator()
Definition: dghelmholtz.hh:117
void initializeTimeStepSize(const DomainFunctionType &u) const
Definition: dghelmholtz.hh:109
DomainFunctionType::DiscreteFunctionSpaceType DiscreteFunctionSpaceType
Definition: dghelmholtz.hh:78
DomainFunction DomainFunctionType
type of discrete function in the operator's domain
Definition: operator.hh:28