2184 Commits

Author SHA1 Message Date
77b18d0d2b INTERPOLATIONS: Implement 9th order Optimized Compact MP method.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-10-11 18:28:56 -03:00
173f13e8b7 INTERPOLATIONS: Remove comments from 5th order OCMP method.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-10-09 22:41:10 -03:00
be07cdaaaa INTERPOLATIONS: Implement 7th order Optimized Compact MP method.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-10-09 22:27:19 -03:00
7bf0635c6e INTERPOLATIONS: Set central_weight to zero by default.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-10-07 22:30:50 -03:00
71290e5731 INTERPOLATIONS: Remove regular compact MP methods.
They are identical to low-dissipation methods with central_weight = 0.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-10-07 22:28:55 -03:00
325dc36c44 INTERPOLATIONS: Merge regular explicit MP methods.
They are identical to low-dissipation versions with center_weight = 0.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-10-07 22:19:10 -03:00
662f35ff01 INTERPOLATIONS: Implement 9th order low-dissipation Compact MP method.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-10-07 22:08:55 -03:00
20bae9dec1 INTERPOLATIONS: Implement 9th order Compact MP method.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-10-07 19:08:21 -03:00
2d31bb2a4f ALGEBRA: Implement pentadiagona linear equations solver.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-10-07 18:31:05 -03:00
352af9a1a6 INTERPOLATIONS: Rewrite compact low-dissipation methods.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-10-07 18:19:05 -03:00
a19e8b885f INTERPOLATIONS: Rewrite compact MP methods.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-10-07 17:25:19 -03:00
2e2ff48693 INTERPOLATIONS: Rewrite explicit low-dissipation methods.
Introduce a parameter cweight to control the weight toward the central
scheme and so the amount of schemes' dissipation.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-10-07 16:20:50 -03:00
64cc9794e2 INTERPOLATIONS: Move explicit interpolation coefficients.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-10-07 14:17:55 -03:00
a8d85390b4 INTERPOLATIONS: Update coefficients of the MP7LD method.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-10-07 12:28:17 -03:00
a93bf0daea INTERPOLATIONS: Determine ci5(:) coefficients using di5(:) in OCMP5.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-10-07 08:46:42 -03:00
25dbf151e1 ALGEBRA: Rewrite slightly the tridiagonal solver.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-29 12:04:59 -03:00
168cb03f9f INTERPOLATIONS: Implement 5th order Optimized Compact MP method.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-28 11:04:19 -03:00
3da83e901d INTERPOLATION: Improve MP limiting for high-wavenumbers.
This improvement is according to Ahn & Lee, JPC, 2020, 83, 34.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-28 09:58:59 -03:00
098122cf3f INTERPOLATIONS: Add low dissipation version of CRMP7 method.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-26 10:05:33 -03:00
ddb2117660 INTERPOLATIONS: Add explicit MP methods with lower dissipation.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-25 19:18:13 -03:00
deede9452d EVOLUTION: Determine the relative maximum error.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-16 06:40:50 -03:00
36b10a40d7 EVOLUTION: Add limiting factors and correct exponents in error control.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-15 22:59:20 -03:00
2450ec2a34 IO: Store dte in the restart snapshots.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-15 20:06:49 -03:00
415d081e42 EVOLUTION: Get umax from the block interiors only.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-15 20:05:05 -03:00
af5673108e IO: Search for the last restart snapshot only if nrest = 0.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-11 19:09:58 -03:00
f934e8ffa5 PROBLEMS: Update tearing problem parameters' file.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-11 18:29:50 -03:00
03930894dd PYTHON: Update setup.py.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-10 16:57:03 -03:00
de235f3085 PYTHON: Division by 'shrink' should always return an integer.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-10 16:55:42 -03:00
1fef6794bd PYTHON: Don't use spaces for keywords.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-10 16:53:55 -03:00
cea6297a53 PYTHON: Change tabs to spaces in accordance with PEP 8.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-10 16:38:09 -03:00
d82eb99a8a EVOLUTION: Fix variables which may not be initialized.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-01 18:12:37 -03:00
55e6d810d2 BOUNDARIES, MESH: Implement parabolic interpolation for prolongation.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-01 17:16:18 -03:00
d72c6019b8 EVOLUTION: Implement step repetition in evolve_ssprk2_m().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-01 16:57:36 -03:00
d969608541 EVOLUTION: Implement step repetition in evolve_ssprk3_m().
If the desired tolerance was not achieved, the integration step is
repeated. The tolerance is controlled by two parameters:
"absolute_tolerance" and "relative_tolerance". The number of allowed
repetitions is controlled by parameter "maximum_repetitions".

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-01 16:48:28 -03:00
f199e231e6 EVOLUTION, IO: Add tolerances, interations and rejections counters.
Store these variables in restart snapshots.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-09-01 16:38:11 -03:00
c1fa4d1cff EVOLUTION: Estimate timestep due to error limitation.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-31 22:38:46 -03:00
0c04d4986b EVOLUTION: Add parameters for absolute and relative tolerances.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-31 22:29:40 -03:00
1d0cf0758c EVOLUTION: Rewrite evolve_ssprk3_m() to use %u2(:,:,:,:).
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-31 22:27:38 -03:00
931c984dca EVOLUTION: Rewrite evolve_ssprk2_m() to use %u2(:,:,:,:).
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-31 20:10:48 -03:00
f24f071540 BLOCKS: Add additional conserved variable array to data blocks.
It is required for high-order low-storage embedded SSPRK integration
methods.

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-31 18:52:21 -03:00
d86fea463c EVOLUTION: Remove stat atribute from allocation of lerr(..).
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-31 11:52:19 -03:00
a754fd6a56 EVOLUTION: Remove one variable from evolve_ssprk3_m().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-28 23:38:12 -03:00
60255efe9f EVOLUTION: Add error estimation in evolve_ssprk2_m().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-28 23:36:52 -03:00
73e2743e07 DRIVER: Print maximum error.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-28 23:07:32 -03:00
8a23da2802 EVOLUTION: Remove few comments from evolve_ssprk3_m().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-28 22:44:51 -03:00
100fcf12f2 EVOLUTION: Add error estimation in evolve_ssprk3_m().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-28 22:42:26 -03:00
b9e9ce1daf INTEGRALS: Remove unused variable from store_integrals().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-28 22:41:35 -03:00
51d883b5db INTEGRALS: Store integration errors in a separate file.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-28 21:46:29 -03:00
0d47d35104 EVOLUTION: Add time step resulting from the error limit.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-28 21:41:04 -03:00
3d13d30e60 EQUATIONS: Add vector to store integration errors of variables.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2020-08-28 21:30:56 -03:00