@@ -1367,31 +1367,34 @@ but are still being fully evaluated in context.",
13671367 controller = :PI,
13681368 """
13691369)
1370- struct ESDIRK54I8L2SA{CS, AD, F, F2, P, FDT, ST, CJ} < :
1371- OrdinaryDiffEqNewtonAdaptiveAlgorithm {CS, AD, FDT, ST, CJ}
1370+ struct ESDIRK54I8L2SA{CS, AD, F, F2, P, FDT, ST, CJ, StepLimiter } < :
1371+ OrdinaryDiffEqNewtonAdaptiveESDIRKAlgorithm {CS, AD, FDT, ST, CJ}
13721372 linsolve:: F
13731373 nlsolve:: F2
13741374 precs:: P
1375+ smooth_est:: Bool
13751376 extrapolant:: Symbol
13761377 controller:: Symbol
1378+ step_limiter!:: StepLimiter
13771379 autodiff:: AD
13781380end
13791381function ESDIRK54I8L2SA (;
13801382 chunk_size = Val {0} (), autodiff = AutoForwardDiff (),
13811383 standardtag = Val {true} (), concrete_jac = nothing ,
13821384 diff_type = Val {:forward} (),
13831385 linsolve = nothing , precs = DEFAULT_PRECS, nlsolve = NLNewton (),
1384- extrapolant = :linear , controller = :PI
1386+ smooth_est = true , extrapolant = :linear ,
1387+ controller = :PI , step_limiter! = trivial_limiter!
13851388 )
13861389 AD_choice, chunk_size, diff_type = _process_AD_choice (autodiff, chunk_size, diff_type)
13871390
13881391 return ESDIRK54I8L2SA{
13891392 _unwrap_val (chunk_size), typeof (AD_choice), typeof (linsolve),
13901393 typeof (nlsolve), typeof (precs), diff_type, _unwrap_val (standardtag),
1391- _unwrap_val (concrete_jac),
1394+ _unwrap_val (concrete_jac), typeof (step_limiter!),
13921395 }(
1393- linsolve, nlsolve, precs, extrapolant,
1394- controller, AD_choice
1396+ linsolve, nlsolve, precs, smooth_est, extrapolant,
1397+ controller, step_limiter!, AD_choice
13951398 )
13961399end
13971400
@@ -1417,31 +1420,34 @@ but are still being fully evaluated in context.",
14171420 controller = :PI,
14181421 """
14191422)
1420- struct ESDIRK436L2SA2{CS, AD, F, F2, P, FDT, ST, CJ} < :
1421- OrdinaryDiffEqNewtonAdaptiveAlgorithm {CS, AD, FDT, ST, CJ}
1423+ struct ESDIRK436L2SA2{CS, AD, F, F2, P, FDT, ST, CJ, StepLimiter } < :
1424+ OrdinaryDiffEqNewtonAdaptiveESDIRKAlgorithm {CS, AD, FDT, ST, CJ}
14221425 linsolve:: F
14231426 nlsolve:: F2
14241427 precs:: P
1428+ smooth_est:: Bool
14251429 extrapolant:: Symbol
14261430 controller:: Symbol
1431+ step_limiter!:: StepLimiter
14271432 autodiff:: AD
14281433end
14291434function ESDIRK436L2SA2 (;
14301435 chunk_size = Val {0} (), autodiff = AutoForwardDiff (),
14311436 standardtag = Val {true} (), concrete_jac = nothing ,
14321437 diff_type = Val {:forward} (),
14331438 linsolve = nothing , precs = DEFAULT_PRECS, nlsolve = NLNewton (),
1434- extrapolant = :linear , controller = :PI
1439+ smooth_est = true , extrapolant = :linear ,
1440+ controller = :PI , step_limiter! = trivial_limiter!
14351441 )
14361442 AD_choice, chunk_size, diff_type = _process_AD_choice (autodiff, chunk_size, diff_type)
14371443
14381444 return ESDIRK436L2SA2{
14391445 _unwrap_val (chunk_size), typeof (AD_choice), typeof (linsolve),
14401446 typeof (nlsolve), typeof (precs), diff_type, _unwrap_val (standardtag),
1441- _unwrap_val (concrete_jac),
1447+ _unwrap_val (concrete_jac), typeof (step_limiter!),
14421448 }(
1443- linsolve, nlsolve, precs, extrapolant,
1444- controller, AD_choice
1449+ linsolve, nlsolve, precs, smooth_est, extrapolant,
1450+ controller, step_limiter!, AD_choice
14451451 )
14461452end
14471453
@@ -1467,31 +1473,34 @@ but are still being fully evaluated in context.",
14671473 controller = :PI,
14681474 """
14691475)
1470- struct ESDIRK437L2SA{CS, AD, F, F2, P, FDT, ST, CJ} < :
1471- OrdinaryDiffEqNewtonAdaptiveAlgorithm {CS, AD, FDT, ST, CJ}
1476+ struct ESDIRK437L2SA{CS, AD, F, F2, P, FDT, ST, CJ, StepLimiter } < :
1477+ OrdinaryDiffEqNewtonAdaptiveESDIRKAlgorithm {CS, AD, FDT, ST, CJ}
14721478 linsolve:: F
14731479 nlsolve:: F2
14741480 precs:: P
1481+ smooth_est:: Bool
14751482 extrapolant:: Symbol
14761483 controller:: Symbol
1484+ step_limiter!:: StepLimiter
14771485 autodiff:: AD
14781486end
14791487function ESDIRK437L2SA (;
14801488 chunk_size = Val {0} (), autodiff = AutoForwardDiff (),
14811489 standardtag = Val {true} (), concrete_jac = nothing ,
14821490 diff_type = Val {:forward} (),
14831491 linsolve = nothing , precs = DEFAULT_PRECS, nlsolve = NLNewton (),
1484- extrapolant = :linear , controller = :PI
1492+ smooth_est = true , extrapolant = :linear ,
1493+ controller = :PI , step_limiter! = trivial_limiter!
14851494 )
14861495 AD_choice, chunk_size, diff_type = _process_AD_choice (autodiff, chunk_size, diff_type)
14871496
14881497 return ESDIRK437L2SA{
14891498 _unwrap_val (chunk_size), typeof (AD_choice), typeof (linsolve),
14901499 typeof (nlsolve), typeof (precs), diff_type, _unwrap_val (standardtag),
1491- _unwrap_val (concrete_jac),
1500+ _unwrap_val (concrete_jac), typeof (step_limiter!),
14921501 }(
1493- linsolve, nlsolve, precs, extrapolant,
1494- controller, AD_choice
1502+ linsolve, nlsolve, precs, smooth_est, extrapolant,
1503+ controller, step_limiter!, AD_choice
14951504 )
14961505end
14971506
@@ -1517,31 +1526,34 @@ but are still being fully evaluated in context.",
15171526 controller = :PI,
15181527 """
15191528)
1520- struct ESDIRK547L2SA2{CS, AD, F, F2, P, FDT, ST, CJ} < :
1521- OrdinaryDiffEqNewtonAdaptiveAlgorithm {CS, AD, FDT, ST, CJ}
1529+ struct ESDIRK547L2SA2{CS, AD, F, F2, P, FDT, ST, CJ, StepLimiter } < :
1530+ OrdinaryDiffEqNewtonAdaptiveESDIRKAlgorithm {CS, AD, FDT, ST, CJ}
15221531 linsolve:: F
15231532 nlsolve:: F2
15241533 precs:: P
1534+ smooth_est:: Bool
15251535 extrapolant:: Symbol
15261536 controller:: Symbol
1537+ step_limiter!:: StepLimiter
15271538 autodiff:: AD
15281539end
15291540function ESDIRK547L2SA2 (;
15301541 chunk_size = Val {0} (), autodiff = AutoForwardDiff (),
15311542 standardtag = Val {true} (), concrete_jac = nothing ,
15321543 diff_type = Val {:forward} (),
15331544 linsolve = nothing , precs = DEFAULT_PRECS, nlsolve = NLNewton (),
1534- extrapolant = :linear , controller = :PI
1545+ smooth_est = true , extrapolant = :linear ,
1546+ controller = :PI , step_limiter! = trivial_limiter!
15351547 )
15361548 AD_choice, chunk_size, diff_type = _process_AD_choice (autodiff, chunk_size, diff_type)
15371549
15381550 return ESDIRK547L2SA2{
15391551 _unwrap_val (chunk_size), typeof (AD_choice), typeof (linsolve),
15401552 typeof (nlsolve), typeof (precs), diff_type, _unwrap_val (standardtag),
1541- _unwrap_val (concrete_jac),
1553+ _unwrap_val (concrete_jac), typeof (step_limiter!),
15421554 }(
1543- linsolve, nlsolve, precs, extrapolant,
1544- controller, AD_choice
1555+ linsolve, nlsolve, precs, smooth_est, extrapolant,
1556+ controller, step_limiter!, AD_choice
15451557 )
15461558end
15471559
@@ -1569,31 +1581,34 @@ Check issue https://github.com/SciML/OrdinaryDiffEq.jl/issues/1933 for more deta
15691581 controller = :PI,
15701582 """
15711583)
1572- struct ESDIRK659L2SA{CS, AD, F, F2, P, FDT, ST, CJ} < :
1573- OrdinaryDiffEqNewtonAdaptiveAlgorithm {CS, AD, FDT, ST, CJ}
1584+ struct ESDIRK659L2SA{CS, AD, F, F2, P, FDT, ST, CJ, StepLimiter } < :
1585+ OrdinaryDiffEqNewtonAdaptiveESDIRKAlgorithm {CS, AD, FDT, ST, CJ}
15741586 linsolve:: F
15751587 nlsolve:: F2
15761588 precs:: P
1589+ smooth_est:: Bool
15771590 extrapolant:: Symbol
15781591 controller:: Symbol
1592+ step_limiter!:: StepLimiter
15791593 autodiff:: AD
15801594end
15811595function ESDIRK659L2SA (;
15821596 chunk_size = Val {0} (), autodiff = AutoForwardDiff (),
15831597 standardtag = Val {true} (), concrete_jac = nothing ,
15841598 diff_type = Val {:forward} (),
15851599 linsolve = nothing , precs = DEFAULT_PRECS, nlsolve = NLNewton (),
1586- extrapolant = :linear , controller = :PI
1600+ smooth_est = true , extrapolant = :linear ,
1601+ controller = :PI , step_limiter! = trivial_limiter!
15871602 )
15881603 AD_choice, chunk_size, diff_type = _process_AD_choice (autodiff, chunk_size, diff_type)
15891604
15901605 return ESDIRK659L2SA{
15911606 _unwrap_val (chunk_size), typeof (AD_choice), typeof (linsolve),
15921607 typeof (nlsolve), typeof (precs), diff_type, _unwrap_val (standardtag),
1593- _unwrap_val (concrete_jac),
1608+ _unwrap_val (concrete_jac), typeof (step_limiter!),
15941609 }(
1595- linsolve, nlsolve, precs, extrapolant,
1596- controller, AD_choice
1610+ linsolve, nlsolve, precs, smooth_est, extrapolant,
1611+ controller, step_limiter!, AD_choice
15971612 )
15981613end
15991614
0 commit comments