def initial(self,V0,y0,ydot0,R0,q0,p0,r0,a0,b0,m0,rho0):
     self.V0=V0
     self.y0=y0
     self.ydot0=ydot0
     self.R0=R0
     self.p0=p0
     self.q0=q0
     self.r0=r0
     self.a0=a0
     self.b0=b0
     self.m0=m0
     
     self.a=util.scale_a()
     self.M0=self.V0/self.a
     self.rho0=rho0
     self.q=0.5*self.rho0*self.V0**2 # dynamic pressure
 def update(self):
     self.a=util.scale_a()
     self.M0=self.V0/self.a
     if self.diag:        
         print "V: ",self.V0
     if self.diag:        
         print "Mach: ", self.M0
     
     self.shell.update(self.M0)
     CT,CN,CM=shell.analyse(self.a0,mode="rad")
     self.CL=CN*np.cos(self.a0)-CT*np.sin(self.a0)
     self.CD=CT*np.cos(self.a0)+CN*np.sin(self.a0)
     if self.para and self.T_sim>=self.para_t:
         self.CD+=self.para_CD
         
     if self.diag:
         if self.para and self.T_sim>=self.para_t:
             print "Para Deployed: True"
         print "CL, CD: ",self.CL,self.CD
     
     self.q=0.5*util.scale_height(self.R0-Re)[2]*self.V0**2 # dynamic pressure
             
     if self.diag:        
         print "Dyn P: ",self.q
     
     if self.para and self.T_sim>=self.para_t:
         self.D0=self.q * self.S * (self.CD-self.para_CD) + self.q * self.para_S * self.para_CD
     else:
         self.D0=self.q * self.S * self.CD # aerodynamic force
     self.L0=self.q * self.S * self.CL # aerodynamic force
     if self.diag:        
         print "Lift, Drag : ",self.L0,self.D0
     
     self.g0=-self.grav(self.R0-Re,0,0)
     
     self.ydot0 = 0# -(self.V0/self.R0 - self.g0/self.V0)*np.cos(self.y0) + self.L0/(self.m*self.V0)
     
     #print self.ydot0        
     
     self.q_data.append(self.q)
     self.rho_data.append(util.scale_height(self.R0-Re)[2])
     self.ydot_data.append(self.ydot0)
    
def norm_moi(Ixx,Iyy,Izz,Ixz,c,b,mass):
    KX2 = Ixx/(b**2*mass)
    KY2 = Iyy/(c**2*mass)
    KZ2 = Izz/(b**2*mass)
    JXZ = Ixz/(b**2*mass)
    return KX2,KY2,KZ2,JXZ
    
    
if __name__=="__main__":
    
    stabMargin=0.1
    configuration="t"
    ratio=0
    velocity = 100
    mach = velocity/util.scale_a()
    canard,main,tail,vert=dummyWings()
    xac = main.root/4.
    
    xnp = xac + stabMargin*main.root
    
    r_fus=0.6
    t_fus=4./1000
    width_fus=r_fus*2
    l_fus = 5.
    
    mtv = 0.1 # perpendicular distance between zero lift line and tail
    
    rati=np.arange(0,3,0.1)
    mass_r=[]