latom.surrogate.smt_surrogates¶
@authors: Alberto FOSSA’ Giuliana Elena MICELI
Functions
|
Deep copy operation on arbitrary Python objects. |
|
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. |
|
Inverse distance weighting interpolant This model uses the inverse distance between the unknown and training points to predeict the unknown point. |
|
ImpulsiveBurn class describes an impulsive burn. |
|
|
|
|
|
|
|
|
|
Least square model. |
|
Square polynomial approach |
|
Radial basis function interpolant with global polynomial trend. |
|
Regularized Minimal-energy Tensor-product B-spline (RMTB) interpolant. |
|
Regularized Minimal-energy Tensor-product Cubic hermite spline (RMTC) interpolant. |
|
Plots the response surface resulting from the surrogate models computations. |
|
Spacecraft class defines the spacecraft characteristics. |
|
SurrogateModel class sets up a surrogate model object defined in the Surrogate Modelling Toolbox (SMT) 2 package to compute and exploit data for different transfer trajectories. |
|
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. |
|
TwoDimAscConstSurrogate implements SurrogateModel for a two-dimensional ascent trajectory at constant thrust. |
|
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. |
|
TwoDimAscVToffSurrogate implements SurrogateModel for a two-dimensional ascent trajectory with variable thrust and minimum safe altitude. |
|
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. |
|
TwoDimAscVarSurrogate implements SurrogateModel for a two-dimensional ascent trajectory with variable 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. |
|
TwoDimDescConstSurrogate implements SurrogateModel for a two-dimensional descent trajectory at constant thrust. |
|
TwoDimDescTwoPhasesNLP transcribes a continuous-time optimal control problem for a two-dimensional descent trajectory into a Non Linear Programming Problem (NLP) using the OpenMDAO and dymos libraries. |
|
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. |
|
TwoDimDescVLandSurrogate implements SurrogateModel for a two-dimensional descent trajectory with variable thrust and constrained minimum altitude. |
|
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. |
|
TwoDimDescVarSurrogate implements SurrogateModel for a two-dimensional descent trajectory with variable thrust. |
|
TwoDimDescVertSurrogate implements SurrogateModel for a two-dimensional descent trajectory at constant thrust with final vertical descent phase. |
|
Defines a two-dimensional orbit from its keplerian parameters. |
-
class
latom.surrogate.smt_surrogates.SurrogateModel(train_method, rec_file=None)[source]¶ Bases:
objectSurrogateModel class sets up a surrogate model object defined in the Surrogate Modelling Toolbox (SMT) 2 package to compute and exploit data 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
train_method (str) – Training method among
IDW,KPLS,KPLSK,KRG,LS,QP,RBF,RMTB,RMTCrec_file (str or
None, optional) – Name of the file in latom.data.smt where the surrogate model is stored orNoneif a new model has to be built. Default isNone
- Variables
limits (ndarray) – Sampling grid limits in terms of minimum and maximum Isp and twr
x_samp (ndarray) – Sampling points as Isp, twr tuples
m_prop (ndarray) – Propellant fraction on training points [-]
failures (ndarray) – Matrix of boolean to verify each NLP solution has converged
d (dict) – Dictionary that contain all the information to reconstruct a meta model
trained (IDW, KPLS, KPLSK, KRG, LS, QP, RBF, RMTB or RMTC) – Surrogate model object defined by SMT
References
- 2(1,2)
M. A. Bouhlel and J. T. Hwang and N. Bartoli and R. Lafage and J. Morlier and J. R. R. A. Martins. A Python surrogate modeling framework with derivatives. Advances in Engineering Software, 2019.
-
static
abs_path(rec_file)[source]¶ Returns the absolute path of the file where the surrogate model is stored.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
- Returns
fid – Full path where the surrogate model is stored
- Return type
str
-
load(rec_file)[source]¶ Loads stored data to instantiate a surrogate model.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
-
save(rec_file)[source]¶ Saves data corresponding to a surrogate model instance.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
-
compute_grid(isp_lim, twr_lim, nb_samp, samp_method='full', criterion='m')[source]¶ Compute the sampling grid fro given Isp and twr limits and sampling scheme.
- Parameters
isp_lim (iterable) – Specific impulse lower and upper bounds [s]
twr_lim (iterable) – Thrust/weight ratio lower and upper bounds [-]
nb_samp (int) – Total number of samples. Must be a perfect square if
fullis chosen as samp_methodsamp_method (str, optional) – Sampling scheme,
lhsfor Latin Hypercube Sampling orfullfor Full-Factorial Sampling. Default isfullcriterion (str, optional) – Criterion used to construct the LHS design among
center,maximin,centermaximin,correlation,c,m,cm,corr,ese.c,m,cmandcorrare abbreviations ofcenter,maximin,centermaximinandcorrelation,respectivelyDefault ism
-
static
solve(nlp, i)[source]¶ Solve the i-th NLP problem.
- Parameters
nlp (NLP) – NLP object
i (int) – Current iteration
- Returns
m_prop (float) – Propellant fraction [-]
f (bool) – Failure status
-
train(train_method, **kwargs)[source]¶ Trains the surrogate model with given training data.
- Parameters
train_method (str) – Training method among
IDW,KPLS,KPLSK,KRG,LS,QP,RBF,RMTB,RMTCkwargs (dict) – Additional keyword arguments supported by SMT objects
-
evaluate(isp, twr)[source]¶ Evaluate the surrogate model in the given set of points.
- Parameters
isp (float or iterable) – Specific impulse on evaluation points [s]
twr (float or iterable) – Thrust/weight ratio on evaluation points [-]
- Returns
m_eval – Propellant fraction on evaluation points [-]
- Return type
float or iterable
-
compute_matrix(nb_eval=None)[source]¶ Compute structured matrices for Isp, twr and m_prop to display the training data on a response surface.
- Parameters
nb_eval (int or
None) – Number of points included in the matrix if Latin Hypercube Sampling has been used orNone. Default isNone- Returns
isp (ndarray) – Matrix of specific impulses [s]
twr (ndarray) – Matrix of thrust/weight ratios [-]
m_mat (ndarray) – Matrix of propellant fractions [-]
-
plot(nb_eval=None, nb_lines=50, kind='prop')[source]¶ Plot the response surface corresponding to the loaded surrogate model.
- Parameters
nb_eval (int or
None) – Number of points included in the matrix if Latin Hypercube Sampling has been used orNone. Default isNonenb_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_prop
-
class
latom.surrogate.smt_surrogates.TwoDimAscConstSurrogate(train_method, rec_file=None)[source]¶ Bases:
latom.surrogate.smt_surrogates.SurrogateModelTwoDimAscConstSurrogate implements SurrogateModel for a two-dimensional ascent trajectory at constant thrust.
-
sampling(body, isp_lim, twr_lim, alt, theta, tof, t_bounds, method, nb_seg, order, solver, nb_samp, samp_method='lhs', criterion='m', snopt_opts=None, u_bound='lower')[source]¶ Compute a new set of training data starting from a given sampling grid.
- Parameters
body (Primary) – Central attracting body
isp_lim (iterable) – Specific impulse lower and upper limits [s]
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
alt (float) – Orbit altitude [m]
theta (float) – Guessed spawn angle [rad]
tof (float) – Guessed time of flight [s]
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) – Total number of sampling points
samp_method (str, optional) – Sampling scheme,
lhsfor Latin Hypercube Sampling orfullfor Full-Factorial Sampling. Default islhscriterion (str, optional) – Criterion used to construct the LHS design among
center,maximin,centermaximin,correlation,c,m,cm,corr,ese.c,m,cmandcorrare abbreviations ofcenter,maximin,centermaximinandcorrelation,respectively. Default ismsnopt_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 islower
-
static
abs_path(rec_file)¶ Returns the absolute path of the file where the surrogate model is stored.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
- Returns
fid – Full path where the surrogate model is stored
- Return type
str
-
compute_grid(isp_lim, twr_lim, nb_samp, samp_method='full', criterion='m')¶ Compute the sampling grid fro given Isp and twr limits and sampling scheme.
- Parameters
isp_lim (iterable) – Specific impulse lower and upper bounds [s]
twr_lim (iterable) – Thrust/weight ratio lower and upper bounds [-]
nb_samp (int) – Total number of samples. Must be a perfect square if
fullis chosen as samp_methodsamp_method (str, optional) – Sampling scheme,
lhsfor Latin Hypercube Sampling orfullfor Full-Factorial Sampling. Default isfullcriterion (str, optional) – Criterion used to construct the LHS design among
center,maximin,centermaximin,correlation,c,m,cm,corr,ese.c,m,cmandcorrare abbreviations ofcenter,maximin,centermaximinandcorrelation,respectivelyDefault ism
-
compute_matrix(nb_eval=None)¶ Compute structured matrices for Isp, twr and m_prop to display the training data on a response surface.
- Parameters
nb_eval (int or
None) – Number of points included in the matrix if Latin Hypercube Sampling has been used orNone. Default isNone- Returns
isp (ndarray) – Matrix of specific impulses [s]
twr (ndarray) – Matrix of thrust/weight ratios [-]
m_mat (ndarray) – Matrix of propellant fractions [-]
-
evaluate(isp, twr)¶ Evaluate the surrogate model in the given set of points.
- Parameters
isp (float or iterable) – Specific impulse on evaluation points [s]
twr (float or iterable) – Thrust/weight ratio on evaluation points [-]
- Returns
m_eval – Propellant fraction on evaluation points [-]
- Return type
float or iterable
-
load(rec_file)¶ Loads stored data to instantiate a surrogate model.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
-
plot(nb_eval=None, nb_lines=50, kind='prop')¶ Plot the response surface corresponding to the loaded surrogate model.
- Parameters
nb_eval (int or
None) – Number of points included in the matrix if Latin Hypercube Sampling has been used orNone. Default isNonenb_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_prop
-
save(rec_file)¶ Saves data corresponding to a surrogate model instance.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
-
static
solve(nlp, i)¶ Solve the i-th NLP problem.
- Parameters
nlp (NLP) – NLP object
i (int) – Current iteration
- Returns
m_prop (float) – Propellant fraction [-]
f (bool) – Failure status
-
train(train_method, **kwargs)¶ Trains the surrogate model with given training data.
- Parameters
train_method (str) – Training method among
IDW,KPLS,KPLSK,KRG,LS,QP,RBF,RMTB,RMTCkwargs (dict) – Additional keyword arguments supported by SMT objects
-
-
class
latom.surrogate.smt_surrogates.TwoDimAscVarSurrogate(train_method, rec_file=None)[source]¶ Bases:
latom.surrogate.smt_surrogates.SurrogateModelTwoDimAscVarSurrogate implements SurrogateModel for a two-dimensional ascent trajectory with variable thrust.
-
sampling(body, isp_lim, twr_lim, alt, t_bounds, method, nb_seg, order, solver, nb_samp, samp_method='lhs', criterion='m', snopt_opts=None, u_bound='lower')[source]¶ Compute a new set of training data starting from a given sampling grid.
- Parameters
body (Primary) – Central attracting body
isp_lim (iterable) – Specific impulse lower and upper limits [s]
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
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) – Total number of sampling points
samp_method (str, optional) – Sampling scheme,
lhsfor Latin Hypercube Sampling orfullfor Full-Factorial Sampling. Default islhscriterion (str, optional) – Criterion used to construct the LHS design among
center,maximin,centermaximin,correlation,c,m,cm,corr,ese.c,m,cmandcorrare abbreviations ofcenter,maximin,centermaximinandcorrelation,respectively. Default ismsnopt_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 islower
-
static
abs_path(rec_file)¶ Returns the absolute path of the file where the surrogate model is stored.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
- Returns
fid – Full path where the surrogate model is stored
- Return type
str
-
compute_grid(isp_lim, twr_lim, nb_samp, samp_method='full', criterion='m')¶ Compute the sampling grid fro given Isp and twr limits and sampling scheme.
- Parameters
isp_lim (iterable) – Specific impulse lower and upper bounds [s]
twr_lim (iterable) – Thrust/weight ratio lower and upper bounds [-]
nb_samp (int) – Total number of samples. Must be a perfect square if
fullis chosen as samp_methodsamp_method (str, optional) – Sampling scheme,
lhsfor Latin Hypercube Sampling orfullfor Full-Factorial Sampling. Default isfullcriterion (str, optional) – Criterion used to construct the LHS design among
center,maximin,centermaximin,correlation,c,m,cm,corr,ese.c,m,cmandcorrare abbreviations ofcenter,maximin,centermaximinandcorrelation,respectivelyDefault ism
-
compute_matrix(nb_eval=None)¶ Compute structured matrices for Isp, twr and m_prop to display the training data on a response surface.
- Parameters
nb_eval (int or
None) – Number of points included in the matrix if Latin Hypercube Sampling has been used orNone. Default isNone- Returns
isp (ndarray) – Matrix of specific impulses [s]
twr (ndarray) – Matrix of thrust/weight ratios [-]
m_mat (ndarray) – Matrix of propellant fractions [-]
-
evaluate(isp, twr)¶ Evaluate the surrogate model in the given set of points.
- Parameters
isp (float or iterable) – Specific impulse on evaluation points [s]
twr (float or iterable) – Thrust/weight ratio on evaluation points [-]
- Returns
m_eval – Propellant fraction on evaluation points [-]
- Return type
float or iterable
-
load(rec_file)¶ Loads stored data to instantiate a surrogate model.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
-
plot(nb_eval=None, nb_lines=50, kind='prop')¶ Plot the response surface corresponding to the loaded surrogate model.
- Parameters
nb_eval (int or
None) – Number of points included in the matrix if Latin Hypercube Sampling has been used orNone. Default isNonenb_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_prop
-
save(rec_file)¶ Saves data corresponding to a surrogate model instance.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
-
static
solve(nlp, i)¶ Solve the i-th NLP problem.
- Parameters
nlp (NLP) – NLP object
i (int) – Current iteration
- Returns
m_prop (float) – Propellant fraction [-]
f (bool) – Failure status
-
train(train_method, **kwargs)¶ Trains the surrogate model with given training data.
- Parameters
train_method (str) – Training method among
IDW,KPLS,KPLSK,KRG,LS,QP,RBF,RMTB,RMTCkwargs (dict) – Additional keyword arguments supported by SMT objects
-
-
class
latom.surrogate.smt_surrogates.TwoDimAscVToffSurrogate(train_method, rec_file=None)[source]¶ Bases:
latom.surrogate.smt_surrogates.SurrogateModelTwoDimAscVToffSurrogate implements SurrogateModel for a two-dimensional ascent trajectory with variable thrust and minimum safe altitude.
-
sampling(body, isp_lim, twr_lim, alt, alt_safe, slope, t_bounds, method, nb_seg, order, solver, nb_samp, samp_method='lhs', criterion='m', snopt_opts=None, u_bound='lower')[source]¶ Compute a new set of training data starting from a given sampling grid.
- Parameters
body (Primary) – Central attracting body
isp_lim (iterable) – Specific impulse lower and upper limits [s]
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
alt (float) – Orbit altitude [m]
alt_safe (float) – Asymptotic minimum safe altitude [m]
slope (float) – Minimum safe altitude slope close to the launch site [-]
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) – Total number of sampling points
samp_method (str, optional) – Sampling scheme,
lhsfor Latin Hypercube Sampling orfullfor Full-Factorial Sampling. Default islhscriterion (str, optional) – Criterion used to construct the LHS design among
center,maximin,centermaximin,correlation,c,m,cm,corr,ese.c,m,cmandcorrare abbreviations ofcenter,maximin,centermaximinandcorrelation,respectively. Default ismsnopt_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 islower
-
static
abs_path(rec_file)¶ Returns the absolute path of the file where the surrogate model is stored.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
- Returns
fid – Full path where the surrogate model is stored
- Return type
str
-
compute_grid(isp_lim, twr_lim, nb_samp, samp_method='full', criterion='m')¶ Compute the sampling grid fro given Isp and twr limits and sampling scheme.
- Parameters
isp_lim (iterable) – Specific impulse lower and upper bounds [s]
twr_lim (iterable) – Thrust/weight ratio lower and upper bounds [-]
nb_samp (int) – Total number of samples. Must be a perfect square if
fullis chosen as samp_methodsamp_method (str, optional) – Sampling scheme,
lhsfor Latin Hypercube Sampling orfullfor Full-Factorial Sampling. Default isfullcriterion (str, optional) – Criterion used to construct the LHS design among
center,maximin,centermaximin,correlation,c,m,cm,corr,ese.c,m,cmandcorrare abbreviations ofcenter,maximin,centermaximinandcorrelation,respectivelyDefault ism
-
compute_matrix(nb_eval=None)¶ Compute structured matrices for Isp, twr and m_prop to display the training data on a response surface.
- Parameters
nb_eval (int or
None) – Number of points included in the matrix if Latin Hypercube Sampling has been used orNone. Default isNone- Returns
isp (ndarray) – Matrix of specific impulses [s]
twr (ndarray) – Matrix of thrust/weight ratios [-]
m_mat (ndarray) – Matrix of propellant fractions [-]
-
evaluate(isp, twr)¶ Evaluate the surrogate model in the given set of points.
- Parameters
isp (float or iterable) – Specific impulse on evaluation points [s]
twr (float or iterable) – Thrust/weight ratio on evaluation points [-]
- Returns
m_eval – Propellant fraction on evaluation points [-]
- Return type
float or iterable
-
load(rec_file)¶ Loads stored data to instantiate a surrogate model.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
-
plot(nb_eval=None, nb_lines=50, kind='prop')¶ Plot the response surface corresponding to the loaded surrogate model.
- Parameters
nb_eval (int or
None) – Number of points included in the matrix if Latin Hypercube Sampling has been used orNone. Default isNonenb_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_prop
-
save(rec_file)¶ Saves data corresponding to a surrogate model instance.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
-
static
solve(nlp, i)¶ Solve the i-th NLP problem.
- Parameters
nlp (NLP) – NLP object
i (int) – Current iteration
- Returns
m_prop (float) – Propellant fraction [-]
f (bool) – Failure status
-
train(train_method, **kwargs)¶ Trains the surrogate model with given training data.
- Parameters
train_method (str) – Training method among
IDW,KPLS,KPLSK,KRG,LS,QP,RBF,RMTB,RMTCkwargs (dict) – Additional keyword arguments supported by SMT objects
-
-
class
latom.surrogate.smt_surrogates.TwoDimDescConstSurrogate(train_method, rec_file=None)[source]¶ Bases:
latom.surrogate.smt_surrogates.SurrogateModelTwoDimDescConstSurrogate implements SurrogateModel for a two-dimensional descent trajectory at constant thrust.
-
sampling(body, isp_lim, twr_lim, alt, alt_p, theta, tof, t_bounds, method, nb_seg, order, solver, nb_samp, samp_method='lhs', criterion='m', snopt_opts=None, u_bound='upper')[source]¶ Compute a new set of training data starting from a given sampling grid.
- Parameters
body (Primary) – Central attracting body
isp_lim (iterable) – Specific impulse lower and upper limits [s]
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
alt (float) – Orbit altitude [m]
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]
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) – Total number of sampling points
samp_method (str, optional) – Sampling scheme,
lhsfor Latin Hypercube Sampling orfullfor Full-Factorial Sampling. Default islhscriterion (str, optional) – Criterion used to construct the LHS design among
center,maximin,centermaximin,correlation,c,m,cm,corr,ese.c,m,cmandcorrare abbreviations ofcenter,maximin,centermaximinandcorrelation,respectively. Default ismsnopt_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 isupper
-
static
abs_path(rec_file)¶ Returns the absolute path of the file where the surrogate model is stored.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
- Returns
fid – Full path where the surrogate model is stored
- Return type
str
-
compute_grid(isp_lim, twr_lim, nb_samp, samp_method='full', criterion='m')¶ Compute the sampling grid fro given Isp and twr limits and sampling scheme.
- Parameters
isp_lim (iterable) – Specific impulse lower and upper bounds [s]
twr_lim (iterable) – Thrust/weight ratio lower and upper bounds [-]
nb_samp (int) – Total number of samples. Must be a perfect square if
fullis chosen as samp_methodsamp_method (str, optional) – Sampling scheme,
lhsfor Latin Hypercube Sampling orfullfor Full-Factorial Sampling. Default isfullcriterion (str, optional) – Criterion used to construct the LHS design among
center,maximin,centermaximin,correlation,c,m,cm,corr,ese.c,m,cmandcorrare abbreviations ofcenter,maximin,centermaximinandcorrelation,respectivelyDefault ism
-
compute_matrix(nb_eval=None)¶ Compute structured matrices for Isp, twr and m_prop to display the training data on a response surface.
- Parameters
nb_eval (int or
None) – Number of points included in the matrix if Latin Hypercube Sampling has been used orNone. Default isNone- Returns
isp (ndarray) – Matrix of specific impulses [s]
twr (ndarray) – Matrix of thrust/weight ratios [-]
m_mat (ndarray) – Matrix of propellant fractions [-]
-
evaluate(isp, twr)¶ Evaluate the surrogate model in the given set of points.
- Parameters
isp (float or iterable) – Specific impulse on evaluation points [s]
twr (float or iterable) – Thrust/weight ratio on evaluation points [-]
- Returns
m_eval – Propellant fraction on evaluation points [-]
- Return type
float or iterable
-
load(rec_file)¶ Loads stored data to instantiate a surrogate model.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
-
plot(nb_eval=None, nb_lines=50, kind='prop')¶ Plot the response surface corresponding to the loaded surrogate model.
- Parameters
nb_eval (int or
None) – Number of points included in the matrix if Latin Hypercube Sampling has been used orNone. Default isNonenb_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_prop
-
save(rec_file)¶ Saves data corresponding to a surrogate model instance.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
-
static
solve(nlp, i)¶ Solve the i-th NLP problem.
- Parameters
nlp (NLP) – NLP object
i (int) – Current iteration
- Returns
m_prop (float) – Propellant fraction [-]
f (bool) – Failure status
-
train(train_method, **kwargs)¶ Trains the surrogate model with given training data.
- Parameters
train_method (str) – Training method among
IDW,KPLS,KPLSK,KRG,LS,QP,RBF,RMTB,RMTCkwargs (dict) – Additional keyword arguments supported by SMT objects
-
-
class
latom.surrogate.smt_surrogates.TwoDimDescVarSurrogate(train_method, rec_file=None)[source]¶ Bases:
latom.surrogate.smt_surrogates.SurrogateModelTwoDimDescVarSurrogate implements SurrogateModel for a two-dimensional descent trajectory with variable thrust.
-
sampling(body, isp_lim, twr_lim, alt, t_bounds, method, nb_seg, order, solver, nb_samp, samp_method='lhs', criterion='m', snopt_opts=None, u_bound='upper')[source]¶ Compute a new set of training data starting from a given sampling grid.
- Parameters
body (Primary) – Central attracting body
isp_lim (iterable) – Specific impulse lower and upper limits [s]
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
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) – Total number of sampling points
samp_method (str, optional) – Sampling scheme,
lhsfor Latin Hypercube Sampling orfullfor Full-Factorial Sampling. Default islhscriterion (str, optional) – Criterion used to construct the LHS design among
center,maximin,centermaximin,correlation,c,m,cm,corr,ese.c,m,cmandcorrare abbreviations ofcenter,maximin,centermaximinandcorrelation,respectively. Default ismsnopt_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 isupper
-
static
abs_path(rec_file)¶ Returns the absolute path of the file where the surrogate model is stored.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
- Returns
fid – Full path where the surrogate model is stored
- Return type
str
-
compute_grid(isp_lim, twr_lim, nb_samp, samp_method='full', criterion='m')¶ Compute the sampling grid fro given Isp and twr limits and sampling scheme.
- Parameters
isp_lim (iterable) – Specific impulse lower and upper bounds [s]
twr_lim (iterable) – Thrust/weight ratio lower and upper bounds [-]
nb_samp (int) – Total number of samples. Must be a perfect square if
fullis chosen as samp_methodsamp_method (str, optional) – Sampling scheme,
lhsfor Latin Hypercube Sampling orfullfor Full-Factorial Sampling. Default isfullcriterion (str, optional) – Criterion used to construct the LHS design among
center,maximin,centermaximin,correlation,c,m,cm,corr,ese.c,m,cmandcorrare abbreviations ofcenter,maximin,centermaximinandcorrelation,respectivelyDefault ism
-
compute_matrix(nb_eval=None)¶ Compute structured matrices for Isp, twr and m_prop to display the training data on a response surface.
- Parameters
nb_eval (int or
None) – Number of points included in the matrix if Latin Hypercube Sampling has been used orNone. Default isNone- Returns
isp (ndarray) – Matrix of specific impulses [s]
twr (ndarray) – Matrix of thrust/weight ratios [-]
m_mat (ndarray) – Matrix of propellant fractions [-]
-
evaluate(isp, twr)¶ Evaluate the surrogate model in the given set of points.
- Parameters
isp (float or iterable) – Specific impulse on evaluation points [s]
twr (float or iterable) – Thrust/weight ratio on evaluation points [-]
- Returns
m_eval – Propellant fraction on evaluation points [-]
- Return type
float or iterable
-
load(rec_file)¶ Loads stored data to instantiate a surrogate model.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
-
plot(nb_eval=None, nb_lines=50, kind='prop')¶ Plot the response surface corresponding to the loaded surrogate model.
- Parameters
nb_eval (int or
None) – Number of points included in the matrix if Latin Hypercube Sampling has been used orNone. Default isNonenb_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_prop
-
save(rec_file)¶ Saves data corresponding to a surrogate model instance.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
-
static
solve(nlp, i)¶ Solve the i-th NLP problem.
- Parameters
nlp (NLP) – NLP object
i (int) – Current iteration
- Returns
m_prop (float) – Propellant fraction [-]
f (bool) – Failure status
-
train(train_method, **kwargs)¶ Trains the surrogate model with given training data.
- Parameters
train_method (str) – Training method among
IDW,KPLS,KPLSK,KRG,LS,QP,RBF,RMTB,RMTCkwargs (dict) – Additional keyword arguments supported by SMT objects
-
-
class
latom.surrogate.smt_surrogates.TwoDimDescVLandSurrogate(train_method, rec_file=None)[source]¶ Bases:
latom.surrogate.smt_surrogates.SurrogateModelTwoDimDescVLandSurrogate implements SurrogateModel for a two-dimensional descent trajectory with variable thrust and constrained minimum altitude.
-
sampling(body, isp_lim, twr_lim, alt, alt_safe, slope, t_bounds, method, nb_seg, order, solver, nb_samp, samp_method='lhs', criterion='m', snopt_opts=None, u_bound='upper')[source]¶ Compute a new set of training data starting from a given sampling grid.
- Parameters
body (Primary) – Central attracting body
isp_lim (iterable) – Specific impulse lower and upper limits [s]
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
alt (float) – Orbit altitude [m]
alt_safe (float) – Asymptotic minimum safe altitude [m]
slope (float) – Minimum safe altitude slope close to the launch site [-]
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) – Total number of sampling points
samp_method (str, optional) – Sampling scheme,
lhsfor Latin Hypercube Sampling orfullfor Full-Factorial Sampling. Default islhscriterion (str, optional) – Criterion used to construct the LHS design among
center,maximin,centermaximin,correlation,c,m,cm,corr,ese.c,m,cmandcorrare abbreviations ofcenter,maximin,centermaximinandcorrelation,respectively. Default ismsnopt_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 isupper
-
static
abs_path(rec_file)¶ Returns the absolute path of the file where the surrogate model is stored.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
- Returns
fid – Full path where the surrogate model is stored
- Return type
str
-
compute_grid(isp_lim, twr_lim, nb_samp, samp_method='full', criterion='m')¶ Compute the sampling grid fro given Isp and twr limits and sampling scheme.
- Parameters
isp_lim (iterable) – Specific impulse lower and upper bounds [s]
twr_lim (iterable) – Thrust/weight ratio lower and upper bounds [-]
nb_samp (int) – Total number of samples. Must be a perfect square if
fullis chosen as samp_methodsamp_method (str, optional) – Sampling scheme,
lhsfor Latin Hypercube Sampling orfullfor Full-Factorial Sampling. Default isfullcriterion (str, optional) – Criterion used to construct the LHS design among
center,maximin,centermaximin,correlation,c,m,cm,corr,ese.c,m,cmandcorrare abbreviations ofcenter,maximin,centermaximinandcorrelation,respectivelyDefault ism
-
compute_matrix(nb_eval=None)¶ Compute structured matrices for Isp, twr and m_prop to display the training data on a response surface.
- Parameters
nb_eval (int or
None) – Number of points included in the matrix if Latin Hypercube Sampling has been used orNone. Default isNone- Returns
isp (ndarray) – Matrix of specific impulses [s]
twr (ndarray) – Matrix of thrust/weight ratios [-]
m_mat (ndarray) – Matrix of propellant fractions [-]
-
evaluate(isp, twr)¶ Evaluate the surrogate model in the given set of points.
- Parameters
isp (float or iterable) – Specific impulse on evaluation points [s]
twr (float or iterable) – Thrust/weight ratio on evaluation points [-]
- Returns
m_eval – Propellant fraction on evaluation points [-]
- Return type
float or iterable
-
load(rec_file)¶ Loads stored data to instantiate a surrogate model.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
-
plot(nb_eval=None, nb_lines=50, kind='prop')¶ Plot the response surface corresponding to the loaded surrogate model.
- Parameters
nb_eval (int or
None) – Number of points included in the matrix if Latin Hypercube Sampling has been used orNone. Default isNonenb_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_prop
-
save(rec_file)¶ Saves data corresponding to a surrogate model instance.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
-
static
solve(nlp, i)¶ Solve the i-th NLP problem.
- Parameters
nlp (NLP) – NLP object
i (int) – Current iteration
- Returns
m_prop (float) – Propellant fraction [-]
f (bool) – Failure status
-
train(train_method, **kwargs)¶ Trains the surrogate model with given training data.
- Parameters
train_method (str) – Training method among
IDW,KPLS,KPLSK,KRG,LS,QP,RBF,RMTB,RMTCkwargs (dict) – Additional keyword arguments supported by SMT objects
-
-
class
latom.surrogate.smt_surrogates.TwoDimDescVertSurrogate(train_method, rec_file=None)[source]¶ Bases:
latom.surrogate.smt_surrogates.SurrogateModelTwoDimDescVertSurrogate implements SurrogateModel for a two-dimensional descent trajectory at constant thrust with final vertical descent phase.
-
sampling(body, isp_lim, twr_lim, alt, alt_p, alt_switch, theta, tof, t_bounds, method, nb_seg, order, solver, nb_samp, samp_method='lhs', criterion='m', snopt_opts=None)[source]¶ Compute a new set of training data starting from a given sampling grid.
- Parameters
body (Primary) – Central attracting body
isp_lim (iterable) – Specific impulse lower and upper limits [s]
twr_lim (iterable) – Thrust/weight ratio lower and upper limits [-]
alt (float) – Orbit altitude [m]
alt_p (float) – Periapsis altitude where the final 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 (iterable) – Guessed time of flight for the two phases [s]
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) – Total number of sampling points
samp_method (str, optional) – Sampling scheme,
lhsfor Latin Hypercube Sampling orfullfor Full-Factorial Sampling. Default islhscriterion (str, optional) – Criterion used to construct the LHS design among
center,maximin,centermaximin,correlation,c,m,cm,corr,ese.c,m,cmandcorrare abbreviations ofcenter,maximin,centermaximinandcorrelation,respectively. Default ismsnopt_opts (dict or None, optional) – SNOPT optional settings expressed as key-value pairs. Default is None
-
static
abs_path(rec_file)¶ Returns the absolute path of the file where the surrogate model is stored.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
- Returns
fid – Full path where the surrogate model is stored
- Return type
str
-
compute_grid(isp_lim, twr_lim, nb_samp, samp_method='full', criterion='m')¶ Compute the sampling grid fro given Isp and twr limits and sampling scheme.
- Parameters
isp_lim (iterable) – Specific impulse lower and upper bounds [s]
twr_lim (iterable) – Thrust/weight ratio lower and upper bounds [-]
nb_samp (int) – Total number of samples. Must be a perfect square if
fullis chosen as samp_methodsamp_method (str, optional) – Sampling scheme,
lhsfor Latin Hypercube Sampling orfullfor Full-Factorial Sampling. Default isfullcriterion (str, optional) – Criterion used to construct the LHS design among
center,maximin,centermaximin,correlation,c,m,cm,corr,ese.c,m,cmandcorrare abbreviations ofcenter,maximin,centermaximinandcorrelation,respectivelyDefault ism
-
compute_matrix(nb_eval=None)¶ Compute structured matrices for Isp, twr and m_prop to display the training data on a response surface.
- Parameters
nb_eval (int or
None) – Number of points included in the matrix if Latin Hypercube Sampling has been used orNone. Default isNone- Returns
isp (ndarray) – Matrix of specific impulses [s]
twr (ndarray) – Matrix of thrust/weight ratios [-]
m_mat (ndarray) – Matrix of propellant fractions [-]
-
evaluate(isp, twr)¶ Evaluate the surrogate model in the given set of points.
- Parameters
isp (float or iterable) – Specific impulse on evaluation points [s]
twr (float or iterable) – Thrust/weight ratio on evaluation points [-]
- Returns
m_eval – Propellant fraction on evaluation points [-]
- Return type
float or iterable
-
load(rec_file)¶ Loads stored data to instantiate a surrogate model.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
-
plot(nb_eval=None, nb_lines=50, kind='prop')¶ Plot the response surface corresponding to the loaded surrogate model.
- Parameters
nb_eval (int or
None) – Number of points included in the matrix if Latin Hypercube Sampling has been used orNone. Default isNonenb_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_prop
-
save(rec_file)¶ Saves data corresponding to a surrogate model instance.
- Parameters
rec_file (str) – Name of the file in latom.data.smt where the surrogate model is stored
-
static
solve(nlp, i)¶ Solve the i-th NLP problem.
- Parameters
nlp (NLP) – NLP object
i (int) – Current iteration
- Returns
m_prop (float) – Propellant fraction [-]
f (bool) – Failure status
-
train(train_method, **kwargs)¶ Trains the surrogate model with given training data.
- Parameters
train_method (str) – Training method among
IDW,KPLS,KPLSK,KRG,LS,QP,RBF,RMTB,RMTCkwargs (dict) – Additional keyword arguments supported by SMT objects
-