import planetaryconstants as constants
from sim import Params

import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
from scipy import stats

plt.close('all')
mpl.rcParams["figure.autolayout"] = True
mpl.rcParams.update({'font.size': 15})

# =============================================================================
# Load Mars constants
# =============================================================================
params = Params()
params.p = constants.MARS

# =============================================================================
# Load data
# =============================================================================
filename = '../results/AeroDrop_dispersed_500_0302193435.npz'
data = np.load(filename, allow_pickle=True)

xxvecArr_O = data['xxvecArr_O']
tvecArr_O = data['tvecArr_O']
sigdvecArr_O = data['sigdvecArr_O']
tsvecArr_O = data['tsvecArr_O']
BCList_O = data['BCList_O']
L_DList_O = data['L_DList_O']
gam0List = data['gam0List']
Ejemplo n.º 2
0
import numpy as np
import time
import matplotlib.pyplot as plt
import sys
import scipy.interpolate as interp

import planetaryconstants as constants
import ODEs
from sim import Params, Outs, mainAD
from atm import getRho_from_table

tic = time.time()
plt.close('all')

### CREATE params INPUT CLASS
params = Params()
params.p = constants.MARS
params.returnTimeVectors = True
params.atmMod = 'nom'

### INPUT ATM TABLE - GET ATM TABLE FROM GRAM DATA FILE
params.dMode = 'table'
filename = '../data/dens_Mars_nom.txt'
# filename = '../data/dat_raw_Earth_nom.txt'
atmdata = np.genfromtxt(filename, names=True)
# atmdata.sort(order='Var_X') # put in ascending altitude order
params.atmdat = np.array([atmdata['Var_X'], atmdata['DENSAV']])
# atmdata.sort(order='Hgtkm') # put in ascending altitude order
# params.atmdat = np.array([atmdata['Hgtkm'], atmdata['DensMean']])

# alter density if requested
Ejemplo n.º 3
0
import numpy as np
import time
import matplotlib.pyplot as plt
from datetime import datetime
import sys

import planetaryconstants as constants
import ODEs
from sim import Params, Outs, mainAD

tic = time.time()
plt.close('all')

### CREATE params INPUT CLASS
params = Params()
params.p = constants.TITAN
params.returnTimeVectors = False

# =============================================================================
# comment/uncomment the below blocks of code for desired scenario at Titan
# =============================================================================
#### Make all BC and efpa ranges the same ####
BCList = np.arange(10, 200, 2.5)
efpaList = np.arange(-24.9, -35.4, -0.1)

### Lift-up, nominal atmosphere
params.atmMod = 'nom'
params.LD = 0.25
params.bank = 0  # deg
modestr = 'lift-up, nominal atmosphere'
Ejemplo n.º 4
0
Created on Wed Feb 10 18:24:45 2021

@author: Samuel Albert
"""

from sim import Params
import planetaryconstants as constants
from atm import getRho_from_table

import numpy as np
import scipy.interpolate as interp
import time


### CREATE params INPUT CLASS FOR NOMINAL VALUES
params = Params()
params.p = constants.MARS
params.returnTimeVectors = True

### INPUT ATM TABLE - GET ATM TABLE FROM GRAM DATA FILE
params.dMode = 'table'
filename = '../data/dens_Mars_nom.txt'
atmdata = np.genfromtxt(filename, names=True)
params.atmdat = np.array([atmdata['Var_X'], atmdata['DENSAV']])

scipyfun = interp.interp1d(params.atmdat[0,:], params.atmdat[1,:])

def myinterp(h, params):
    '''
    h is altitude in km. assumes atm data sorted in ascending order!
    also, will not work if h is outside of data range!
Ejemplo n.º 5
0
import numpy as np
import time
import matplotlib.pyplot as plt
from datetime import datetime
import sys

import planetaryconstants as constants
import ODEs
from sim import Params, Outs, mainAD

tic = time.time()
plt.close('all')

### CREATE params INPUT CLASS
params = Params()
params.p = constants.EARTH
params.returnTimeVectors = False

# =============================================================================
# comment/uncomment the below blocks of code for desired scenario at Mars
# =============================================================================
#### Make all BC and efpa ranges the same ####
BCList = np.arange(10, 200, 2.5)
efpaList = np.arange(-3.7, -7.4, -0.02)
# efpaList = np.arange(-4.4, -8.2, -0.02) # for 12 km/s entry

# ### Lift-up, nominal atmosphere
# params.atmMod = 'nom'
# params.LD = 0.25
# params.bank = 0 # deg
Ejemplo n.º 6
0
def getQoIParams(params):
    paramsQ = Params()
    paramsQ.CD = params.CD
    paramsQ.BC = params.BC
    paramsQ.m = params.m
    paramsQ.efpaWR = params.efpaWR
    paramsQ.vmagWR = params.vmagWR
    paramsQ.m_Y = params.m_Y
    paramsQ.CD_Y = params.CD_Y
    paramsQ.efpa_Y = params.efpa_Y
    paramsQ.vmag_Y = params.vmag_Y
    paramsQ.atm_Ys = params.atm_Ys
    
    return paramsQ
Ejemplo n.º 7
0
    
    return paramsQ

tic = time.time()
datestring = datetime.now().strftime('%m%d%H%M%S')
plt.close('all')

# =============================================================================
# Number of Monte Carlo trials
# =============================================================================
Nmc = 10000

# =============================================================================
# Create Params input class for Mars
# =============================================================================
params = Params()
params.p = constants.MARS
params.returnTimeVectors = True

# =============================================================================
# Generate eigenvalues, eigenvectors to use in KLE function
# =============================================================================
params.dMode = 'fun'

filename = '../data/Mars_0.1_50000.npz'
alpha = 0.95
pfact = 1 # use GRAM dispersions directly

evals, evecs, densSampMean, d, h = getEproblem(filename, alpha, pfact)
params.evals = evals
params.evecs = evecs
Ejemplo n.º 8
0
@author: Samuel Albert
"""

import numpy as np
import matplotlib.pyplot as plt

import planetaryconstants as constants
from sim import Params
from UQ import getEproblem, getKLEdensfun

plt.close('all')

# =============================================================================
# Create Params input class for Mars
# =============================================================================
params = Params()
params.p = constants.MARS
params.returnTimeVectors = True

# =============================================================================
# Load MarsGRAM density data
# =============================================================================
filename = '../data/Mars_0.1_50000.npz'
densdata = np.load(filename)
densTot = densdata['densTot']
h = densdata['h']
densMean = densdata['densMean']
densCentered = densTot - densMean[:, None]

# =============================================================================
# Generate eigenvalues, eigenvectors to use in KLE function
Ejemplo n.º 9
0
import ODEs
from sim import Params, Outs, mainAD
from atm import getMarsGRAMDensTable
from conversions import RV2LLAEHV, VN2Vinf

tic = time.time()
plt.close('all')
mpl.rcParams["figure.autolayout"] = True
mpl.rcParams.update({'font.size': 16})

outsList = []

# =============================================================================
# Create Params input class for Mars
# =============================================================================
params = Params()
params.p = constants.MARS
params.returnTimeVectors = True

# =============================================================================
# Generate atm table for Nmc profiles
# =============================================================================
filename = './../data/Mars_0.1_5000.txt'
Nmc = 1
densAll, densMean, h = getMarsGRAMDensTable(filename, Nmc)
# densAll, densMean, h = getMarsGRAMDensTableAll(filename, Nmc)
params.dMode = 'table'

# =============================================================================
# Load atm table for this run
# =============================================================================