Skip to content

Commit

Permalink
jit tolerances
Browse files Browse the repository at this point in the history
  • Loading branch information
K20shores committed Sep 27, 2024
1 parent eb3312c commit 125ec5e
Showing 1 changed file with 45 additions and 46 deletions.
91 changes: 45 additions & 46 deletions test/integration/jit/test_jit_analytical_rosenbrock.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ auto param_six_da = micm::RosenbrockSolverParameters::SixStageDifferentialAlgebr

TEST(AnalyticalExamplesJitRosenbrock, Troe)
{
test_analytical_troe<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_two), 1e-3);
test_analytical_troe<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_two));
test_analytical_troe<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_three));
test_analytical_troe<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four));
test_analytical_troe<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four_da));
Expand All @@ -37,7 +37,7 @@ TEST(AnalyticalExamplesJitRosenbrock, Troe)

TEST(AnalyticalExamplesJitRosenbrock, TroeSuperStiffButAnalytical)
{
test_analytical_stiff_troe<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_two), 1e-3);
test_analytical_stiff_troe<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_two));
test_analytical_stiff_troe<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_three));
test_analytical_stiff_troe<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four));
test_analytical_stiff_troe<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four_da));
Expand All @@ -46,27 +46,26 @@ TEST(AnalyticalExamplesJitRosenbrock, TroeSuperStiffButAnalytical)

TEST(AnalyticalExamplesJitRosenbrock, Photolysis)
{
test_analytical_photolysis<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_two), 1e-2);
test_analytical_photolysis<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_three), 1e-4);
test_analytical_photolysis<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four), 1e-5);
test_analytical_photolysis<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four_da), 1e-5);
test_analytical_photolysis<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_six_da), 1e-5);
test_analytical_photolysis<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_two));
test_analytical_photolysis<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_three));
test_analytical_photolysis<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four));
test_analytical_photolysis<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four_da));
test_analytical_photolysis<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_six_da));
}

TEST(AnalyticalExamplesJitRosenbrock, PhotolysisSuperStiffButAnalytical)
{
test_analytical_stiff_photolysis<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_two), 1e-2);
test_analytical_stiff_photolysis<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_three), 1e-3);
test_analytical_stiff_photolysis<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four), 1e-3);
test_analytical_stiff_photolysis<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(
BuilderType<NUM_CELLS>(param_four_da), 1e-3);
test_analytical_stiff_photolysis<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_six_da), 1e-3);
test_analytical_stiff_photolysis<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_two));
test_analytical_stiff_photolysis<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_three));
test_analytical_stiff_photolysis<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four));
test_analytical_stiff_photolysis<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four_da));
test_analytical_stiff_photolysis<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_six_da));
}

TEST(AnalyticalExamplesJitRosenbrock, TernaryChemicalActivation)
{
test_analytical_ternary_chemical_activation<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(
BuilderType<NUM_CELLS>(param_two), 1e-3);
BuilderType<NUM_CELLS>(param_two));
test_analytical_ternary_chemical_activation<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(
BuilderType<NUM_CELLS>(param_three));
test_analytical_ternary_chemical_activation<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(
Expand All @@ -93,16 +92,16 @@ TEST(AnalyticalExamplesJitRosenbrock, TernaryChemicalActivationSuperStiffButAnal

TEST(AnalyticalExamplesJitRosenbrock, Tunneling)
{
test_analytical_tunneling<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_two), 1e-1);
test_analytical_tunneling<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_three), 1e-5);
test_analytical_tunneling<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_two), 2e-5);
test_analytical_tunneling<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_three));
test_analytical_tunneling<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four));
test_analytical_tunneling<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four_da), 1e-5);
test_analytical_tunneling<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four_da));
test_analytical_tunneling<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_six_da));
}

TEST(AnalyticalExamplesJitRosenbrock, TunnelingSuperStiffButAnalytical)
{
test_analytical_stiff_tunneling<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_two), 1e-1);
test_analytical_stiff_tunneling<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_two), 1e-4);
test_analytical_stiff_tunneling<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_three), 1e-4);
test_analytical_stiff_tunneling<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four), 1e-4);
test_analytical_stiff_tunneling<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four_da), 1e-4);
Expand All @@ -111,7 +110,7 @@ TEST(AnalyticalExamplesJitRosenbrock, TunnelingSuperStiffButAnalytical)

TEST(AnalyticalExamplesJitRosenbrock, Arrhenius)
{
test_analytical_arrhenius<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_two), 1e-3);
test_analytical_arrhenius<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_two), 4e-6);
test_analytical_arrhenius<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_three));
test_analytical_arrhenius<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four));
test_analytical_arrhenius<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four_da));
Expand All @@ -120,16 +119,16 @@ TEST(AnalyticalExamplesJitRosenbrock, Arrhenius)

TEST(AnalyticalExamplesJitRosenbrock, ArrheniusSuperStiffButAnalytical)
{
test_analytical_stiff_arrhenius<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_two), 1e-1);
test_analytical_stiff_arrhenius<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_three), 1e-3);
test_analytical_stiff_arrhenius<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four), 1e-4);
test_analytical_stiff_arrhenius<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four_da), 1e-4);
test_analytical_stiff_arrhenius<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_six_da), 1e-3);
test_analytical_stiff_arrhenius<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_two), 1e-4);
test_analytical_stiff_arrhenius<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_three), 2e-5);
test_analytical_stiff_arrhenius<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four), 2e-5);
test_analytical_stiff_arrhenius<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four_da), 2e-5);
test_analytical_stiff_arrhenius<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_six_da), 1e-5);
}

TEST(AnalyticalExamplesJitRosenbrock, Branched)
{
test_analytical_branched<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_two), 1e-3);
test_analytical_branched<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_two), 1e-10);
test_analytical_branched<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_three));
test_analytical_branched<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four));
test_analytical_branched<BuilderType<NUM_CELLS>, StateType<NUM_CELLS>>(BuilderType<NUM_CELLS>(param_four_da));
Expand All @@ -155,28 +154,28 @@ TEST(AnalyticalExamplesJitRosenbrock, Robertson)
};

auto solver = rosenbrock_solver(micm::RosenbrockSolverParameters::TwoStageRosenbrockParameters());
test_analytical_robertson<BuilderType<1>, StateType<1>>(solver, 2e-1);
test_analytical_robertson<BuilderType<1>, StateType<1>>(solver, 1e-1);

solver = rosenbrock_solver(micm::RosenbrockSolverParameters::ThreeStageRosenbrockParameters());
test_analytical_robertson<BuilderType<1>, StateType<1>>(solver, 2e-1);
test_analytical_robertson<BuilderType<1>, StateType<1>>(solver, 1e-1);

solver = rosenbrock_solver(micm::RosenbrockSolverParameters::FourStageRosenbrockParameters());
test_analytical_robertson<BuilderType<1>, StateType<1>>(solver, 2e-1);
test_analytical_robertson<BuilderType<1>, StateType<1>>(solver, 1e-1);

solver = rosenbrock_solver(micm::RosenbrockSolverParameters::FourStageDifferentialAlgebraicRosenbrockParameters());
test_analytical_robertson<BuilderType<1>, StateType<1>>(solver, 2e-1);
test_analytical_robertson<BuilderType<1>, StateType<1>>(solver, 1e-1);

solver = rosenbrock_solver(micm::RosenbrockSolverParameters::SixStageDifferentialAlgebraicRosenbrockParameters());
test_analytical_robertson<BuilderType<1>, StateType<1>>(solver, 2e-1);
test_analytical_robertson<BuilderType<1>, StateType<1>>(solver, 1e-1);
}

TEST(AnalyticalExamplesJitRosenbrock, SurfaceRxn)
{
test_analytical_surface_rxn<BuilderType<1>, StateType<1>>(two, 1e-4);
test_analytical_surface_rxn<BuilderType<1>, StateType<1>>(three, 1e-4);
test_analytical_surface_rxn<BuilderType<1>, StateType<1>>(four, 1e-4);
test_analytical_surface_rxn<BuilderType<1>, StateType<1>>(four_da, 1e-4);
test_analytical_surface_rxn<BuilderType<1>, StateType<1>>(six_da, 1e-4);
test_analytical_surface_rxn<BuilderType<1>, StateType<1>>(three, 1e-5);
test_analytical_surface_rxn<BuilderType<1>, StateType<1>>(four, 1e-5);
test_analytical_surface_rxn<BuilderType<1>, StateType<1>>(four_da, 1e-5);
test_analytical_surface_rxn<BuilderType<1>, StateType<1>>(six_da, 1e-5);
}

TEST(AnalyticalExamplesJitRosenbrock, E5)
Expand Down Expand Up @@ -210,7 +209,7 @@ TEST(AnalyticalExamplesJitRosenbrock, E5)
test_analytical_e5<BuilderType<1>, StateType<1>>(solver, 1e-3);
}

TEST(AnalyticalExamples, Oregonator)
TEST(AnalyticalExamplesJitRosenbrock, Oregonator)
{
auto rosenbrock_solver = [](auto params)
{
Expand All @@ -221,22 +220,22 @@ TEST(AnalyticalExamples, Oregonator)
};

auto solver = rosenbrock_solver(micm::RosenbrockSolverParameters::TwoStageRosenbrockParameters());
test_analytical_oregonator<BuilderType<1>, StateType<1>>(solver, 1e-3);
test_analytical_oregonator<BuilderType<1>, StateType<1>>(solver, 4e-4);

solver = rosenbrock_solver(micm::RosenbrockSolverParameters::ThreeStageRosenbrockParameters());
test_analytical_oregonator<BuilderType<1>, StateType<1>>(solver, 1e-3);
test_analytical_oregonator<BuilderType<1>, StateType<1>>(solver, 4e-4);

solver = rosenbrock_solver(micm::RosenbrockSolverParameters::FourStageRosenbrockParameters());
test_analytical_oregonator<BuilderType<1>, StateType<1>>(solver, 1e-3);
test_analytical_oregonator<BuilderType<1>, StateType<1>>(solver, 4e-4);

solver = rosenbrock_solver(micm::RosenbrockSolverParameters::FourStageDifferentialAlgebraicRosenbrockParameters());
test_analytical_oregonator<BuilderType<1>, StateType<1>>(solver, 1e-3);
test_analytical_oregonator<BuilderType<1>, StateType<1>>(solver, 4e-4);

solver = rosenbrock_solver(micm::RosenbrockSolverParameters::SixStageDifferentialAlgebraicRosenbrockParameters());
test_analytical_oregonator<BuilderType<1>, StateType<1>>(solver, 1e-3);
test_analytical_oregonator<BuilderType<1>, StateType<1>>(solver, 4e-4);
}

TEST(AnalyticalExamples, HIRES)
TEST(AnalyticalExamplesJitRosenbrock, HIRES)
{
auto rosenbrock_solver = [](auto params)
{
Expand All @@ -246,17 +245,17 @@ TEST(AnalyticalExamples, HIRES)
};

auto solver = rosenbrock_solver(micm::RosenbrockSolverParameters::TwoStageRosenbrockParameters());
test_analytical_hires<BuilderType<1>, StateType<1>>(solver, 5e-2);
test_analytical_hires<BuilderType<1>, StateType<1>>(solver, 1e-6);

solver = rosenbrock_solver(micm::RosenbrockSolverParameters::ThreeStageRosenbrockParameters());
test_analytical_hires<BuilderType<1>, StateType<1>>(solver, 1e-3);
test_analytical_hires<BuilderType<1>, StateType<1>>(solver, 1e-7);

solver = rosenbrock_solver(micm::RosenbrockSolverParameters::FourStageRosenbrockParameters());
test_analytical_hires<BuilderType<1>, StateType<1>>(solver, 1e-3);
test_analytical_hires<BuilderType<1>, StateType<1>>(solver, 1e-7);

solver = rosenbrock_solver(micm::RosenbrockSolverParameters::FourStageDifferentialAlgebraicRosenbrockParameters());
test_analytical_hires<BuilderType<1>, StateType<1>>(solver, 1e-3);
test_analytical_hires<BuilderType<1>, StateType<1>>(solver, 1e-6);

solver = rosenbrock_solver(micm::RosenbrockSolverParameters::SixStageDifferentialAlgebraicRosenbrockParameters());
test_analytical_hires<BuilderType<1>, StateType<1>>(solver, 1e-3);
test_analytical_hires<BuilderType<1>, StateType<1>>(solver, 1e-6);
}

0 comments on commit 125ec5e

Please sign in to comment.