Skip to content

Commit 25101de

Browse files
committed
examples: scalar: moved to examples namespace
part through fixing #114
1 parent a86e098 commit 25101de

File tree

4 files changed

+218
-197
lines changed

4 files changed

+218
-197
lines changed

examples/scalar/scalar_sdc.cpp

Lines changed: 33 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
*/
1212

1313
#include <complex>
14+
using namespace std;
1415

1516
#include <pfasst.hpp>
1617
#include <pfasst/config.hpp>
@@ -20,38 +21,47 @@
2021

2122
#include "scalar_sweeper.hpp"
2223

23-
double run_scalar_sdc(const size_t nsteps, const double dt, const size_t nnodes,
24-
const size_t niters, const complex<double> lambda,
25-
const pfasst::quadrature::QuadratureType nodetype)
24+
namespace pfasst
2625
{
27-
pfasst::SDC<> sdc;
26+
namespace examples
27+
{
28+
namespace scalar
29+
{
30+
double run_scalar_sdc(const size_t nsteps, const double dt, const size_t nnodes,
31+
const size_t niters, const complex<double> lambda,
32+
const quadrature::QuadratureType nodetype)
33+
{
34+
SDC<> sdc;
2835

29-
// For test equation, set initial value to \\( 1+0i \\)
30-
const complex<double> y0 = complex<double>(1.0, 0.0);
36+
// For test equation, set initial value to \\( 1+0i \\)
37+
const complex<double> y0 = complex<double>(1.0, 0.0);
3138

32-
auto quad = pfasst::quadrature::quadrature_factory(nnodes, nodetype);
39+
auto quad = quadrature::quadrature_factory(nnodes, nodetype);
3340

34-
// This is a scalar example, so we use the encap::VectorFactory with fixed length of 1 and
35-
// complex type.
36-
auto factory = make_shared<pfasst::encap::VectorFactory<complex<double>>>(1);
37-
auto sweeper = make_shared<ScalarSweeper<>>(lambda, y0);
41+
// This is a scalar example, so we use the encap::VectorFactory with fixed length of 1 and
42+
// complex type.
43+
auto factory = make_shared<encap::VectorFactory<complex<double>>>(1);
44+
auto sweeper = make_shared<ScalarSweeper<>>(lambda, y0);
3845

39-
sweeper->set_quadrature(quad);
40-
sweeper->set_factory(factory);
46+
sweeper->set_quadrature(quad);
47+
sweeper->set_factory(factory);
4148

42-
sdc.add_level(sweeper);
49+
sdc.add_level(sweeper);
4350

44-
// Final time Tend = dt*nsteps
45-
sdc.set_duration(0.0, dt*nsteps, dt, niters);
46-
sdc.setup();
51+
// Final time Tend = dt*nsteps
52+
sdc.set_duration(0.0, dt*nsteps, dt, niters);
53+
sdc.setup();
4754

48-
auto q0 = sweeper->get_start_state();
49-
sweeper->exact(q0, 0.0);
55+
auto q0 = sweeper->get_start_state();
56+
sweeper->exact(q0, 0.0);
5057

51-
sdc.run();
58+
sdc.run();
5259

53-
return sweeper->get_errors();
54-
}
60+
return sweeper->get_errors();
61+
}
62+
} // ::pfasst::examples::scalar
63+
} // ::pfasst::examples
64+
} // ::pfasst
5565

5666
#ifndef PFASST_UNIT_TESTING
5767
/**
@@ -68,6 +78,6 @@ int main(int argc, char** argv)
6878

6979
pfasst::init(argc, argv);
7080

71-
run_scalar_sdc(nsteps, dt, nnodes, niters, lambda, nodetype);
81+
pfasst::examples::scalar::run_scalar_sdc(nsteps, dt, nnodes, niters, lambda, nodetype);
7282
}
7383
#endif

0 commit comments

Comments
 (0)