MissionProblem
- class baseclasses.MissionProblem(name, **kwargs)[source]
Mission Problem Object:
This mission problem object should contain all of the information required to analyze a single mission. A mission problem is made of profiles. All profiles in a given mission problem must use consistent units.
- Parameters:
- namestr
A name for the mission
- evalFuncsiteratble object containing strings
The names of the functions the user wants evaluated for this mission problem
Initialize the mission problem
- addProfile(profiles)[source]
Append a mission profile to the list. update the internal segment indices to correspond
- addVariablesPyOpt(pyOptProb)[source]
Add the current set of variables to the optProb object.
- Parameters:
- optProbpyOpt_optimization class
Optimization problem definition to which variables are added
- evalDVSens(stepSize=1e-20)[source]
Evaluate the sensitivity of each of the 4 segment parameters (Mach, Alt) with respect to the design variables
- getAltitudeConsSens(CAS, mach, alt, stepSize=1e-20)[source]
Solve for the altitude sensitivity at which CAS=mach
- class baseclasses.MissionProfile(name, englishUnits=False)[source]
Mission Profile Object:
This Mission Profile Object contain an ordered set of segments that make up a single subsection of a mission. Start and end points of each segment in the profile are required to be continuous.
Initialize the mission profile
- addSegments(segments)[source]
Take in a list of segments and append it to the the current list. Check for consistency while we are at it.
- class baseclasses.MissionSegment(phase, **kwargs)[source]
Mission Segment Object:
This is the basic building block of the mission solver.
- Parameters:
- phasestr
Segment type selector valid options include
- addDV(paramKey, lower=-1e+20, upper=1e+20, scale=1.0, name=None)[source]
Add one of the class attributes as a mission design variable. Typical variables are mach or velocity and altitude An error will be given if the requested DV is not allowed to be added .
- Parameters:
- dvNamestr
Name used by the optimizer for this variables.
- paramKeystr
Name of variable to add. See above for possible ones
- valuefloat. Default is None
Initial value for variable. If not given, current value of the attribute will be used.
- lowerfloat. Default is None
Optimization lower bound. Default is unbonded.
- upperfloat. Default is None
Optimization upper bound. Default is unbounded.
- scalefloat. Default is 1.0
Set scaling parameter for the optimization to use.
- namestr. Default is None
Overwrite the name of this variable. This is typically only used when the user wishes to have multiple aeroProblems to explictly use the same design variable.
Examples
>>> # Add initMach variable with typical bounds >>> seg.addDV('initMach', value=0.75, lower=0.0, upper=1.0, scale=1.0)
- determineInputs()[source]
Determine which of the four parameters (h, M, CAS, TAS) are inputs, which can be updated directly by the DV. For each end, there should be two inputs. At this point, the two beginning inputs should already be determined during initalization or by the MissionProfile.