Class TrainingPeriodization
java.lang.Object
org.episteme.social.sports.TrainingPeriodization
Handles training periodization logic, including cycle generation and load monitoring.
Provides implementations for Chronic Training Load (CTL) and Acute Training Load (ATL) based on the impulse-response models developed by Eric Banister and popularized by Dr. Andrew Coggan (TSS/NP/IF metrics).
References:
- Banister, E. W. (1991). Modeling Elite Athletic Performance. In Physiological Testing of the High-Performance Athlete.
- Coggan, A. R. (2003). Training and racing with a power meter.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordTop-level training cycle (typically 3-12 months).static enumPhases of a training period (Macro/Meso cycles).static enumDescriptive training intensity levels based on functional threshold ratios.static final recordRepresents a specific week's training goals and metrics.static final recordStandardized workout configuration. -
Method Summary
Modifier and TypeMethodDescriptionstatic Quantity<Dimensionless> calculateATL(List<Quantity<Dimensionless>> dailyTSS) Calculates Acute Training Load (ATL), representing short-term fatigue.static Quantity<Dimensionless> calculateCTL(List<Quantity<Dimensionless>> dailyTSS, int timeConstant) Calculates the Chronic Training Load (CTL), representing long-term fitness.static Quantity<Dimensionless> calculateTSB(Quantity<Dimensionless> ctl, Quantity<Dimensionless> atl) Calculates Training Stress Balance (TSB), representing freshness.
-
Method Details
-
calculateCTL
public static Quantity<Dimensionless> calculateCTL(List<Quantity<Dimensionless>> dailyTSS, int timeConstant) Calculates the Chronic Training Load (CTL), representing long-term fitness. CTL is an exponentially weighted moving average (EWMA) of daily TSS, typically using a 42-day time constant.- Parameters:
dailyTSS- List of daily Training Stress Scores (TSS)timeConstant- The time constant (tau), usually 42 days.- Returns:
- The CTL value (dimensionless).
-
calculateATL
Calculates Acute Training Load (ATL), representing short-term fatigue. ATL is an EWMA of daily TSS using a short time constant (typically 7 days).- Parameters:
dailyTSS- List of daily Training Stress Scores (TSS)- Returns:
- The ATL value (dimensionless).
-
calculateTSB
public static Quantity<Dimensionless> calculateTSB(Quantity<Dimensionless> ctl, Quantity<Dimensionless> atl) Calculates Training Stress Balance (TSB), representing freshness. Formula: TSB = CTL - ATL.- Parameters:
ctl- Chronic Training Load (Fitness)atl- Acute Training Load (Fatigue)- Returns:
- Training Stress Balance (Freshness)
-