From: Guido Kanschat Date: Fri, 25 Jun 2010 15:35:50 +0000 (+0000) Subject: start example for theta timestepping X-Git-Tag: v8.0.0~5916 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8af3dbb2d2b3f43c4650febbbf333818bf70c7d5;p=dealii.git start example for theta timestepping git-svn-id: https://svn.dealii.org/trunk@21366 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/examples/doxygen/theta_timestepping.cc b/deal.II/examples/doxygen/theta_timestepping.cc new file mode 100644 index 0000000000..8d9bf626aa --- /dev/null +++ b/deal.II/examples/doxygen/theta_timestepping.cc @@ -0,0 +1,64 @@ +//--------------------------------------------------------------------------- +// $Id$ +// +// Copyright (C) 2005, 2006, 2010 by the deal.II authors +// +// This file is subject to QPL and may not be distributed +// without copyright and license information. Please refer +// to the file deal.II/doc/license.html for the text and +// further information on this license. +// +//--------------------------------------------------------------------------- + +// See documentation of ThetaTimestepping for documentation of this example + +#include +#include +#include + +#include +#include + +using namespace dealii; +using namespace Algorithms; + +class Explicit + : Operator > +{ + public: + void operator() (NamedData*>& out, + const NamedData*>& in); + + void initialize_timestep_data(const TimeStepData&); + private: + const TimeStepData* timestep_data; +}; + + +class Implicit + : Operator > +{ + public: + void operator() (NamedData*>& out, + const NamedData*>& in); + + void initialize_timestep_data(const TimeStepData&); + private: + const TimeStepData* timestep_data; +}; + + +int main() +{ + Explicit op_explicit; + Implicit op_implicit; + ThetaTimestepping > solver(op_explicit, op_implicit); + op_explicit.initialize_timestep_data(solver.explicit_data()); + op_implicit.initialize_timestep_data(solver.implicit_data()); + + Vector value(2); + NamedData*> indata; + NamedData*> outdata; + outdata.add(&value, "value"); + solver(outdata, indata); +}