Source code for RCAIDE.Framework.Mission.Common.Numerics
# RCAIDE/Framework/Analyses/Mission/Segments/Conditions/Numerics.py
#
#
# Created: Jul 2023, M. Clarke
# ----------------------------------------------------------------------------------------------------------------------
# IMPORT
# ----------------------------------------------------------------------------------------------------------------------
from RCAIDE.Framework.Core import Data
from .Conditions import Conditions
from RCAIDE.Library.Methods.Utilities.Chebyshev import chebyshev_data
import numpy as np
# ----------------------------------------------------------------------------------------------------------------------
# Numerics
# ----------------------------------------------------------------------------------------------------------------------
[docs]
class Numerics(Conditions):
""" Creates the data structure for the numerical solving of a mission.
Assumptions:
None
Source:
None
"""
def __defaults__(self):
"""This sets the default values.
Assumptions:
None
Source:
N/A
Inputs:
None
Outputs:
None
Properties Used:
None
"""
self.tag = 'numerics'
self.number_of_control_points = 16
self.discretization_method = chebyshev_data
self.solver = Data()
self.solver.type = "optimize" # options: "optimize", "root_finder"
self.solver.method = "SLSQP"
self.solver.objective = None # options: # None, energy , power
self.solver.tolerance_solution = 1E-6
self.solver.converged = None
self.solver.print_output = True
self.solver.max_evaluations = 200
self.solver.step_size = 1E-8
self.dimensionless = Conditions()
self.dimensionless.control_points = np.empty([0,0])
self.dimensionless.differentiate = np.empty([0,0])
self.dimensionless.integrate = np.empty([0,0])
self.time = Conditions()
self.time.control_points = np.empty([0,0])
self.time.differentiate = np.empty([0,0])
self.time.integrate = np.empty([0,0])