|
dune-fem 2.12-git
|
Loading...
Searching...
No Matches
basicrow.hh
Go to the documentation of this file.
30 bool operator() ( double time, double timeStepSize, int stage, const T &u, const std::vector< T * > &update, T &source )
53 template< class HelmholtzOperator, class NonlinearSolver, class TimeStepControl, class SourceTerm = NoROWRungeKuttaSourceTerm >
57 typedef BasicROWRungeKuttaSolver< HelmholtzOperator, NonlinearSolver, TimeStepControl, SourceTerm > ThisType;
72 typedef typename HelmholtzOperator::SpaceOperatorType::PreconditionOperatorType PreconditionOperatorType;
117 : BasicROWRungeKuttaSolver( helmholtzOp, timeProvider, butcherTable, timeStepControl, sourceTerm, NonlinearSolverParameterType( parameter ) )
132 : BasicROWRungeKuttaSolver( helmholtzOp, timeProvider, butcherTable, timeStepControl, SourceTermType(), parameter )
141 : BasicROWRungeKuttaSolver( helmholtzOp, timeProvider, butcherTable, timeStepControl, SourceTermType(), NonlinearSolverParameterType( parameter ) )
154 : BasicROWRungeKuttaSolver( helmholtzOp, timeProvider, butcherTable, TimeStepControlType(), SourceTermType(), parameter )
162 : BasicROWRungeKuttaSolver( helmholtzOp, timeProvider, butcherTable, TimeStepControlType(), SourceTermType(), NonlinearSolverParameterType( parameter ) )
220 typename HelmholtzOperatorType::JacobianOperatorType jOp( "jacobianOperator", U.space(), U.space() );
286 std::cout << std::scientific << "Error in RK = " << error << " norm " << errorU << " " << normU << std::endl;
299 timeStepControl_.timeStepEstimate( helmholtzOp_.timeStepEstimate(), sourceTerm_.timeStepEstimate(), monitor );
const char * name()
virtual void operator()()=0
Definition multistep.hh:17
void invert(bool doPivoting=true)
DynamicMatrix< K > & rightmultiply(const DenseMatrix< M2 > &M)
constexpr void mtv(const X &x, Y &y) const
static ParameterContainer & container()
Definition io/parameter.hh:199
static bool verbose()
obtain the cached value for fem.verbose with default verbosity level 2
Definition io/parameter.hh:466
virtual void solve(DestinationType &u)
solve where is the internal operator.
Definition odesolverinterface.hh:75
DestinationImp DestinationType
type of destination
Definition odesolverinterface.hh:62
Definition odesolverinterface.hh:27
Definition basicrow.hh:28
double timeStepEstimate() const
Definition basicrow.hh:45
void limit(T &update, const double time)
Definition basicrow.hh:36
double initialTimeStepEstimate(double time, const T &u) const
Definition basicrow.hh:39
void solve(DestinationType &U, MonitorType &monitor)
solve the system
Definition basicrow.hh:216
Dune::DynamicVector< double > beta_
Definition basicrow.hh:343
BasicROWRungeKuttaSolver(HelmholtzOperatorType &helmholtzOp, TimeProviderType &timeProvider, const ButcherTable &butcherTable, const TimeStepControlType &timeStepControl, const SourceTermType &sourceTerm, const NonlinearSolverParameterType ¶meter)
constructor
Definition basicrow.hh:84
void description(std::ostream &out) const
print description of ODE solver to out stream
Definition basicrow.hh:306
NonlinearSolverType::LinearInverseOperatorType LinearInverseOperatorType
Definition basicrow.hh:70
TimeStepControl TimeStepControlType
Definition basicrow.hh:66
LinearInverseOperatorType linearSolver_
Definition basicrow.hh:333
NonlinearSolver::ParameterType NonlinearSolverParameterType
Definition basicrow.hh:69
std::vector< DestinationType * > update_
Definition basicrow.hh:346
BasicROWRungeKuttaSolver(HelmholtzOperatorType &helmholtzOp, TimeProviderType &timeProvider, const ButcherTable &butcherTable, const TimeStepControlType &timeStepControl, const SourceTermType &sourceTerm, const Dune::Fem::ParameterReader ¶meter=Dune::Fem::Parameter::container())
Definition basicrow.hh:111
Dune::DynamicMatrix< double > alpha2_
Definition basicrow.hh:342
HelmholtzOperatorType & helmholtzOp_
Definition basicrow.hh:332
Dune::DynamicMatrix< double > alpha_
Definition basicrow.hh:342
const PreconditionOperatorType * preconditioner_
Definition basicrow.hh:350
BaseType::MonitorType MonitorType
Definition basicrow.hh:61
BaseType::DestinationType DestinationType
Definition basicrow.hh:62
int stages() const
return stages of RK solver (-1 if not implemented)
Definition basicrow.hh:302
TimeStepControl timeStepControl_
Definition basicrow.hh:335
NonlinearSolver NonlinearSolverType
Definition basicrow.hh:65
const int maxLinearIterations_
Definition basicrow.hh:348
int order() const
return order of RK solver (-1 if not implemented)
Definition basicrow.hh:304
Dune::Fem::TimeProviderBase TimeProviderType
Definition basicrow.hh:74
void initialize(const DestinationType &U0)
apply operator once to get dt estimate
Definition basicrow.hh:198
HelmholtzOperator::SpaceOperatorType::PreconditionOperatorType PreconditionOperatorType
Definition basicrow.hh:72
HelmholtzOperator HelmholtzOperatorType
Definition basicrow.hh:64
BasicROWRungeKuttaSolver(HelmholtzOperatorType &helmholtzOp, TimeProviderType &timeProvider, const ButcherTable &butcherTable, const NonlinearSolverParameterType ¶meter)
constructor
Definition basicrow.hh:150
BasicROWRungeKuttaSolver(HelmholtzOperatorType &helmholtzOp, TimeProviderType &timeProvider, const ButcherTable &butcherTable, const TimeStepControlType &timeStepControl, const NonlinearSolverParameterType ¶meter)
constructor
Definition basicrow.hh:127
double infNorm(const DestinationType &U, const DestinationType &Uerr) const
Definition basicrow.hh:313
BasicROWRungeKuttaSolver(HelmholtzOperatorType &helmholtzOp, TimeProviderType &timeProvider, const ButcherTable &butcherTable, const Dune::Fem::ParameterReader ¶meter=Dune::Fem::Parameter::container())
Definition basicrow.hh:158
BasicROWRungeKuttaSolver(HelmholtzOperatorType &helmholtzOp, TimeProviderType &timeProvider, const ButcherTable &butcherTable, const TimeStepControlType &timeStepControl, const Dune::Fem::ParameterReader ¶meter=Dune::Fem::Parameter::container())
Definition basicrow.hh:136
Dune::DynamicVector< double > gamma_
Definition basicrow.hh:343
~BasicROWRungeKuttaSolver()
destructor
Definition basicrow.hh:191
void setup(const ButcherTable &butcherTable)
Definition basicrow.hh:166
T assign(T... args)
T div(T... args)
T endl(T... args)
T scientific(T... args)
T forward(T... args)
T max(T... args)
T sqrt(T... args)
T time(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8