Skip to content

Numerical Propagation Configuration

Configuration classes for numerical integration settings. NumericalPropagationConfig combines the integration method, integrator tolerances, and variational equation settings into a single configuration object.

Note

For conceptual explanations and usage examples, see Integrator Configuration in the User Guide.

NumericalPropagationConfig

NumericalPropagationConfig(method: Any, integrator: Any, variational: Any)

Configuration for numerical propagation.

Controls the integrator settings, tolerances, and variational equation options.

Note

This class is created via class methods or static methods: - NumericalPropagationConfig.default() - DP54 with standard tolerances - NumericalPropagationConfig.high_precision() - RKN1210 with tight tolerances - NumericalPropagationConfig.with_method(method) - Custom method with default settings - NumericalPropagationConfig.new(method, integrator, variational) - Full customization

Attributes:

Name Type Description
method IntegrationMethod

Integration method

integrator IntegratorConfig

Integrator configuration (tolerances, step sizes)

variational VariationalConfig

Variational configuration (STM/sensitivity settings)

trajectory_mode TrajectoryMode

Trajectory storage mode

sampling SamplingConfig

Output sampling configuration

Example
1
2
3
4
5
6
7
import brahe as bh

# Default configuration (DP54 with standard tolerances)
config = bh.NumericalPropagationConfig.default()

# High precision configuration
config = bh.NumericalPropagationConfig.high_precision()

Initialize instance.

abs_tol property

abs_tol: Any

Get absolute tolerance.

interpolation_method property

interpolation_method: Any

Get the interpolation method.

method property

method: Any

Get the integration method.

rel_tol property

rel_tol: Any

Get relative tolerance.

store_accelerations property

store_accelerations: Any

Get whether acceleration storage is enabled.

variational property

variational: Any

Get variational configuration (STM/sensitivity settings).

default builtin

Create a default configuration (DP54 with standard tolerances).

high_precision builtin

high_precision() -> NumericalPropagationConfig

Create a high-precision configuration (RKN1210 with tight tolerances).

with_abs_tol method descriptor

with_abs_tol(abs_tol: float) -> NumericalPropagationConfig

Set absolute tolerance for adaptive integrators.

Parameters:

Name Type Description Default
abs_tol float

Absolute tolerance.

required

Returns:

Name Type Description
NumericalPropagationConfig NumericalPropagationConfig

Self with updated tolerance.

with_initial_step method descriptor

with_initial_step(step: float) -> NumericalPropagationConfig

Set initial step size.

Parameters:

Name Type Description Default
step float

Initial step size in seconds.

required

Returns:

Name Type Description
NumericalPropagationConfig NumericalPropagationConfig

Self with updated step size.

with_interpolation_method method descriptor

with_interpolation_method(method: InterpolationMethod) -> NumericalPropagationConfig

Set the interpolation method for trajectory queries.

Parameters:

Name Type Description Default
method InterpolationMethod

The interpolation method to use.

required

Returns:

Name Type Description
NumericalPropagationConfig NumericalPropagationConfig

Self with updated interpolation method.

with_max_step method descriptor

with_max_step(step: float) -> NumericalPropagationConfig

Set maximum step size.

Parameters:

Name Type Description Default
step float

Maximum step size in seconds.

required

Returns:

Name Type Description
NumericalPropagationConfig NumericalPropagationConfig

Self with updated step size.

with_method builtin

Create a configuration with a specific integration method.

Parameters:

Name Type Description Default
method IntegrationMethod

The integration method to use.

required

with_rel_tol method descriptor

with_rel_tol(rel_tol: float) -> NumericalPropagationConfig

Set relative tolerance for adaptive integrators.

Parameters:

Name Type Description Default
rel_tol float

Relative tolerance.

required

Returns:

Name Type Description
NumericalPropagationConfig NumericalPropagationConfig

Self with updated tolerance.

with_sensitivity method descriptor

with_sensitivity() -> NumericalPropagationConfig

Enable sensitivity matrix propagation (requires params).

Returns:

Name Type Description
NumericalPropagationConfig NumericalPropagationConfig

Self with sensitivity enabled.

with_sensitivity_history method descriptor

with_sensitivity_history() -> NumericalPropagationConfig

Enable sensitivity history storage in trajectory.

Returns:

Name Type Description
NumericalPropagationConfig NumericalPropagationConfig

Self with sensitivity history enabled.

with_stm method descriptor

Enable STM (State Transition Matrix) propagation.

Returns:

Name Type Description
NumericalPropagationConfig NumericalPropagationConfig

Self with STM enabled.

with_stm_history method descriptor

with_stm_history() -> NumericalPropagationConfig

Enable STM history storage in trajectory.

Returns:

Name Type Description
NumericalPropagationConfig NumericalPropagationConfig

Self with STM history enabled.

with_store_accelerations method descriptor

with_store_accelerations(store: bool) -> NumericalPropagationConfig

Enable or disable acceleration storage in trajectory.

Parameters:

Name Type Description Default
store bool

Whether to store accelerations.

required

Returns:

Name Type Description
NumericalPropagationConfig NumericalPropagationConfig

Self with updated setting.

VariationalConfig

VariationalConfig(enable_stm: bool = False, enable_sensitivity: bool = False, store_stm_history: bool = False, store_sensitivity_history: bool = False)

Configuration for STM and sensitivity matrix propagation.

Controls whether the propagator computes and stores variational matrices (State Transition Matrix and Sensitivity Matrix) during propagation.

Parameters:

Name Type Description Default
enable_stm bool

Enable State Transition Matrix propagation. Defaults to False.

False
enable_sensitivity bool

Enable sensitivity matrix propagation. Defaults to False.

False
store_stm_history bool

Store STM at output times. Defaults to False.

False
store_sensitivity_history bool

Store sensitivity at output times. Defaults to False.

False

Attributes:

Name Type Description
enable_stm bool

Enable State Transition Matrix propagation

enable_sensitivity bool

Enable sensitivity matrix propagation

store_stm_history bool

Store STM at output times

store_sensitivity_history bool

Store sensitivity at output times

Example
1
2
3
import brahe as bh

config = bh.VariationalConfig(enable_stm=True, store_stm_history=True)

Initialize instance.

enable_sensitivity property

enable_sensitivity: Any

Enable sensitivity matrix propagation.

enable_stm property

enable_stm: Any

Enable State Transition Matrix (STM) propagation.

store_sensitivity_history property

store_sensitivity_history: Any

Store sensitivity matrix at output times in trajectory.

store_stm_history property

store_stm_history: Any

Store STM at output times in trajectory.

IntegrationMethod

IntegrationMethod()

Integration method for numerical orbit propagation.

Specifies which numerical integrator to use. Different methods trade off accuracy, efficiency, and applicability.

Example
1
2
3
4
5
6
7
import brahe as bh

# Use default (DP54)
method = bh.IntegrationMethod.DP54

# Create config with specific method
config = bh.NumericalPropagationConfig.with_method(bh.IntegrationMethod.RKF45)

Initialize instance.

DP54 class-attribute

DP54: Any = IntegrationMethod.DP54

Integration method for numerical orbit propagation.

Specifies which numerical integrator to use. Different methods trade off accuracy, efficiency, and applicability.

Example
1
2
3
4
5
6
7
import brahe as bh

# Use default (DP54)
method = bh.IntegrationMethod.DP54

# Create config with specific method
config = bh.NumericalPropagationConfig.with_method(bh.IntegrationMethod.RKF45)

RK4 class-attribute

RK4: Any = IntegrationMethod.RK4

Integration method for numerical orbit propagation.

Specifies which numerical integrator to use. Different methods trade off accuracy, efficiency, and applicability.

Example
1
2
3
4
5
6
7
import brahe as bh

# Use default (DP54)
method = bh.IntegrationMethod.DP54

# Create config with specific method
config = bh.NumericalPropagationConfig.with_method(bh.IntegrationMethod.RKF45)

RKF45 class-attribute

RKF45: Any = IntegrationMethod.RKF45

Integration method for numerical orbit propagation.

Specifies which numerical integrator to use. Different methods trade off accuracy, efficiency, and applicability.

Example
1
2
3
4
5
6
7
import brahe as bh

# Use default (DP54)
method = bh.IntegrationMethod.DP54

# Create config with specific method
config = bh.NumericalPropagationConfig.with_method(bh.IntegrationMethod.RKF45)

RKN1210 class-attribute

RKN1210: Any = IntegrationMethod.RKN1210

Integration method for numerical orbit propagation.

Specifies which numerical integrator to use. Different methods trade off accuracy, efficiency, and applicability.

Example
1
2
3
4
5
6
7
import brahe as bh

# Use default (DP54)
method = bh.IntegrationMethod.DP54

# Create config with specific method
config = bh.NumericalPropagationConfig.with_method(bh.IntegrationMethod.RKF45)

is_adaptive method descriptor

is_adaptive() -> Any

Returns true if this integrator uses adaptive step size control.


See Also