|
dune-fem 2.12-git
|
Loading...
Searching...
No Matches
basicimplicit.hh
Go to the documentation of this file.
27 bool operator() ( double time, double timeStepSize, int stage, const T &u, const std::vector< T * > &update, T &source )
51 template< class HelmholtzOperator, class NonlinearSolver, class TimeStepControl, class SourceTerm = NoImplicitRungeKuttaSourceTerm >
55 typedef BasicImplicitRungeKuttaSolver< HelmholtzOperator, NonlinearSolver, TimeStepControl, SourceTerm > ThisType;
254 return timeStepControl_.reduceTimeStep( helmholtzOp_.timeStepEstimate(), sourceTerm_.timeStepEstimate(), monitor );
277 std::cout << std::scientific << "Error in RK = " << error << " norm " << errorU << " " << normU << std::endl;
291 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 > & leftmultiply(const DenseMatrix< M2 > &M)
constexpr void mtv(const X &x, Y &y) const
constexpr derived_type & axpy(const field_type &a, const DenseVector< Other > &x)
static ParameterContainer & container()
Definition io/parameter.hh:199
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 basicimplicit.hh:25
void limit(T &update, const double time)
Definition basicimplicit.hh:33
double initialTimeStepEstimate(double time, const T &u) const
Definition basicimplicit.hh:36
double timeStepEstimate() const
Definition basicimplicit.hh:42
void description(std::ostream &out) const
print description of ODE solver to out stream
Definition basicimplicit.hh:298
std::vector< std::unique_ptr< DestinationType > > updateStorage_
Definition basicimplicit.hh:336
BasicImplicitRungeKuttaSolver(HelmholtzOperatorType &helmholtzOp, const ButcherTable &butcherTable, const Dune::Fem::ParameterReader ¶meter=Dune::Fem::Parameter::container())
Definition basicimplicit.hh:140
NonlinearSolver::ParameterType NonlinearSolverParameterType
Definition basicimplicit.hh:70
Dune::Fem::TimeProviderBase TimeProviderType
Definition basicimplicit.hh:67
Dune::DynamicMatrix< double > alpha_
Definition basicimplicit.hh:332
double infNorm(const DestinationType &U, const DestinationType &Uerr) const
Definition basicimplicit.hh:304
int stages() const
return stages of RK solver (-1 if not implemented)
Definition basicimplicit.hh:294
BasicImplicitRungeKuttaSolver(HelmholtzOperatorType &helmholtzOp, const ButcherTable &butcherTable, const TimeStepControlType &timeStepControl, const SourceTermType &sourceTerm, const NonlinearSolverParameterType ¶meters)
constructor
Definition basicimplicit.hh:80
Dune::DynamicVector< double > beta_
Definition basicimplicit.hh:333
Dune::DynamicVector< double > gamma_
Definition basicimplicit.hh:333
BaseType::DestinationType DestinationType
Definition basicimplicit.hh:60
HelmholtzOperatorType & helmholtzOp_
Definition basicimplicit.hh:323
SourceTerm sourceTerm_
Definition basicimplicit.hh:326
void initialize(const DestinationType &U0)
apply operator once to get dt estimate
Definition basicimplicit.hh:193
NonlinearSolverType nonlinearSolver_
Definition basicimplicit.hh:324
SourceTerm SourceTermType
Definition basicimplicit.hh:65
TimeStepControl TimeStepControlType
Definition basicimplicit.hh:64
BaseType::MonitorType MonitorType
Definition basicimplicit.hh:59
int order() const
return order of RK solver (-1 if not implemented)
Definition basicimplicit.hh:296
Dune::DynamicVector< double > c_
Definition basicimplicit.hh:333
std::vector< DestinationType * > update_
Definition basicimplicit.hh:337
NonlinearSolver NonlinearSolverType
Definition basicimplicit.hh:63
TimeStepControlType::ParameterType ParameterType
Definition basicimplicit.hh:69
BasicImplicitRungeKuttaSolver(HelmholtzOperatorType &helmholtzOp, const ButcherTable &butcherTable, const TimeStepControlType &timeStepControl, const NonlinearSolverParameterType ¶meters)
constructor
Definition basicimplicit.hh:109
BasicImplicitRungeKuttaSolver(HelmholtzOperatorType &helmholtzOp, const ButcherTable &butcherTable, const TimeStepControlType &timeStepControl, const Dune::Fem::ParameterReader ¶meter=Dune::Fem::Parameter::container())
Definition basicimplicit.hh:130
void solve(DestinationType &U, MonitorType &monitor)
solve the system
Definition basicimplicit.hh:211
TimeStepControl timeStepControl_
Definition basicimplicit.hh:325
HelmholtzOperator HelmholtzOperatorType
Definition basicimplicit.hh:62
void setup(const ButcherTable &butcherTable)
Definition basicimplicit.hh:149
T assign(T... args)
T clear(T... args)
T div(T... args)
T endl(T... args)
T scientific(T... args)
T forward(T... args)
T max(T... args)
T resize(T... args)
T sqrt(T... args)
T time(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8