File size: 1,056 Bytes
c176aea
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import numpy as np
import seaborn as sns
import pandas as pd

def B_field_norm(Bmax:float,L:float,k:int=16,plot=True) -> np.array:
    """ Returns vec B_z for MS config

    Args:
        Bmax (any): maximum B in thruster
        L - channel length
        k - magnetic field profile number
    """
    z = np.linspace(0,L*1.4,200)
    B = Bmax * np.exp(-k * (z/(1.2*L) - 1)**2)
    if plot:
        sns.lineplot(x=z,y=B)
    return z,B

def PUdesign(P:float,U:float) -> pd.DataFrame:
    """Computes design via numerical model, uses fits from PINNs

    Args:
        P (float): _description_
        U (float): _description_

    Returns:
        _type_: _description_
    """
    d = np.sqrt(P/(635*U))
    h = 0.245*d
    m_a = 0.0025*h*d
    T = 890 * m_a * np.sqrt(U)
    j = P/(np.pi*d*h)
    Isp = T/(m_a*9.81) 
    nu_t = T*Isp*9.81/(2*P)
    df = pd.DataFrame([[d,h,m_a,T,j,nu_t,Isp]],columns=['d','h','m_a','T','j','nu_t','Isp'])
    g = sns.barplot(df,facecolor='gray')
    g.set_yscale("log")
    return df
    
def cathode_erosion():
    pass