Outline
Classical Cepheid Pulsations in MESA-star
Friday is built around one connected Cepheid workflow. The models are LMC-like, with Z = 0.006, Y = 0.2575, and initial masses in the
range.
- Lab 1 evolves the stellar models, runs GYRE inside MESA-star during the Cepheid phase, and saves
.modfiles. - Lab 2 uses those same saved models to compare GYRE-in-MESA with RSP linear nonadiabatic analysis and to build period-luminosity and period Wesenheit relations.
- Lab 3 uses selected saved models as starting points for nonlinear TDC pulsation runs and reconstructs the Hertzsprung progression.
Lab 1 - Evolving a Cepheid into the Instability Strip
Directory: lab1_work_dir/
Goal
Evolve a classical Cepheid candidate through the relevant parts of the HR diagram, identify whether it enters the instability strip, run GYRE during the Cepheid phase, and save the models needed by Labs 2 and 3.
Blue loops and strip crossing

Source: Figure 3 in Smolec et al. 2026, MESA Cepheid grid III. The lab models are designed to make clean blue loops through the classical Cepheid instability strip.
What happens
- Choose one initial mass from the shared class grid.
- Evolve from the ZAMS to the onset of core helium burning using a custom
run_star_extrasstopping condition. - Restart with
./re, switch to an inlist stopping condition, and run to core helium depletion. - Fix the GYRE-in-MESA setup in
run_star_extrasso GYRE receives the MESA model throughset_model. - Let GYRE run during the dense-output Cepheid part of the evolution.
- Save period and growth information for the fundamental, first overtone, and second overtone radial modes.
- Save
.modfiles inmod_dir/for later labs. - Add the instability strip to PGSTAR and compare the blue-loop behavior across the class.
Class products
- a
history.datafile with GYRE periods and growth rates - optional compact
gyre_in_mesa.datasolution files - saved
.modfiles grouped by initial mass - an HR diagram view of which masses make useful Cepheid candidates
Reading
Evolution and blue loops:
- Ziółkowska et al. 2024, MESA Cepheid grid I
- Ziółkowska et al. 2026, MESA Cepheid grid II
- Smolec et al. 2026, MESA Cepheid grid III
Lab 2 - Linear Analysis in GYRE vs LNA (from RSP)
Directory: content/friday/MESA_models/lab2_GYRE_vs_LNA_P_L/
Goal
Use the saved Lab 1 models to compare two linear pulsation calculations:
- GYRE-in-MESA, which uses the full MESA stellar structure
- RSP-LNA, which builds a static radial envelope model from the model’s mass, luminosity, effective temperature, and composition
The class then uses the resulting periods, growth rates, luminosities, and Wesenheit values to compare period-luminosity and period Wesenheit behavior.
Observed Cepheids inside the instability strip

Source: Figure 2 in Smolec et al. 2026, MESA Cepheid grid III. The strip edges depend on the pulsation and convection treatment, which is part of why Lab 2 compares two linear tools instead of treating one as exact.
Period-luminosity and Wesenheit relation

Source: Figure 8 in Smolec et al. 2026, MESA Cepheid grid III. The Friday lab starts with a simple period-luminosity relation and then uses the RSP color output to build a period Wesenheit relation.
The Wesenheit index folds color information into the vertical axis, so it is closer to the observational Cepheid relation than luminosity alone.
What happens
- Choose a saved Lab 1 model with useful fundamental mode information.
- Add the GYRE period, growth rate, and luminosity to the shared spreadsheet.
- Set up the RSP work directory and build an RSP envelope using
RSP_mass,RSP_Teff,RSP_L,RSP_X, andRSP_Z. - Use
initial_model_numberfor bookkeeping so RSP output can be matched back to the Lab 1 model number. - Run RSP-LNA with
RSP_max_num_periods = 0. - Add the RSP fundamental period, growth rate, and Wesenheit value to the same spreadsheet row.
- Use Table 1 if you need a clean RSP positive fallback for Lab 2.
- Use Table 2 if you need the selected red edge starting models for Lab 3.
- Compare the full-grid reference plots for instability classification, period radius, period-luminosity, period Wesenheit, and direct GYRE/RSP period and radius ratios.
- Optionally automate the RSP-LNA runs with the batch script.
Class products
- a GYRE/RSP comparison table for the same saved model numbers
- a class period-luminosity relation
- a class period Wesenheit relation
- a record of which models are useful Lab 2 fallback models
- a selected red edge model list for the Lab 3 nonlinear sample
Reading
Method references:
- Townsend and Teitler 2013, GYRE
- Paxton et al. 2019, MESA V
- Anderson et al. 2016, pulsation-convection coupling and Cepheid instability strip edges
Pulsation and P-L references:
- Smolec et al. 2026, MESA Cepheid grid III
- Bono et al. 1999, theoretical Cepheid P-L, P-C, and P-L-C relations
- Espinoza-Arancibia et al. 2022, period change rates of LMC Cepheids using MESA
Observational context:
Lab 3 - The Hertzsprung Progression
Directory: content/friday/MESA_models/lab3_Hertzsprung_progression/
Goal
Use nonlinear time dependent convection (TDC) runs to see how a finite amplitude Cepheid waveform develops, classify the bump location, and reconstruct the Hertzsprung progression across the class sample.
Bump morphology across the Hertzsprung progression

Source: Figure 4 in Marconi et al. 2024, The Hertzsprung progression of classical Cepheids in the Gaia era. The bump shifts across the waveform as period changes.
The usual single mode interpretation is that the morphology is tied to a near 2:1 resonance between the second overtone and the fundamental mode:
This is a guide to the clean fundamental mode Hertzsprung progression, not a complete description of every pulsating star. Multiperiodic, mode switching, period doubled, and irregular behavior are part of the broader nonlinear mode selection problem.
What happens
- Start from a saved Lab 1
.modfile, preferably one of the Table 2 red edge models from Lab 2. - Set
load_model_filenameininlist_pulses. - Choose an initial kick for the fundamental radial mode.
- Compile and run the TDC setup.
- Watch PGSTAR and the saved outputs until the model develops a coherent finite amplitude pulsation.
- Use the lab standard, not a full science-run standard: the waveform only needs to be developed enough to classify the bump.
- Record the nonlinear period and whether the bump is on the descending branch, middle of the cycle, rising branch, or unclear.
- Compare the class results by period.
- Optionally compare with Lab 2, make movies, or add a cycle-averaged diagnostic in the bonus coding task.
Class products
- a set of nonlinear Cepheid light curves
- a class table with model, period, and bump classification
- a bump-progression sequence
- notes on any models that do not behave as clean single mode pulsators
Reading
- OGLE Atlas of Variable Star Light Curves, classical Cepheids
- OGLE Atlas of Variable Star Light Curves, Type II Cepheids
- Farag et al. 2026, self-consistent nonlinear classical Cepheid pulsations during stellar evolution with MESA
- Smolec 2014, mode selection in pulsating stars
- Bono, Marconi, and Stellingwerf 2000, the Hertzsprung progression
- Marconi et al. 2024, the Hertzsprung progression of classical Cepheids in the Gaia era
- Simon and Schmidt 1976
- Hocde et al. 2024, Cepheid radial velocity Fourier parameters
- Hocde et al. 2024, Y Oph with RSP/MESA