latom.surrogate.om_metamodels¶
@authors: Alberto FOSSA’ Giuliana Elena MICELI
Functions
|
Load an object. |
|
Save an object. |
Classes
|
HohmannTransfer class implements a two-dimensional Hohmann transfer between two coplanar, circular orbits in the Keplerian two-body approximation. |
|
ImpulsiveBurn class describes an impulsive burn. |
|
MetaModel class sets up an OpenMDAO Problem object and a MetaModelStructuredComp subsystem to compute and exploit a surrogate model for different transfer trajectories. |
|
Interpolation Component generated from data on a regular grid. |
|
Top-level container for the systems and drivers. |
|
Plots the response surface resulting from the surrogate models computations. |
|
Spacecraft class defines the spacecraft characteristics. |
|
TwoDimAscConstMetaModel implements MetaModel for a two-dimensional ascent trajectory at constant thrust. |
|
TwoDimAscConstNLP class transcribes a two-dimensional, continuous-time optimal control problem in trajectory optimization into a Non Linear Programming Problem (NLP) using the OpenMDAO and dymos libraries. |
|
TwoDimAscVToffMetaModel implements MetaModel for a two-dimensional ascent trajectory with variable thrust and constrained minimum safe altitude. |
|
TwoDimAscVToffNLP class transcribes a two-dimensional, continuous-time optimal control problem in trajectory optimization into a Non Linear Programming Problem (NLP) using the OpenMDAO and dymos libraries. |
|
TwoDimAscVarMetaModel implements MetaModel for a two-dimensional ascent trajectory with variable thrust. |
|
TwoDimAscVarNLP class transcribes a two-dimensional, continuous-time optimal control problem in trajectory optimization into a Non Linear Programming Problem (NLP) using the OpenMDAO and dymos libraries. |
|
TwoDimDescConstMetaModel implements MetaModel for a two-dimensional descent trajectory at constant thrust. |
|
TwoDimDescConstNLP class transcribes a two-dimensional, continuous-time optimal control problem in trajectory optimization into a Non Linear Programming Problem (NLP) using the OpenMDAO and dymos libraries. |
|
TwoDimDescTwoPhasesAnalyzer class defines the methods to analyze the results of a two dimensional descent simulation from a given Low Lunar Orbit to the Moon surface composed by two subsequent phases. |
|
|
|
TwoDimDescVLandMetaModel implements MetaModel for a two-dimensional descent trajectory with variable thrust and constrained minimum safe altitude. |
|
TwoDimAscVToffNLP class transcribes a two-dimensional, continuous-time optimal control problem in trajectory optimization into a Non Linear Programming Problem (NLP) using the OpenMDAO and dymos libraries. |
|
TwoDimDescVarMetaModel implements MetaModel for a two-dimensional descent trajectory with variable thrust. |
|
TwoDimDescVarNLP class transcribes a two-dimensional, continuous-time optimal control problem in trajectory optimization into a Non Linear Programming Problem (NLP) using the OpenMDAO and dymos libraries. |
|
Defines a two-dimensional orbit from its keplerian parameters. |
-
class
latom.surrogate.om_metamodels.MetaModel(distributed=False, extrapolate=False, method='scipy_cubic', training_data_gradients=True, vec_size=1, rec_file=None)[source]¶ Bases:
objectMetaModel class sets up an OpenMDAO Problem object and a MetaModelStructuredComp subsystem to compute and exploit a surrogate model for different transfer trajectories.
The model inputs are the spacecraft specific impulse Isp and initial thrust/weight ratio twr while the model output is the propellant fraction m_prop.
- Parameters
distributed (bool, optional) –
Trueif the component has variables that are distributed across multiple processes,Falseotherwise. Default isFalseextrapolate (bool, optional) – Sets whether extrapolation should be performed when an input is out of bounds. Default is
Falsemethod (str, optional) – Spline interpolation method to use for all outputs among
cubic,slinear,lagrange2,lagrange3,akima,scipy_cubic,scipy_slinear,scipy_quintic. Default isscipy_cubictraining_data_gradients (bool, optional) – Sets whether gradients with respect to output training data should be computed. Default is
Truevec_size (int, optional) – Number of points to evaluate at once. Default is
1rec_file (str or
None, optional) – Name of the file in latom.data.metamodels where the meta model is stored orNoneif a new model has to be built. Default isNone
- Variables
mm (MetaModelStructuredComp) – OpenMDAO MetaModelStructuredComp object
p (Problem) – OpenMDAO Problem object
twr (ndarray) – List of thrust/weight ratios in the sampling grid [-]
Isp (ndarray) – List of specific impulses in the sampling grid [s]
m_prop (ndarray) – Propellant fraction in all training points [-]
failures (ndarray) – Matrix of boolean to verify all the NLP solutions have properly converged
limits (ndarray) – Sampling grid limits in terms of minimum and maximum Isp and twr
d (dict) – Dictionary that contain all the information to reconstruct a meta model
-
static
abs_path(rec_file)[source]¶ Returns the absolute path of the file where the meta model is stored.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
- Returns
fid – Full path where the meta model is stored
- Return type
str
-
load(rec_file)[source]¶ Loads stored data to instantiate a meta model.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
-
save(rec_file)[source]¶ Saves data corresponding to a meta model instance.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
-
compute_grid(twr_lim, isp_lim, nb_samp)[source]¶ Computes a regular sampling grid in the input space twr, Isp.
- Parameters
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
isp_lim (iterable) – Specific impulse lower and upper limits [s]
nb_samp (iterable) – Number of samples along the twr and Isp axes
-
sampling(body, twr_lim, isp_lim, alt, t_bounds, method, nb_seg, order, solver, nb_samp, snopt_opts=None, u_bound=None, rec_file=None, **kwargs)[source]¶ Compute a new set of training data starting from a given sampling grid.
- Parameters
body (Primary) – Central attracting body
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
isp_lim (iterable) – Specific impulse lower and upper limits [s]
alt (float) – Orbit altitude [m]
t_bounds (iterable) – Time of flight lower and upper bounds expressed as fraction of tof
method (str) – Transcription method used to discretize the continuous time trajectory into a finite set of nodes, allowed
gauss-lobatto,radau-psandrunge-kuttanb_seg (int or iterable) – Number of segments in which each phase is discretized
order (int or iterable) – Transcription order within each phase, must be odd
solver (str) – NLP solver, must be supported by OpenMDAO
nb_samp (iterable) – Number of samples along the twr and Isp axes
snopt_opts (dict or None, optional) – SNOPT optional settings expressed as key-value pairs. Default is None
u_bound (str, optional) – Specify the bounds on the radial velocity along the transfer as
lower,upperorNone. Default isNonerec_file (str, optional) – Name of the file in latom.data.metamodels where the meta model will be stored. Default is
None
-
static
solve(body, sc, alt, t_bounds, method, nb_seg, order, solver, snopt_opts=None, u_bound=None, **kwargs)[source]¶ Solve the NLP for the i-th twr and k-th Isp values.
- Parameters
body (Primary) – Central attracting body
sc (Spacecraft) – Spacecraft object characterized by the i-th twr and k-th Isp values
alt (float) – Orbit altitude [m]
t_bounds (iterable) – Time of flight lower and upper bounds expressed as fraction of tof
method (str) – Transcription method used to discretize the continuous time trajectory into a finite set of nodes, allowed
gauss-lobatto,radau-psandrunge-kuttanb_seg (int or iterable) – Number of segments in which each phase is discretized
order (int or iterable) – Transcription order within each phase, must be odd
solver (str) – NLP solver, must be supported by OpenMDAO
snopt_opts (dict or None, optional) – SNOPT optional settings expressed as key-value pairs. Default is None
u_bound (str, optional) – Specify the bounds on the radial velocity along the transfer as
lower,upperorNone. Default isNone
- Returns
m_prop (float) – Propellant fraction [-]
f (bool) – Failure status
-
plot(nb_lines=50, kind='prop', log_scale=False)[source]¶ Plot the response surface corresponding to the loaded meta model.
- Parameters
nb_lines (int, optional) – Number of contour lines. Default is
50kind (str) –
propto display the propellant fraction m_prop,finalto display the final spacecraft mass 1 - m_proplog_scale (bool, optional) – Set to
Trueif the twr values are in logarithmic scale. Default isFalse
-
class
latom.surrogate.om_metamodels.TwoDimAscConstMetaModel(distributed=False, extrapolate=False, method='scipy_cubic', training_data_gradients=True, vec_size=1, rec_file=None)[source]¶ Bases:
latom.surrogate.om_metamodels.MetaModelTwoDimAscConstMetaModel implements MetaModel for a two-dimensional ascent trajectory at constant thrust.
-
static
solve(body, sc, alt, t_bounds, method, nb_seg, order, solver, snopt_opts=None, u_bound=None, **kwargs)[source]¶ Solve the NLP for the i-th twr and k-th Isp values.
- Parameters
body (Primary) – Central attracting body
sc (Spacecraft) – Spacecraft object characterized by the i-th twr and k-th Isp values
alt (float) – Orbit altitude [m]
t_bounds (iterable) – Time of flight lower and upper bounds expressed as fraction of tof
method (str) – Transcription method used to discretize the continuous time trajectory into a finite set of nodes, allowed
gauss-lobatto,radau-psandrunge-kuttanb_seg (int) – Number of segments in which the phase is discretized
order (int) – Transcription order within the phase, must be odd
solver (str) – NLP solver, must be supported by OpenMDAO
snopt_opts (dict or None, optional) – SNOPT optional settings expressed as key-value pairs. Default is None
u_bound (str, optional) – Specify the bounds on the radial velocity along the transfer as
lower,upperorNone. Default isNone
- Other Parameters
theta (float) – Guessed spawn angle [rad]
tof (float) – Guessed time of flight [s]
- Returns
m_prop (float) – Propellant fraction [-]
f (bool) – Failure status
-
static
abs_path(rec_file)¶ Returns the absolute path of the file where the meta model is stored.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
- Returns
fid – Full path where the meta model is stored
- Return type
str
-
compute_grid(twr_lim, isp_lim, nb_samp)¶ Computes a regular sampling grid in the input space twr, Isp.
- Parameters
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
isp_lim (iterable) – Specific impulse lower and upper limits [s]
nb_samp (iterable) – Number of samples along the twr and Isp axes
-
load(rec_file)¶ Loads stored data to instantiate a meta model.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
-
plot(nb_lines=50, kind='prop', log_scale=False)¶ Plot the response surface corresponding to the loaded meta model.
- Parameters
nb_lines (int, optional) – Number of contour lines. Default is
50kind (str) –
propto display the propellant fraction m_prop,finalto display the final spacecraft mass 1 - m_proplog_scale (bool, optional) – Set to
Trueif the twr values are in logarithmic scale. Default isFalse
-
sampling(body, twr_lim, isp_lim, alt, t_bounds, method, nb_seg, order, solver, nb_samp, snopt_opts=None, u_bound=None, rec_file=None, **kwargs)¶ Compute a new set of training data starting from a given sampling grid.
- Parameters
body (Primary) – Central attracting body
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
isp_lim (iterable) – Specific impulse lower and upper limits [s]
alt (float) – Orbit altitude [m]
t_bounds (iterable) – Time of flight lower and upper bounds expressed as fraction of tof
method (str) – Transcription method used to discretize the continuous time trajectory into a finite set of nodes, allowed
gauss-lobatto,radau-psandrunge-kuttanb_seg (int or iterable) – Number of segments in which each phase is discretized
order (int or iterable) – Transcription order within each phase, must be odd
solver (str) – NLP solver, must be supported by OpenMDAO
nb_samp (iterable) – Number of samples along the twr and Isp axes
snopt_opts (dict or None, optional) – SNOPT optional settings expressed as key-value pairs. Default is None
u_bound (str, optional) – Specify the bounds on the radial velocity along the transfer as
lower,upperorNone. Default isNonerec_file (str, optional) – Name of the file in latom.data.metamodels where the meta model will be stored. Default is
None
-
save(rec_file)¶ Saves data corresponding to a meta model instance.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
-
setup()¶ Setup the OpenMDAO Problem object with known data for twr, Isp and m_prop.
-
static
-
class
latom.surrogate.om_metamodels.TwoDimAscVarMetaModel(distributed=False, extrapolate=False, method='scipy_cubic', training_data_gradients=True, vec_size=1, rec_file=None)[source]¶ Bases:
latom.surrogate.om_metamodels.MetaModelTwoDimAscVarMetaModel implements MetaModel for a two-dimensional ascent trajectory with variable thrust.
-
static
solve(body, sc, alt, t_bounds, method, nb_seg, order, solver, snopt_opts=None, u_bound=None, **kwargs)[source]¶ Solve the NLP for the i-th twr and k-th Isp values.
- Parameters
body (Primary) – Central attracting body
sc (Spacecraft) – Spacecraft object characterized by the i-th twr and k-th Isp values
alt (float) – Orbit altitude [m]
t_bounds (iterable) – Time of flight lower and upper bounds expressed as fraction of tof
method (str) – Transcription method used to discretize the continuous time trajectory into a finite set of nodes, allowed
gauss-lobatto,radau-psandrunge-kuttanb_seg (int) – Number of segments in which the phase is discretized
order (int) – Transcription order within the phase, must be odd
solver (str) – NLP solver, must be supported by OpenMDAO
snopt_opts (dict or None, optional) – SNOPT optional settings expressed as key-value pairs. Default is None
u_bound (str, optional) – Specify the bounds on the radial velocity along the transfer as
lower,upperorNone. Default isNone
- Returns
m_prop (float) – Propellant fraction [-]
f (bool) – Failure status
-
static
abs_path(rec_file)¶ Returns the absolute path of the file where the meta model is stored.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
- Returns
fid – Full path where the meta model is stored
- Return type
str
-
compute_grid(twr_lim, isp_lim, nb_samp)¶ Computes a regular sampling grid in the input space twr, Isp.
- Parameters
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
isp_lim (iterable) – Specific impulse lower and upper limits [s]
nb_samp (iterable) – Number of samples along the twr and Isp axes
-
load(rec_file)¶ Loads stored data to instantiate a meta model.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
-
plot(nb_lines=50, kind='prop', log_scale=False)¶ Plot the response surface corresponding to the loaded meta model.
- Parameters
nb_lines (int, optional) – Number of contour lines. Default is
50kind (str) –
propto display the propellant fraction m_prop,finalto display the final spacecraft mass 1 - m_proplog_scale (bool, optional) – Set to
Trueif the twr values are in logarithmic scale. Default isFalse
-
sampling(body, twr_lim, isp_lim, alt, t_bounds, method, nb_seg, order, solver, nb_samp, snopt_opts=None, u_bound=None, rec_file=None, **kwargs)¶ Compute a new set of training data starting from a given sampling grid.
- Parameters
body (Primary) – Central attracting body
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
isp_lim (iterable) – Specific impulse lower and upper limits [s]
alt (float) – Orbit altitude [m]
t_bounds (iterable) – Time of flight lower and upper bounds expressed as fraction of tof
method (str) – Transcription method used to discretize the continuous time trajectory into a finite set of nodes, allowed
gauss-lobatto,radau-psandrunge-kuttanb_seg (int or iterable) – Number of segments in which each phase is discretized
order (int or iterable) – Transcription order within each phase, must be odd
solver (str) – NLP solver, must be supported by OpenMDAO
nb_samp (iterable) – Number of samples along the twr and Isp axes
snopt_opts (dict or None, optional) – SNOPT optional settings expressed as key-value pairs. Default is None
u_bound (str, optional) – Specify the bounds on the radial velocity along the transfer as
lower,upperorNone. Default isNonerec_file (str, optional) – Name of the file in latom.data.metamodels where the meta model will be stored. Default is
None
-
save(rec_file)¶ Saves data corresponding to a meta model instance.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
-
setup()¶ Setup the OpenMDAO Problem object with known data for twr, Isp and m_prop.
-
static
-
class
latom.surrogate.om_metamodels.TwoDimAscVToffMetaModel(distributed=False, extrapolate=False, method='scipy_cubic', training_data_gradients=True, vec_size=1, rec_file=None)[source]¶ Bases:
latom.surrogate.om_metamodels.MetaModelTwoDimAscVToffMetaModel implements MetaModel for a two-dimensional ascent trajectory with variable thrust and constrained minimum safe altitude.
-
static
solve(body, sc, alt, t_bounds, method, nb_seg, order, solver, snopt_opts=None, u_bound=None, **kwargs)[source]¶ Solve the NLP for the i-th twr and k-th Isp values.
- Parameters
body (Primary) – Central attracting body
sc (Spacecraft) – Spacecraft object characterized by the i-th twr and k-th Isp values
alt (float) – Orbit altitude [m]
t_bounds (iterable) – Time of flight lower and upper bounds expressed as fraction of tof
method (str) – Transcription method used to discretize the continuous time trajectory into a finite set of nodes, allowed
gauss-lobatto,radau-psandrunge-kuttanb_seg (int) – Number of segments in which the phase is discretized
order (int) – Transcription order within the phase, must be odd
solver (str) – NLP solver, must be supported by OpenMDAO
snopt_opts (dict or None, optional) – SNOPT optional settings expressed as key-value pairs. Default is None
u_bound (str, optional) – Specify the bounds on the radial velocity along the transfer as
lower,upperorNone. Default isNone
- Other Parameters
alt_safe (float) – Asymptotic minimum safe altitude [m]
slope (float) – Minimum safe altitude slope close to the launch site [-]
- Returns
m_prop (float) – Propellant fraction [-]
f (bool) – Failure status
-
static
abs_path(rec_file)¶ Returns the absolute path of the file where the meta model is stored.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
- Returns
fid – Full path where the meta model is stored
- Return type
str
-
compute_grid(twr_lim, isp_lim, nb_samp)¶ Computes a regular sampling grid in the input space twr, Isp.
- Parameters
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
isp_lim (iterable) – Specific impulse lower and upper limits [s]
nb_samp (iterable) – Number of samples along the twr and Isp axes
-
load(rec_file)¶ Loads stored data to instantiate a meta model.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
-
plot(nb_lines=50, kind='prop', log_scale=False)¶ Plot the response surface corresponding to the loaded meta model.
- Parameters
nb_lines (int, optional) – Number of contour lines. Default is
50kind (str) –
propto display the propellant fraction m_prop,finalto display the final spacecraft mass 1 - m_proplog_scale (bool, optional) – Set to
Trueif the twr values are in logarithmic scale. Default isFalse
-
sampling(body, twr_lim, isp_lim, alt, t_bounds, method, nb_seg, order, solver, nb_samp, snopt_opts=None, u_bound=None, rec_file=None, **kwargs)¶ Compute a new set of training data starting from a given sampling grid.
- Parameters
body (Primary) – Central attracting body
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
isp_lim (iterable) – Specific impulse lower and upper limits [s]
alt (float) – Orbit altitude [m]
t_bounds (iterable) – Time of flight lower and upper bounds expressed as fraction of tof
method (str) – Transcription method used to discretize the continuous time trajectory into a finite set of nodes, allowed
gauss-lobatto,radau-psandrunge-kuttanb_seg (int or iterable) – Number of segments in which each phase is discretized
order (int or iterable) – Transcription order within each phase, must be odd
solver (str) – NLP solver, must be supported by OpenMDAO
nb_samp (iterable) – Number of samples along the twr and Isp axes
snopt_opts (dict or None, optional) – SNOPT optional settings expressed as key-value pairs. Default is None
u_bound (str, optional) – Specify the bounds on the radial velocity along the transfer as
lower,upperorNone. Default isNonerec_file (str, optional) – Name of the file in latom.data.metamodels where the meta model will be stored. Default is
None
-
save(rec_file)¶ Saves data corresponding to a meta model instance.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
-
setup()¶ Setup the OpenMDAO Problem object with known data for twr, Isp and m_prop.
-
static
-
class
latom.surrogate.om_metamodels.TwoDimDescConstMetaModel(distributed=False, extrapolate=False, method='scipy_cubic', training_data_gradients=True, vec_size=1, rec_file=None)[source]¶ Bases:
latom.surrogate.om_metamodels.MetaModelTwoDimDescConstMetaModel implements MetaModel for a two-dimensional descent trajectory at constant thrust.
-
static
solve(body, sc, alt, t_bounds, method, nb_seg, order, solver, snopt_opts=None, u_bound=None, **kwargs)[source]¶ Solve the NLP for the i-th twr and k-th Isp values.
- Parameters
body (Primary) – Central attracting body
sc (Spacecraft) – Spacecraft object characterized by the i-th twr and k-th Isp values
alt (float) – Orbit altitude [m]
t_bounds (iterable) – Time of flight lower and upper bounds expressed as fraction of tof
method (str) – Transcription method used to discretize the continuous time trajectory into a finite set of nodes, allowed
gauss-lobatto,radau-psandrunge-kuttanb_seg (int) – Number of segments in which the phase is discretized
order (int) – Transcription order within the phase, must be odd
solver (str) – NLP solver, must be supported by OpenMDAO
snopt_opts (dict or None, optional) – SNOPT optional settings expressed as key-value pairs. Default is None
u_bound (str, optional) – Specify the bounds on the radial velocity along the transfer as
lower,upperorNone. Default isNone
- Other Parameters
alt_p (float) – Periapsis altitude where the final powered descent is initiated [m]
theta (float) – Guessed spawn angle [rad]
tof (float) – Guessed time of flight [s]
- Returns
m_prop (float) – Propellant fraction [-]
f (bool) – Failure status
-
static
abs_path(rec_file)¶ Returns the absolute path of the file where the meta model is stored.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
- Returns
fid – Full path where the meta model is stored
- Return type
str
-
compute_grid(twr_lim, isp_lim, nb_samp)¶ Computes a regular sampling grid in the input space twr, Isp.
- Parameters
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
isp_lim (iterable) – Specific impulse lower and upper limits [s]
nb_samp (iterable) – Number of samples along the twr and Isp axes
-
load(rec_file)¶ Loads stored data to instantiate a meta model.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
-
plot(nb_lines=50, kind='prop', log_scale=False)¶ Plot the response surface corresponding to the loaded meta model.
- Parameters
nb_lines (int, optional) – Number of contour lines. Default is
50kind (str) –
propto display the propellant fraction m_prop,finalto display the final spacecraft mass 1 - m_proplog_scale (bool, optional) – Set to
Trueif the twr values are in logarithmic scale. Default isFalse
-
sampling(body, twr_lim, isp_lim, alt, t_bounds, method, nb_seg, order, solver, nb_samp, snopt_opts=None, u_bound=None, rec_file=None, **kwargs)¶ Compute a new set of training data starting from a given sampling grid.
- Parameters
body (Primary) – Central attracting body
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
isp_lim (iterable) – Specific impulse lower and upper limits [s]
alt (float) – Orbit altitude [m]
t_bounds (iterable) – Time of flight lower and upper bounds expressed as fraction of tof
method (str) – Transcription method used to discretize the continuous time trajectory into a finite set of nodes, allowed
gauss-lobatto,radau-psandrunge-kuttanb_seg (int or iterable) – Number of segments in which each phase is discretized
order (int or iterable) – Transcription order within each phase, must be odd
solver (str) – NLP solver, must be supported by OpenMDAO
nb_samp (iterable) – Number of samples along the twr and Isp axes
snopt_opts (dict or None, optional) – SNOPT optional settings expressed as key-value pairs. Default is None
u_bound (str, optional) – Specify the bounds on the radial velocity along the transfer as
lower,upperorNone. Default isNonerec_file (str, optional) – Name of the file in latom.data.metamodels where the meta model will be stored. Default is
None
-
save(rec_file)¶ Saves data corresponding to a meta model instance.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
-
setup()¶ Setup the OpenMDAO Problem object with known data for twr, Isp and m_prop.
-
static
-
class
latom.surrogate.om_metamodels.TwoDimDescVarMetaModel(distributed=False, extrapolate=False, method='scipy_cubic', training_data_gradients=True, vec_size=1, rec_file=None)[source]¶ Bases:
latom.surrogate.om_metamodels.MetaModelTwoDimDescVarMetaModel implements MetaModel for a two-dimensional descent trajectory with variable thrust.
-
static
solve(body, sc, alt, t_bounds, method, nb_seg, order, solver, snopt_opts=None, u_bound=None, **kwargs)[source]¶ Solve the NLP for the i-th twr and k-th Isp values.
- Parameters
body (Primary) – Central attracting body
sc (Spacecraft) – Spacecraft object characterized by the i-th twr and k-th Isp values
alt (float) – Orbit altitude [m]
t_bounds (iterable) – Time of flight lower and upper bounds expressed as fraction of tof
method (str) – Transcription method used to discretize the continuous time trajectory into a finite set of nodes, allowed
gauss-lobatto,radau-psandrunge-kuttanb_seg (int) – Number of segments in which the phase is discretized
order (int) – Transcription order within the phase, must be odd
solver (str) – NLP solver, must be supported by OpenMDAO
snopt_opts (dict or None, optional) – SNOPT optional settings expressed as key-value pairs. Default is None
u_bound (str, optional) – Specify the bounds on the radial velocity along the transfer as
lower,upperorNone. Default isNone
- Returns
m_prop (float) – Propellant fraction [-]
f (bool) – Failure status
-
static
abs_path(rec_file)¶ Returns the absolute path of the file where the meta model is stored.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
- Returns
fid – Full path where the meta model is stored
- Return type
str
-
compute_grid(twr_lim, isp_lim, nb_samp)¶ Computes a regular sampling grid in the input space twr, Isp.
- Parameters
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
isp_lim (iterable) – Specific impulse lower and upper limits [s]
nb_samp (iterable) – Number of samples along the twr and Isp axes
-
load(rec_file)¶ Loads stored data to instantiate a meta model.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
-
plot(nb_lines=50, kind='prop', log_scale=False)¶ Plot the response surface corresponding to the loaded meta model.
- Parameters
nb_lines (int, optional) – Number of contour lines. Default is
50kind (str) –
propto display the propellant fraction m_prop,finalto display the final spacecraft mass 1 - m_proplog_scale (bool, optional) – Set to
Trueif the twr values are in logarithmic scale. Default isFalse
-
sampling(body, twr_lim, isp_lim, alt, t_bounds, method, nb_seg, order, solver, nb_samp, snopt_opts=None, u_bound=None, rec_file=None, **kwargs)¶ Compute a new set of training data starting from a given sampling grid.
- Parameters
body (Primary) – Central attracting body
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
isp_lim (iterable) – Specific impulse lower and upper limits [s]
alt (float) – Orbit altitude [m]
t_bounds (iterable) – Time of flight lower and upper bounds expressed as fraction of tof
method (str) – Transcription method used to discretize the continuous time trajectory into a finite set of nodes, allowed
gauss-lobatto,radau-psandrunge-kuttanb_seg (int or iterable) – Number of segments in which each phase is discretized
order (int or iterable) – Transcription order within each phase, must be odd
solver (str) – NLP solver, must be supported by OpenMDAO
nb_samp (iterable) – Number of samples along the twr and Isp axes
snopt_opts (dict or None, optional) – SNOPT optional settings expressed as key-value pairs. Default is None
u_bound (str, optional) – Specify the bounds on the radial velocity along the transfer as
lower,upperorNone. Default isNonerec_file (str, optional) – Name of the file in latom.data.metamodels where the meta model will be stored. Default is
None
-
save(rec_file)¶ Saves data corresponding to a meta model instance.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
-
setup()¶ Setup the OpenMDAO Problem object with known data for twr, Isp and m_prop.
-
static
-
class
latom.surrogate.om_metamodels.TwoDimDescVLandMetaModel(distributed=False, extrapolate=False, method='scipy_cubic', training_data_gradients=True, vec_size=1, rec_file=None)[source]¶ Bases:
latom.surrogate.om_metamodels.MetaModelTwoDimDescVLandMetaModel implements MetaModel for a two-dimensional descent trajectory with variable thrust and constrained minimum safe altitude.
-
static
solve(body, sc, alt, t_bounds, method, nb_seg, order, solver, snopt_opts=None, u_bound=None, **kwargs)[source]¶ Solve the NLP for the i-th twr and k-th Isp values.
- Parameters
body (Primary) – Central attracting body
sc (Spacecraft) – Spacecraft object characterized by the i-th twr and k-th Isp values
alt (float) – Orbit altitude [m]
t_bounds (iterable) – Time of flight lower and upper bounds expressed as fraction of tof
method (str) – Transcription method used to discretize the continuous time trajectory into a finite set of nodes, allowed
gauss-lobatto,radau-psandrunge-kuttanb_seg (int) – Number of segments in which the phase is discretized
order (int) – Transcription order within the phase, must be odd
solver (str) – NLP solver, must be supported by OpenMDAO
snopt_opts (dict or None, optional) – SNOPT optional settings expressed as key-value pairs. Default is None
u_bound (str, optional) – Specify the bounds on the radial velocity along the transfer as
lower,upperorNone. Default isNone
- Other Parameters
alt_safe (float) – Asymptotic minimum safe altitude [m]
slope (float) – Minimum safe altitude slope close to the launch site [-]
- Returns
m_prop (float) – Propellant fraction [-]
f (bool) – Failure status
-
static
abs_path(rec_file)¶ Returns the absolute path of the file where the meta model is stored.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
- Returns
fid – Full path where the meta model is stored
- Return type
str
-
compute_grid(twr_lim, isp_lim, nb_samp)¶ Computes a regular sampling grid in the input space twr, Isp.
- Parameters
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
isp_lim (iterable) – Specific impulse lower and upper limits [s]
nb_samp (iterable) – Number of samples along the twr and Isp axes
-
load(rec_file)¶ Loads stored data to instantiate a meta model.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
-
plot(nb_lines=50, kind='prop', log_scale=False)¶ Plot the response surface corresponding to the loaded meta model.
- Parameters
nb_lines (int, optional) – Number of contour lines. Default is
50kind (str) –
propto display the propellant fraction m_prop,finalto display the final spacecraft mass 1 - m_proplog_scale (bool, optional) – Set to
Trueif the twr values are in logarithmic scale. Default isFalse
-
sampling(body, twr_lim, isp_lim, alt, t_bounds, method, nb_seg, order, solver, nb_samp, snopt_opts=None, u_bound=None, rec_file=None, **kwargs)¶ Compute a new set of training data starting from a given sampling grid.
- Parameters
body (Primary) – Central attracting body
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
isp_lim (iterable) – Specific impulse lower and upper limits [s]
alt (float) – Orbit altitude [m]
t_bounds (iterable) – Time of flight lower and upper bounds expressed as fraction of tof
method (str) – Transcription method used to discretize the continuous time trajectory into a finite set of nodes, allowed
gauss-lobatto,radau-psandrunge-kuttanb_seg (int or iterable) – Number of segments in which each phase is discretized
order (int or iterable) – Transcription order within each phase, must be odd
solver (str) – NLP solver, must be supported by OpenMDAO
nb_samp (iterable) – Number of samples along the twr and Isp axes
snopt_opts (dict or None, optional) – SNOPT optional settings expressed as key-value pairs. Default is None
u_bound (str, optional) – Specify the bounds on the radial velocity along the transfer as
lower,upperorNone. Default isNonerec_file (str, optional) – Name of the file in latom.data.metamodels where the meta model will be stored. Default is
None
-
save(rec_file)¶ Saves data corresponding to a meta model instance.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
-
setup()¶ Setup the OpenMDAO Problem object with known data for twr, Isp and m_prop.
-
static
-
class
latom.surrogate.om_metamodels.TwoDimDescTwoPhasesMetaModel(distributed=False, extrapolate=False, method='scipy_cubic', training_data_gradients=True, vec_size=1, rec_file=None)[source]¶ Bases:
latom.surrogate.om_metamodels.MetaModel-
static
solve(body, sc, alt, t_bounds, method, nb_seg, order, solver, snopt_opts=None, u_bound=None, **kwargs)[source]¶ Solve the NLP for the i-th twr and k-th Isp values.
- Parameters
body (Primary) – Central attracting body
sc (Spacecraft) – Spacecraft object characterized by the i-th twr and k-th Isp values
alt (float) – Orbit altitude [m]
t_bounds (iterable) – Time of flight lower and upper bounds expressed as fraction of tof
method (str) – Transcription method used to discretize the continuous time trajectory into a finite set of nodes, allowed
gauss-lobatto,radau-psandrunge-kuttanb_seg (int) – Number of segments in which the phase is discretized
order (int) – Transcription order within the phase, must be odd
solver (str) – NLP solver, must be supported by OpenMDAO
snopt_opts (dict or None, optional) – SNOPT optional settings expressed as key-value pairs. Default is None
u_bound (str, optional) – Specify the bounds on the radial velocity along the transfer as
lower,upperorNone. Default isNone
- Other Parameters
alt_p (float) – Periapsis altitude where the powered descent is initiated [m]
alt_switch (float) – Altitude at which the final vertical descent is triggered [m]
theta (float) – Guessed spawn angle [rad]
tof (float) – Guessed time of flight [s]
fix (str) –
altif the vertical phase is triggered at a fixed altitude,timefor a fixed time-to-go
- Returns
m_prop (float) – Propellant fraction [-]
f (bool) – Failure status
-
static
abs_path(rec_file)¶ Returns the absolute path of the file where the meta model is stored.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
- Returns
fid – Full path where the meta model is stored
- Return type
str
-
compute_grid(twr_lim, isp_lim, nb_samp)¶ Computes a regular sampling grid in the input space twr, Isp.
- Parameters
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
isp_lim (iterable) – Specific impulse lower and upper limits [s]
nb_samp (iterable) – Number of samples along the twr and Isp axes
-
load(rec_file)¶ Loads stored data to instantiate a meta model.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
-
plot(nb_lines=50, kind='prop', log_scale=False)¶ Plot the response surface corresponding to the loaded meta model.
- Parameters
nb_lines (int, optional) – Number of contour lines. Default is
50kind (str) –
propto display the propellant fraction m_prop,finalto display the final spacecraft mass 1 - m_proplog_scale (bool, optional) – Set to
Trueif the twr values are in logarithmic scale. Default isFalse
-
sampling(body, twr_lim, isp_lim, alt, t_bounds, method, nb_seg, order, solver, nb_samp, snopt_opts=None, u_bound=None, rec_file=None, **kwargs)¶ Compute a new set of training data starting from a given sampling grid.
- Parameters
body (Primary) – Central attracting body
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
isp_lim (iterable) – Specific impulse lower and upper limits [s]
alt (float) – Orbit altitude [m]
t_bounds (iterable) – Time of flight lower and upper bounds expressed as fraction of tof
method (str) – Transcription method used to discretize the continuous time trajectory into a finite set of nodes, allowed
gauss-lobatto,radau-psandrunge-kuttanb_seg (int or iterable) – Number of segments in which each phase is discretized
order (int or iterable) – Transcription order within each phase, must be odd
solver (str) – NLP solver, must be supported by OpenMDAO
nb_samp (iterable) – Number of samples along the twr and Isp axes
snopt_opts (dict or None, optional) – SNOPT optional settings expressed as key-value pairs. Default is None
u_bound (str, optional) – Specify the bounds on the radial velocity along the transfer as
lower,upperorNone. Default isNonerec_file (str, optional) – Name of the file in latom.data.metamodels where the meta model will be stored. Default is
None
-
save(rec_file)¶ Saves data corresponding to a meta model instance.
- Parameters
rec_file (str) – Name of the file in latom.data.metamodels where the meta model is stored
-
setup()¶ Setup the OpenMDAO Problem object with known data for twr, Isp and m_prop.
-
static