Skip to content

Commit dd55da7

Browse files
authored
Merge pull request #347 from VirtualPlanetaryLaboratory/EngleAuto
Add Engle24Auto XUV model with per-timestep dispatch
2 parents 285cf22 + 4cd0940 commit dd55da7

8 files changed

Lines changed: 293 additions & 1 deletion

File tree

src/stellar.c

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,11 +269,13 @@ void ReadXUVModel(BODY *body, CONTROL *control, FILES *files, OPTIONS *options,
269269
body[iFile - 1].iXUVModel = STELLAR_MODEL_ENGLE24EARLY;
270270
} else if (!memcmp(sLower(cTmp), "engle24m", 8)) {
271271
body[iFile - 1].iXUVModel = STELLAR_MODEL_ENGLE24MIDLATE;
272+
} else if (!memcmp(sLower(cTmp), "engle24a", 8)) {
273+
body[iFile - 1].iXUVModel = STELLAR_MODEL_ENGLE24AUTO;
272274
} else {
273275
if (control->Io.iVerbose >= VERBERR) {
274276
fprintf(stderr,
275277
"ERROR: Unknown argument to %s: %s. Options are RIBAS, REINERS, "
276-
"ENGLE24EARLY, ENGLE24MIDLATE, or NONE.\n",
278+
"ENGLE24EARLY, ENGLE24MIDLATE, ENGLE24AUTO, or NONE.\n",
277279
options->cName, cTmp);
278280
}
279281
LineExit(files->Infile[iFile].cIn, lTmp);
@@ -1677,6 +1679,17 @@ void fnPropsAuxStellar(BODY *body, EVOLVE *evolve, IO *io, UPDATE *update,
16771679
body[iBody].dLXUV = fdLXUVEngle(
16781680
body, body[iBody].dXUVEngleMidLateA, body[iBody].dXUVEngleMidLateB,
16791681
body[iBody].dXUVEngleMidLateC, body[iBody].dXUVEngleMidLateD, iBody);
1682+
} else if (body[iBody].iXUVModel == STELLAR_MODEL_ENGLE24AUTO) {
1683+
/* Per-timestep dispatch on stellar mass. Boundary at 0.4 Msun. */
1684+
if (body[iBody].dMass >= 0.4 * MSUN) {
1685+
body[iBody].dLXUV = fdLXUVEngle(
1686+
body, body[iBody].dXUVEngleEarlyA, body[iBody].dXUVEngleEarlyB,
1687+
body[iBody].dXUVEngleEarlyC, body[iBody].dXUVEngleEarlyD, iBody);
1688+
} else {
1689+
body[iBody].dLXUV = fdLXUVEngle(
1690+
body, body[iBody].dXUVEngleMidLateA, body[iBody].dXUVEngleMidLateB,
1691+
body[iBody].dXUVEngleMidLateC, body[iBody].dXUVEngleMidLateD, iBody);
1692+
}
16801693
} else {
16811694

16821695
// Constant XUV fraction
@@ -1904,12 +1917,29 @@ void VerifyXUVEngleMidLate(BODY *body, CONTROL *control, FILES *files,
19041917
OPT_XUVMODEL, OPT_XUVENGLEEARLYD, iBody);
19051918
}
19061919

1920+
void VerifyXUVEngleAuto(BODY *body, CONTROL *control, FILES *files,
1921+
OPTIONS *options, int iBody) {
1922+
/* Engle24Auto: pick Early or MidLate per-timestep based on dMass. Allow
1923+
up to 25% extrapolation outside the calibrated union range
1924+
[0.1, 0.6] M_sun, but exit for masses more than 25% out of bounds. */
1925+
char cModel[LINE] = "ENGLE24AUTO XUV";
1926+
double dMinSafe = 0.075;
1927+
double dMaxSafe = 0.750;
1928+
1929+
VerifyEngleMassSpectralType(body, control, files, options, cModel,
1930+
dMaxSafe, dMinSafe, OPT_XUVMODEL, iBody);
1931+
/* No VerifyTwoEngleOptionsNotSet calls — Auto requires BOTH Early
1932+
and MidLate coefficient blocks to be present in star.in. */
1933+
}
1934+
19071935
void VerifyXUVEngle(BODY *body, CONTROL *control, FILES *files,
19081936
OPTIONS *options, int iBody) {
19091937
if (body[iBody].iXUVModel == STELLAR_MODEL_ENGLE24EARLY) {
19101938
VerifyXUVEngleEarly(body, control, files, options, iBody);
19111939
} else if (body[iBody].iXUVModel == STELLAR_MODEL_ENGLE24MIDLATE) {
19121940
VerifyXUVEngleMidLate(body, control, files, options, iBody);
1941+
} else if (body[iBody].iXUVModel == STELLAR_MODEL_ENGLE24AUTO) {
1942+
VerifyXUVEngleAuto(body, control, files, options, iBody);
19131943
}
19141944
}
19151945

src/stellar.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@
4545
7 /**< XUV evolution from Engle (2024) for M0-M2 dwarfs */
4646
#define STELLAR_MODEL_ENGLE24MIDLATE \
4747
8 /**< XUV evolution from Engle (2024) for M2.6-M6.5 dwarfs */
48+
#define STELLAR_MODEL_ENGLE24AUTO \
49+
9 /**< XUV evolution from Engle (2024) with per-timestep model selection \
50+
based on stellar mass. Both Early and MidLate coefficient sets must \
51+
be provided in star.in; dispatch uses Early for dMass >= 0.4 Msun, \
52+
MidLate otherwise. Mass safety bound: 0.075 < dMass < 0.75 Msun. */
4853

4954
#define STELLAR_DJDT_NONE \
5055
0 /**< No stellar angular momentum loss via magnetic braking */
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Engle24Auto -- Early dispatch test fixture (M = 0.5 Msun).
2+
# At M = 0.5 > 0.40 Msun, Auto-mode dispatch must select the Early
3+
# coefficient set. Companion fixture `star_early.in` runs the same setup
4+
# with sXUVModel = Engle24Early directly; the test asserts the resulting
5+
# .log files agree, proving dispatch correctness in the Early regime.
6+
7+
sName star
8+
saModules stellar
9+
10+
dMass 0.5
11+
dRotPeriod -10
12+
dAge 1e9
13+
14+
sStellarModel baraffe
15+
sXUVModel Engle24Auto
16+
sMagBrakingModel reiners
17+
18+
# Engle (2024) Early coefficients (active for M = 0.5 >= 0.4)
19+
dXUVEngleEarlyA -0.4896
20+
dXUVEngleEarlyB -3.2128
21+
dXUVEngleEarlyC -0.4469
22+
dXUVEngleEarlyD -0.2985
23+
24+
# Engle (2024) MidLate coefficients (present but unused for M=0.5)
25+
dXUVEngleMidLateA -0.1456
26+
dXUVEngleMidLateB -2.8876
27+
dXUVEngleMidLateC -1.8187
28+
dXUVEngleMidLateD 0.3545
29+
30+
saOutputOrder Time -Luminosity -LXUVStellar -LXUVTot
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
from benchmark import Benchmark, benchmark
2+
import astropy.units as u
3+
4+
@benchmark(
5+
{
6+
"log.initial.system.Age": {"value": 3.155760e+16, "unit": u.sec},
7+
"log.initial.system.Time": {"value": 0.000000, "unit": u.sec},
8+
"log.initial.system.TotAngMom": {"value": 1.316702e+41, "unit": (u.kg * u.m ** 2) / u.sec},
9+
"log.initial.system.TotEnergy": {"value": -1.236883e+41, "unit": u.Joule},
10+
"log.initial.system.PotEnergy": {"value": -1.236888e+41, "unit": u.Joule},
11+
"log.initial.system.KinEnergy": {"value": 4.787665e+35, "unit": u.Joule},
12+
"log.initial.system.DeltaTime": {"value": 0.000000, "unit": u.sec},
13+
"log.initial.star.Mass": {"value": 9.942080e+29, "unit": u.kg},
14+
"log.initial.star.Radius": {"value": 3.200220e+08, "unit": u.m},
15+
"log.initial.star.RadGyra": {"value": 0.421689},
16+
"log.initial.star.RotAngMom": {"value": 1.316702e+41, "unit": (u.kg * u.m ** 2) / u.sec},
17+
"log.initial.star.RotVel": {"value": 2327.265658, "unit": u.m / u.sec},
18+
"log.initial.star.BodyType": {"value": 0.000000},
19+
"log.initial.star.RotRate": {"value": 7.272205e-06, "unit": 1 / u.sec},
20+
"log.initial.star.RotPer": {"value": 8.640000e+05, "unit": u.sec},
21+
"log.initial.star.Density": {"value": 7241.843562, "unit": u.kg / u.m ** 3},
22+
"log.initial.star.HZLimitDryRunaway": {"value": 2.534228e+10, "unit": u.m},
23+
"log.initial.star.HZLimRecVenus": {"value": 2.247260e+10, "unit": u.m},
24+
"log.initial.star.HZLimRunaway": {"value": 2.975872e+10, "unit": u.m},
25+
"log.initial.star.HZLimMoistGreenhouse": {"value": 2.973489e+10, "unit": u.m},
26+
"log.initial.star.HZLimMaxGreenhouse": {"value": 5.547642e+10, "unit": u.m},
27+
"log.initial.star.HZLimEarlyMars": {"value": 6.050631e+10, "unit": u.m},
28+
"log.initial.star.Instellation": {"value": -1.000000, "unit": u.kg / u.sec ** 3},
29+
"log.initial.star.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m},
30+
"log.initial.star.LXUVTot": {"value": 1.569641e-05, "unit": u.LSUN},
31+
"log.initial.star.LostEnergy": {"value": 5.562685e-309, "unit": u.Joule},
32+
"log.initial.star.LostAngMom": {"value": 5.562685e-309, "unit": (u.kg * u.m ** 2) / u.sec},
33+
"log.initial.star.EscapeVelocity": {"value": 6.439704e+05, "unit": u.m / u.sec},
34+
"log.initial.star.Luminosity": {"value": 0.034834, "unit": u.LSUN},
35+
"log.initial.star.LXUVStellar": {"value": 1.569641e-05, "unit": u.LSUN},
36+
"log.initial.star.Temperature": {"value": 3680.001536, "unit": u.K},
37+
"log.initial.star.LXUVFrac": {"value": 0.000451},
38+
"log.initial.star.RossbyNumber": {"value": 0.209553},
39+
"log.initial.star.DRotPerDtStellar": {"value": 7.073788e-11},
40+
"log.initial.star.WindTorque": {"value": 1.078018e+25},
41+
"log.final.system.Age": {"value": 3.098080e+17, "unit": u.sec, "rtol": 1e-4},
42+
"log.final.system.Time": {"value": 2.782504e+17, "unit": u.sec, "rtol": 1e-4},
43+
"log.final.system.TotAngMom": {"value": 1.317902e+41, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4},
44+
"log.final.system.TotEnergy": {"value": -1.235338e+41, "unit": u.Joule, "rtol": 1e-4},
45+
"log.final.system.PotEnergy": {"value": -1.208001e+41, "unit": u.Joule, "rtol": 1e-4},
46+
"log.final.system.KinEnergy": {"value": 4.875508e+34, "unit": u.Joule, "rtol": 1e-4},
47+
"log.final.star.Mass": {"value": 9.942080e+29, "unit": u.kg, "rtol": 1e-4},
48+
"log.final.star.Radius": {"value": 3.276747e+08, "unit": u.m, "rtol": 1e-4},
49+
"log.final.star.RadGyra": {"value": 0.418088, "rtol": 1e-4},
50+
"log.final.star.RotAngMom": {"value": 4.265542e+40, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4},
51+
"log.final.star.RotVel": {"value": 749.063438, "unit": u.m / u.sec, "rtol": 1e-4},
52+
"log.final.star.BodyType": {"value": 0.000000, "rtol": 1e-4},
53+
"log.final.star.RotRate": {"value": 2.285997e-06, "unit": 1 / u.sec, "rtol": 1e-4},
54+
"log.final.star.RotPer": {"value": 2.748553e+06, "unit": u.sec, "rtol": 1e-4},
55+
"log.final.star.Density": {"value": 6746.210879, "unit": u.kg / u.m ** 3, "rtol": 1e-4},
56+
"log.final.star.HZLimitDryRunaway": {"value": 2.609042e+10, "unit": u.m, "rtol": 1e-4},
57+
"log.final.star.HZLimRecVenus": {"value": 2.313092e+10, "unit": u.m, "rtol": 1e-4},
58+
"log.final.star.HZLimRunaway": {"value": 3.063255e+10, "unit": u.m, "rtol": 1e-4},
59+
"log.final.star.HZLimMoistGreenhouse": {"value": 3.060595e+10, "unit": u.m, "rtol": 1e-4},
60+
"log.final.star.HZLimMaxGreenhouse": {"value": 5.708049e+10, "unit": u.m, "rtol": 1e-4},
61+
"log.final.star.HZLimEarlyMars": {"value": 6.225591e+10, "unit": u.m, "rtol": 1e-4},
62+
"log.final.star.Instellation": {"value": -1.000000, "unit": u.kg / u.sec ** 3, "rtol": 1e-4},
63+
"log.final.star.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m, "rtol": 1e-4},
64+
"log.final.star.LXUVTot": {"value": 1.959178e-06, "unit": u.LSUN, "rtol": 1e-4},
65+
"log.final.star.LostEnergy": {"value": -2.733782e+39, "unit": u.Joule, "rtol": 1e-4},
66+
"log.final.star.LostAngMom": {"value": 8.913482e+40, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4},
67+
"log.final.star.EscapeVelocity": {"value": 6.364062e+05, "unit": u.m / u.sec, "rtol": 1e-4},
68+
"log.final.star.Luminosity": {"value": 0.036921, "unit": u.LSUN, "rtol": 1e-4},
69+
"log.final.star.LXUVStellar": {"value": 1.959178e-06, "unit": u.LSUN, "rtol": 1e-4},
70+
"log.final.star.Temperature": {"value": 3689.002929, "unit": u.K, "rtol": 1e-4},
71+
"log.final.star.LXUVFrac": {"value": 5.306436e-05, "rtol": 1e-4},
72+
"log.final.star.RossbyNumber": {"value": 0.669712, "rtol": 1e-4},
73+
"log.final.star.DRotPerDtStellar": {"value": 2.418466e-12, "rtol": 1e-4},
74+
"log.final.star.WindTorque": {"value": 3.753272e+22, "rtol": 1e-4},
75+
}
76+
)
77+
class Test_EngleAutoEarly(Benchmark):
78+
pass
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
sSystemName star
2+
iVerbose 0
3+
bOverwrite 1
4+
5+
saBodyFiles star.in
6+
7+
sUnitMass solar
8+
sUnitLength AU
9+
sUnitTime YEARS
10+
sUnitAngle d
11+
12+
bDoLog 1
13+
iDigits 6
14+
dMinValue 1e-10
15+
16+
bDoForward 1
17+
bVarDt 1
18+
dEta 0.01
19+
dStopTime 1e10
20+
dOutputTime 1e9
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Engle24Auto XUV model — MidLate dispatch test.
2+
# Same physical setup as tests/Stellar/EngleXUV (M=0.181, P_rot=-122d) but
3+
# with sXUVModel = Engle24Auto. Because M < 0.40 Msun, Auto-mode dispatch
4+
# must select the MidLate coefficient set; numerical results should be
5+
# bit-identical to the EngleXUV benchmark. Engle24Early coefficients are
6+
# also present (required by Auto mode) but should not influence the result.
7+
8+
sName star
9+
saModules stellar
10+
11+
dMass 0.181
12+
dRotPeriod -122
13+
dAge 1e9
14+
15+
sStellarModel baraffe
16+
sXUVModel Engle24Auto
17+
sMagBrakingModel reiners
18+
19+
# Engle (2024) Early coefficients (unused for M=0.181 < 0.4)
20+
dXUVEngleEarlyA -0.4896
21+
dXUVEngleEarlyB -3.2128
22+
dXUVEngleEarlyC -0.4469
23+
dXUVEngleEarlyD -0.2985
24+
25+
# Engle (2024) MidLate coefficients (active for M=0.181 < 0.4)
26+
dXUVEngleMidLateA -0.1456
27+
dXUVEngleMidLateB -2.8876
28+
dXUVEngleMidLateC -1.8187
29+
dXUVEngleMidLateD 0.3545
30+
31+
saOutputOrder Time -Luminosity -LXUVStellar -LXUVTot
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
from benchmark import Benchmark, benchmark
2+
import astropy.units as u
3+
4+
@benchmark(
5+
{
6+
"log.initial.system.Age": {"value": 3.155760e+16, "unit": u.sec},
7+
"log.initial.system.Time": {"value": 0.000000, "unit": u.sec},
8+
"log.initial.system.TotAngMom": {"value": 8.694238e+38, "unit": (u.kg * u.m ** 2) / u.sec},
9+
"log.initial.system.TotEnergy": {"value": -3.754922e+40, "unit": u.Joule},
10+
"log.initial.system.PotEnergy": {"value": -3.754922e+40, "unit": u.Joule},
11+
"log.initial.system.KinEnergy": {"value": 2.591241e+32, "unit": u.Joule},
12+
"log.initial.system.DeltaTime": {"value": 0.000000, "unit": u.sec},
13+
"log.initial.star.Mass": {"value": 3.599033e+29, "unit": u.kg},
14+
"log.initial.star.Radius": {"value": 1.381422e+08, "unit": u.m},
15+
"log.initial.star.RadGyra": {"value": 0.460833},
16+
"log.initial.star.RotAngMom": {"value": 8.694238e+38, "unit": (u.kg * u.m ** 2) / u.sec},
17+
"log.initial.star.RotVel": {"value": 82.344140, "unit": u.m / u.sec},
18+
"log.initial.star.BodyType": {"value": 0.000000},
19+
"log.initial.star.RotRate": {"value": 5.960824e-07, "unit": 1 / u.sec},
20+
"log.initial.star.RotPer": {"value": 1.054080e+07, "unit": u.sec},
21+
"log.initial.star.Density": {"value": 3.259252e+04, "unit": u.kg / u.m ** 3},
22+
"log.initial.star.HZLimitDryRunaway": {"value": 8.356400e+09, "unit": u.m},
23+
"log.initial.star.HZLimRecVenus": {"value": 7.485986e+09, "unit": u.m},
24+
"log.initial.star.HZLimRunaway": {"value": 9.873134e+09, "unit": u.m},
25+
"log.initial.star.HZLimMoistGreenhouse": {"value": 9.905190e+09, "unit": u.m},
26+
"log.initial.star.HZLimMaxGreenhouse": {"value": 1.882335e+10, "unit": u.m},
27+
"log.initial.star.HZLimEarlyMars": {"value": 2.052890e+10, "unit": u.m},
28+
"log.initial.star.Instellation": {"value": -1.000000, "unit": u.kg / u.sec ** 3},
29+
"log.initial.star.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m},
30+
"log.initial.star.LXUVTot": {"value": 4.906221e-06, "unit": u.LSUN},
31+
"log.initial.star.LostEnergy": {"value": 5.562685e-309, "unit": u.Joule},
32+
"log.initial.star.LostAngMom": {"value": 5.562685e-309, "unit": (u.kg * u.m ** 2) / u.sec},
33+
"log.initial.star.EscapeVelocity": {"value": 5.897214e+05, "unit": u.m / u.sec},
34+
"log.initial.star.Luminosity": {"value": 0.003787, "unit": u.LSUN},
35+
"log.initial.star.LXUVStellar": {"value": 4.906221e-06, "unit": u.LSUN},
36+
"log.initial.star.Temperature": {"value": 3212.579977, "unit": u.K},
37+
"log.initial.star.LXUVFrac": {"value": 0.001295},
38+
"log.initial.star.RossbyNumber": {"value": 2.012152},
39+
"log.initial.star.DRotPerDtStellar": {"value": 5.277006e-12},
40+
"log.initial.star.WindTorque": {"value": 4.352568e+20},
41+
"log.final.system.Age": {"value": 3.108426e+17, "unit": u.sec, "rtol": 1e-4},
42+
"log.final.system.Time": {"value": 2.792850e+17, "unit": u.sec, "rtol": 1e-4},
43+
"log.final.system.TotAngMom": {"value": 8.931191e+38, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4},
44+
"log.final.system.TotEnergy": {"value": -3.698928e+40, "unit": u.Joule, "rtol": 1e-4},
45+
"log.final.system.PotEnergy": {"value": -3.674712e+40, "unit": u.Joule, "rtol": 1e-4},
46+
"log.final.system.KinEnergy": {"value": 2.108611e+32, "unit": u.Joule, "rtol": 1e-4},
47+
"log.final.star.Mass": {"value": 3.599033e+29, "unit": u.kg, "rtol": 1e-4},
48+
"log.final.star.Radius": {"value": 1.411575e+08, "unit": u.m, "rtol": 1e-4},
49+
"log.final.star.RadGyra": {"value": 0.460733, "rtol": 1e-4},
50+
"log.final.star.RotAngMom": {"value": 8.012348e+38, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4},
51+
"log.final.star.RotVel": {"value": 74.296896, "unit": u.m / u.sec, "rtol": 1e-4},
52+
"log.final.star.BodyType": {"value": 0.000000, "rtol": 1e-4},
53+
"log.final.star.RotRate": {"value": 5.263403e-07, "unit": 1 / u.sec, "rtol": 1e-4},
54+
"log.final.star.RotPer": {"value": 1.193750e+07, "unit": u.sec, "rtol": 1e-4},
55+
"log.final.star.Density": {"value": 3.054816e+04, "unit": u.kg / u.m ** 3, "rtol": 1e-4},
56+
"log.final.star.HZLimitDryRunaway": {"value": 8.540511e+09, "unit": u.m, "rtol": 1e-4},
57+
"log.final.star.HZLimRecVenus": {"value": 7.649893e+09, "unit": u.m, "rtol": 1e-4},
58+
"log.final.star.HZLimRunaway": {"value": 1.008994e+10, "unit": u.m, "rtol": 1e-4},
59+
"log.final.star.HZLimMoistGreenhouse": {"value": 1.012207e+10, "unit": u.m, "rtol": 1e-4},
60+
"log.final.star.HZLimMaxGreenhouse": {"value": 1.923039e+10, "unit": u.m, "rtol": 1e-4},
61+
"log.final.star.HZLimEarlyMars": {"value": 2.097284e+10, "unit": u.m, "rtol": 1e-4},
62+
"log.final.star.Instellation": {"value": -1.000000, "unit": u.kg / u.sec ** 3, "rtol": 1e-4},
63+
"log.final.star.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m, "rtol": 1e-4},
64+
"log.final.star.LXUVTot": {"value": 2.529287e-07, "unit": u.LSUN, "rtol": 1e-4},
65+
"log.final.star.LostEnergy": {"value": -2.421681e+38, "unit": u.Joule, "rtol": 1e-4},
66+
"log.final.star.LostAngMom": {"value": 9.188425e+37, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4},
67+
"log.final.star.EscapeVelocity": {"value": 5.833888e+05, "unit": u.m / u.sec, "rtol": 1e-4},
68+
"log.final.star.Luminosity": {"value": 0.003956, "unit": u.LSUN, "rtol": 1e-4},
69+
"log.final.star.LXUVStellar": {"value": 2.529287e-07, "unit": u.LSUN, "rtol": 1e-4},
70+
"log.final.star.Temperature": {"value": 3219.534123, "unit": u.K, "rtol": 1e-4},
71+
"log.final.star.LXUVFrac": {"value": 6.393251e-05, "rtol": 1e-4},
72+
"log.final.star.RossbyNumber": {"value": 2.286901, "rtol": 1e-4},
73+
"log.final.star.DRotPerDtStellar": {"value": 3.905842e-12, "rtol": 1e-4},
74+
"log.final.star.WindTorque": {"value": 2.621569e+20, "rtol": 1e-4},
75+
}
76+
)
77+
class Test_EngleAutoMidLate(Benchmark):
78+
pass
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
sSystemName star
2+
iVerbose 0
3+
bOverwrite 1
4+
5+
saBodyFiles star.in
6+
7+
sUnitMass solar
8+
sUnitLength AU
9+
sUnitTime YEARS
10+
sUnitAngle d
11+
12+
bDoLog 1
13+
iDigits 6
14+
dMinValue 1e-10
15+
16+
bDoForward 1
17+
bVarDt 1
18+
dEta 0.01
19+
dStopTime 1e10
20+
dOutputTime 1e9

0 commit comments

Comments
 (0)