Skip to content

Commit d6e12b0

Browse files
committed
examples: advec: enable cmd arg for residual tolerances
1 parent 452612b commit d6e12b0

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

examples/advection_diffusion/serial_mlsdc.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ namespace pfasst
3939
size_t nnodes = config::get_value<size_t>("num_nodes", 5);
4040
size_t ndofs = config::get_value<size_t>("spatial_dofs", 128);
4141

42+
const double abs_res_tol = pfasst::config::get_value<double>("abs_res_tol", 0.0);
43+
const double rel_res_tol = pfasst::config::get_value<double>("rel_res_tol", 0.0);
44+
4245
/*
4346
* build space/time discretisation levels and add them to mlsdc
4447
* controller. this loop adds the finest level first, and
@@ -53,6 +56,7 @@ namespace pfasst
5356

5457
sweeper->set_quadrature(quad);
5558
sweeper->set_factory(factory);
59+
sweeper->set_residual_tolerances(abs_res_tol, rel_res_tol);
5660

5761
mlsdc.add_level(sweeper, transfer);
5862

examples/advection_diffusion/vanilla_sdc.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ namespace pfasst
4141

4242
sweeper->set_quadrature(quad);
4343
sweeper->set_factory(factory);
44-
sweeper->set_residual_tolerances(abs_residual_tol, 0.0);
44+
sweeper->set_residual_tolerances(abs_residual_tol, pfasst::config::get_value<double>("rel_res_tol", 0.0));
4545

4646
sdc.add_level(sweeper);
4747
sdc.set_duration(0.0, nsteps*dt, dt, niters);
@@ -68,6 +68,8 @@ int main(int argc, char** argv)
6868
pfasst::init(argc, argv);
6969
pfasst::log::add_custom_logger("Advec");
7070

71-
pfasst::examples::advection_diffusion::run_vanilla_sdc(0.0);
71+
const double abs_res_tol = pfasst::config::get_value<double>("abs_res_tol", 0.0);
72+
73+
pfasst::examples::advection_diffusion::run_vanilla_sdc(abs_res_tol);
7274
}
7375
#endif

0 commit comments

Comments
 (0)