39 const size_t niters,
const complex<double> lambda,
45 const complex<double> y0 = complex<double>(1.0, 0.0);
51 auto factory = make_shared<encap::VectorFactory<complex<double>>>(1);
52 auto sweeper = make_shared<ScalarSweeper<>>(lambda, y0);
54 sweeper->set_quadrature(quad);
55 sweeper->set_factory(factory);
63 auto q0 = sweeper->get_start_state();
64 sweeper->exact(q0, 0.0);
68 return sweeper->get_errors();
74 #ifndef PFASST_UNIT_TESTING
75 int main(
int argc,
char** argv)
77 const size_t nsteps = 2;
78 const double dt = 1.0;
79 const size_t nnodes = 4;
80 const size_t niters = 6;
81 const complex<double> lambda = complex<double>(-1.0, 1.0);
virtual void run()
Run vanilla SDC.
QuadratureType
Quadrature type descriptors.
virtual void add_level(shared_ptr< ISweeper< time >> sweeper, shared_ptr< ITransfer< time >> transfer=shared_ptr< ITransfer< time >>(nullptr), bool coarse=true)
Adding a level to the controller.
static void init(int argc, char **argv, std::function< void()> opts=nullptr, std::function< void()> logs=nullptr)
virtual void set_duration(time t0, time tend, time dt, size_t niters)
Set basic time scope of the Controller.
shared_ptr< IQuadrature< precision > > quadrature_factory(const size_t nnodes, const QuadratureType qtype)
Instantiates quadrature handler for given number of nodes and type descriptor.
int main(int argc, char **argv)
double run_scalar_sdc(const size_t nsteps, const double dt, const size_t nnodes, const size_t niters, const complex< double > lambda, const quadrature::QuadratureType nodetype)
Scalar test equation example using an encapsulated IMEX sweeper.
virtual void setup()
Basic setup routine for this controller.