Coverage for pySDC / projects / parallelSDC_reloaded / chemicalReaction_setup.py: 100%

24 statements  

« prev     ^ index     » next       coverage.py v7.13.4, created at 2026-03-03 10:35 +0000

1#!/usr/bin/env python3 

2# -*- coding: utf-8 -*- 

3""" 

4Created on Thu Dec 7 21:22:52 2023 

5 

6Setup script for the Chemical Reaction problem 

7""" 

8 

9import numpy as np 

10import matplotlib.pyplot as plt 

11 

12from pySDC.projects.parallelSDC_reloaded.utils import solutionExact, getParamsRK, solutionSDC 

13 

14script = __file__.split('/')[-1].split('.')[0] 

15 

16tEnd = 300 

17nSteps = 10 

18rkScheme = "RK4" 

19 

20tVals = np.linspace(0, tEnd, nSteps + 1) 

21 

22print("Computing ODE solution") 

23uExact = solutionExact(tEnd, nSteps, "CHEMREC") 

24 

25params = getParamsRK(rkScheme) 

26uNum, counters, _ = solutionSDC(tEnd, nSteps, params, 'CHEMREC') 

27 

28figName = f"{script}_solution" 

29plt.figure(figName) 

30plt.plot(tVals, uExact[:, 0], '-', label="c1-exact") 

31plt.plot(tVals, uExact[:, 1], '-', label="c2-exact") 

32plt.plot(tVals, uExact[:, 2], '-', label="c3-exact") 

33plt.plot(tVals, uNum[:, 0], '--', label="c1-num") 

34plt.plot(tVals, uNum[:, 1], '--', label="c2-num") 

35plt.plot(tVals, uNum[:, 2], '--', label="c3-num") 

36 

37plt.legend() 

38plt.xlabel("time") 

39plt.ylabel("solution") 

40plt.tight_layout()