Failed
gpkit.tests.from_paths.TestFiles.test_model_print_perf_py_mosek_cli (from gpkit.tests.from_paths.TestFiles-20200714230033)
Failing for the past 1 build
(Since Failed
)
Error Message
Invalid ConstraintSet element '[<gpkit.Climb object containing 2 top-level constraint(s) and 933 variable(s)>, <gpkit.Cruise object containing 2 top-level constraint(s) and 364 variable(s)>, <gpkit.Loiter object containing 2 top-level constraint(s) and 612 variable(s)>, <gpkit.Cruise object containing 2 top-level constraint(s) and 364 variable(s)>]' <class 'list'> was between Aircraft ======== Cost ---- 1 Constraints ----------- Fuselage FuelTank Mission1.Aircraft.Fuselage.FuelTank.W >= f*W_{fuel-tot} \mathcal{V}/Mission1.Aircraft.Fuselage.FuelTank.m_{fac} >= W_{fuel-tot}/\rho_{fuel} FuselageSkin m >= S_{wet}*\rho_{kevlar}*Mission1.Aircraft.Fuselage.FuselageSkin.t Mission1.Aircraft.Fuselage.FuselageSkin.W >= m*Mission1.Aircraft.Fuselage.FuselageSkin.g Mission1.Aircraft.Fuselage.FuselageSkin.t >= t_{min} Mission1.Aircraft.Fuselage.FuselageSkin.I <= PI*R^3*Mission1.Aircraft.Fuselage.FuselageSkin.t I_G >= m*(4*R^2 + 4*R*Mission1.Aircraft.Fuselage.FuselageSkin.t + Mission1.Aircraft.Fuselage.FuselageSkin.t^2) l_{body} = l_{body} Mission1.Aircraft.Fuselage.FuselageSkin.E = Mission1.Aircraft.Fuselage.FuselageSkin.E k_{body} = l_{body}/R S_{wet} >= S_{body} + S_{nose} + S_{bulk} S_{body} >= 2PI*R*l_{body} S_{nose}^1.6 >= 2PI*R^2^1.6*(0.333 + 0.667*k_{nose}^1.6) S_{bulk} >= R^2*(0.0123*k_{bulk}^2 + 1.52*k_{bulk} + 0.502) \mathcal{V}_{body} <= PI*R^2*l_{body} Mission1.Aircraft.Fuselage.l <= 3*R*k_{body}*k_{nose}*k_{bulk}^0.3333333333333333 Mission1.Aircraft.Fuselage.S >= PI*R^2 \mathcal{V}_{body} >= \mathcal{V} Mission1.Aircraft.Fuselage.W/Mission1.Aircraft.Fuselage.m_{fac} >= Mission1.Aircraft.Fuselage.FuelTank.W + Mission1.Aircraft.Fuselage.FuselageSkin.W Wing Mission1.Aircraft.Wing.W/Mission1.Aircraft.Wing.mfac >= Mission1.Aircraft.Wing.WingSkin.W + Mission1.Aircraft.Wing.CapSpar.W + Mission1.Aircraft.Wing.WingCore.W Planform Mission1.Aircraft.Wing.Planform.b^2 = Mission1.Aircraft.Wing.Planform.S*Mission1.Aircraft.Wing.Planform.AR cave[:] = cbave[:]*Mission1.Aircraft.Wing.Planform.S/Mission1.Aircraft.Wing.Planform.b Mission1.Aircraft.Wing.Planform.croot = Mission1.Aircraft.Wing.Planform.S/Mission1.Aircraft.Wing.Planform.b*cbar[0] Mission1.Aircraft.Wing.Planform.cmac = Mission1.Aircraft.Wing.Planform.croot*Mission1.Aircraft.Wing.Planform.cbarmac WingSkin Mission1.Aircraft.Wing.WingSkin.W >= CFRPFabric.rho*Mission1.Aircraft.Wing.Planform.S*2*Mission1.Aircraft.Wing.WingSkin.t*g Mission1.Aircraft.Wing.WingSkin.t >= tmin CFRPFabric.tau >= 1/Mission1.Aircraft.Wing.WingSkin.Jtbar/Mission1.Aircraft.Wing.Planform.croot^2/Mission1.Aircraft.Wing.WingSkin.t*Mission1.Aircraft.Wing.WingSkin.Cmw*Mission1.Aircraft.Wing.Planform.S*Mission1.Aircraft.Wing.WingSkin.rhosl*Mission1.Aircraft.Wing.WingSkin.Vne^2 CapSpar I[:]/Mission1.Aircraft.Wing.CapSpar.mfac <= 2*w[:]*t[:]*(hin[:]/2)^2 dm[:] >= (CFRPUD.rho*2*w[:]*t[:] + 2*tshear[:]*CFRPFabric.rho*(hin[:] + 2*t[:]) + FoamHD.rho*w[:]*hin[:])*Mission1.Aircraft.Wing.Planform.b/2*deta[:] Mission1.Aircraft.Wing.CapSpar.W >= 2*dm[:].sum()*g w[:] <= wlim*cave[:] cave[:]*Mission1.Aircraft.Wing.Planform.tau >= hin[:] + 2*t[:] Sy[:]*(hin[:]/2 + t[:]) <= I[:] tshear[:] >= tmin WingCore Mission1.Aircraft.Wing.WingCore.W >= 2*(g*FoamHD.rho*Mission1.Aircraft.Wing.WingCore.Abar*cave[:]^2*Mission1.Aircraft.Wing.Planform.b/2*deta[:]).sum() mw*(1 + 2/Mission1.Aircraft.Wing.Planform.AR) >= 6.28 DF70 W_{DF70} <= Mission1.Aircraft.DF70.W/Mission1.Aircraft.DF70.m_{fac} P_{sl-max} = P_{sl-max} Empennage HorizontalTail Mission1.Aircraft.Empennage.HorizontalTail.W/Mission1.Aircraft.Empennage.HorizontalTail.mfac >= Mission1.Aircraft.Empennage.HorizontalTail.WingSkin.W + Mission1.Aircraft.Empennage.HorizontalTail.WingCore.W Planform Mission1.Aircraft.Empennage.HorizontalTail.Planform.b^2 = Mission1.Aircraft.Empennage.HorizontalTail.Planform.S*Mission1.Aircraft.Empennage.HorizontalTail.Planform.AR cave[:] = cbave[:]*Mission1.Aircraft.Empennage.HorizontalTail.Planform.S/Mission1.Aircraft.Empennage.HorizontalTail.Planform.b Mission1.Aircraft.Empennage.HorizontalTail.Planform.croot = Mission1.Aircraft.Empennage.HorizontalTail.Planform.S/Mission1.Aircraft.Empennage.HorizontalTail.Planform.b*cbar[0] Mission1.Aircraft.Empennage.HorizontalTail.Planform.cmac = Mission1.Aircraft.Empennage.HorizontalTail.Planform.croot*Mission1.Aircraft.Empennage.HorizontalTail.Planform.cbarmac WingSkin Mission1.Aircraft.Empennage.HorizontalTail.WingSkin.W >= CFRPFabric.rho*Mission1.Aircraft.Empennage.HorizontalTail.Planform.S*2*Mission1.Aircraft.Empennage.HorizontalTail.WingSkin.t*g Mission1.Aircraft.Empennage.HorizontalTail.WingSkin.t >= tmin CFRPFabric.tau >= 1/Mission1.Aircraft.Empennage.HorizontalTail.WingSkin.Jtbar/Mission1.Aircraft.Empennage.HorizontalTail.Planform.croot^2/Mission1.Aircraft.Empennage.HorizontalTail.WingSkin.t*Mission1.Aircraft.Empennage.HorizontalTail.WingSkin.Cmw*Mission1.Aircraft.Empennage.HorizontalTail.Planform.S*Mission1.Aircraft.Empennage.HorizontalTail.WingSkin.rhosl*Mission1.Aircraft.Empennage.HorizontalTail.WingSkin.Vne^2 WingCore Mission1.Aircraft.Empennage.HorizontalTail.WingCore.W >= 2*(g*FoamHD.rho*Mission1.Aircraft.Empennage.HorizontalTail.WingCore.Abar*cave[:]^2*Mission1.Aircraft.Empennage.HorizontalTail.Planform.b/2*deta[:]).sum() mh*(1 + 2/Mission1.Aircraft.Empennage.HorizontalTail.Planform.AR) <= 6.28 VerticalTail Mission1.Aircraft.Empennage.VerticalTail.W/Mission1.Aircraft.Empennage.VerticalTail.mfac >= Mission1.Aircraft.Empennage.VerticalTail.WingSkin.W + Mission1.Aircraft.Empennage.VerticalTail.WingCore.W Planform Mission1.Aircraft.Empennage.VerticalTail.Planform.b^2 = Mission1.Aircraft.Empennage.VerticalTail.Planform.S*Mission1.Aircraft.Empennage.VerticalTail.Planform.AR cave[:] = cbave[:]*Mission1.Aircraft.Empennage.VerticalTail.Planform.S/Mission1.Aircraft.Empennage.VerticalTail.Planform.b Mission1.Aircraft.Empennage.VerticalTail.Planform.croot = Mission1.Aircraft.Empennage.VerticalTail.Planform.S/Mission1.Aircraft.Empennage.VerticalTail.Planform.b*cbar[0] Mission1.Aircraft.Empennage.VerticalTail.Planform.cmac = Mission1.Aircraft.Empennage.VerticalTail.Planform.croot*Mission1.Aircraft.Empennage.VerticalTail.Planform.cbarmac WingSkin Mission1.Aircraft.Empennage.VerticalTail.WingSkin.W >= CFRPFabric.rho*Mission1.Aircraft.Empennage.VerticalTail.Planform.S*2*Mission1.Aircraft.Empennage.VerticalTail.WingSkin.t*g Mission1.Aircraft.Empennage.VerticalTail.WingSkin.t >= tmin CFRPFabric.tau >= 1/Mission1.Aircraft.Empennage.VerticalTail.WingSkin.Jtbar/Mission1.Aircraft.Empennage.VerticalTail.Planform.croot^2/Mission1.Aircraft.Empennage.VerticalTail.WingSkin.t*Mission1.Aircraft.Empennage.VerticalTail.WingSkin.Cmw*Mission1.Aircraft.Empennage.VerticalTail.Planform.S*Mission1.Aircraft.Empennage.VerticalTail.WingSkin.rhosl*Mission1.Aircraft.Empennage.VerticalTail.WingSkin.Vne^2 WingCore Mission1.Aircraft.Empennage.VerticalTail.WingCore.W >= 2*(g*FoamHD.rho*Mission1.Aircraft.Empennage.VerticalTail.WingCore.Abar*cave[:]^2*Mission1.Aircraft.Empennage.VerticalTail.Planform.b/2*deta[:]).sum() TailBoom I[:] <= PI*t[:]*d[:]^3/8 Sy[:] <= 2*I[:]/d[:] dm[:] >= PI*CFRPFabric.rho*d[:]*Mission1.Aircraft.Empennage.TailBoom.deta*t[:]*kfac*Mission1.Aircraft.Empennage.TailBoom.l Mission1.Aircraft.Empennage.TailBoom.W/Mission1.Aircraft.Empennage.TailBoom.mfac >= g*dm[:].sum() t[:] >= tmin Mission1.Aircraft.Empennage.TailBoom.S = Mission1.Aircraft.Empennage.TailBoom.l*PI*d[0] Mission1.Aircraft.Empennage.TailBoom.b = 2*Mission1.Aircraft.Empennage.TailBoom.l Mission1.Aircraft.Empennage.W/Mission1.Aircraft.Empennage.mfac >= Mission1.Aircraft.Empennage.HorizontalTail.W + Mission1.Aircraft.Empennage.VerticalTail.W + Mission1.Aircraft.Empennage.TailBoom.W Mission1.Aircraft.Empennage.TailBoom.l >= lh Mission1.Aircraft.Empennage.TailBoom.l >= lv Pylon Mission1.Aircraft.Pylon.S >= 2*Mission1.Aircraft.Pylon.l*Mission1.Aircraft.Pylon.h W_{zfw} >= Mission1.Aircraft.Fuselage.W + Mission1.Aircraft.Wing.W + Mission1.Aircraft.DF70.W + Mission1.Aircraft.Empennage.W + Mission1.Aircraft.Pylon.W + W_{pay} + W_{avn} Vh <= Mission1.Aircraft.Empennage.HorizontalTail.Planform.S*lh/Mission1.Aircraft.Wing.Planform.S^2*Mission1.Aircraft.Wing.Planform.b Vv = Mission1.Aircraft.Empennage.VerticalTail.Planform.S*lv/Mission1.Aircraft.Wing.Planform.S/Mission1.Aircraft.Wing.Planform.b Mission1.Aircraft.Wing.Planform.CLmax/mw <= Mission1.Aircraft.Empennage.HorizontalTail.Planform.CLmax/mh w_{antenna} <= Mission1.Aircraft.Empennage.VerticalTail.Planform.croot*Mission1.Aircraft.Empennage.VerticalTail.Planform.lam Mission1.Aircraft.Empennage.VerticalTail.Planform.b >= l_{antenna} Mission1.Aircraft.Empennage.TailBoom.l >= lh + Mission1.Aircraft.Empennage.HorizontalTail.Planform.croot \mathcal{V}_{pay} <= (PI/1.5)*k_{nose}*R^3 \mathcal{V}_{body} >= \mathcal{V} + \mathcal{V}_{avn} Mission1.Aircraft.DF70.h <= 2*R and AircraftLoading =============== Cost ---- 1 Constraints ----------- TailBoomBending dx[:] = Mission1.Aircraft.Empennage.TailBoom.deta qne[:]*Mission1.Aircraft.Empennage.HorizontalTail.Planform.S <= Mission1.AircraftLoading.TailBoomBending.F \bar{EI}[:] <= CFRPFabric.E*I[:]/Mission1.AircraftLoading.TailBoomBending.F/l^2/2 Mr[:] >= \bar{M}[:-1]*Mission1.AircraftLoading.TailBoomBending.F*l Mr[:]/Sy[:] <= CFRPFabric.sigma Mission1.AircraftLoading.TailBoomBending.th = \theta[1] Mission1.AircraftLoading.TailBoomBending.kappa >= \bar{\delta}[1]*Mission1.Aircraft.Empennage.HorizontalTail.Planform.CLmax*Mission1.AircraftLoading.TailBoomBending.Nsafety Beam \bar{M}[:-1] >= \bar{M}[1:] + 0.5*dx[:]*(\bar{S}[:-1] + \bar{S}[1:]) \bar{M}[1] >= Mission1.AircraftLoading.TailBoomBending.Beam.\bar{M}_{tip} \theta[0] >= Mission1.AircraftLoading.TailBoomBending.Beam.\theta_{root} \theta[1:] >= \theta[:-1] + 0.5*dx[:]*(\bar{M}[1:] + \bar{M}[:-1])/\bar{EI}[:] \bar{\delta}[0] >= Mission1.AircraftLoading.TailBoomBending.Beam.\bar{\delta}_{root} \bar{\delta}[1:] >= \bar{\delta}[:-1] + 0.5*dx[:]*(\theta[1:] + \theta[:-1]) TailBoomBending1 dx[:] = Mission1.Aircraft.Empennage.TailBoom.deta qne[:]*Mission1.Aircraft.Empennage.VerticalTail.Planform.S <= Mission1.AircraftLoading.TailBoomBending1.F \bar{EI}[:] <= CFRPFabric.E*I[:]/Mission1.AircraftLoading.TailBoomBending1.F/l^2/2 Mr[:] >= \bar{M}[:-1]*Mission1.AircraftLoading.TailBoomBending1.F*l Mr[:]/Sy[:] <= CFRPFabric.sigma Mission1.AircraftLoading.TailBoomBending1.th = \theta[1] Mission1.AircraftLoading.TailBoomBending1.kappa >= \bar{\delta}[1]*Mission1.Aircraft.Empennage.VerticalTail.Planform.CLmax*Mission1.AircraftLoading.TailBoomBending1.Nsafety Beam \bar{M}[:-1] >= \bar{M}[1:] + 0.5*dx[:]*(\bar{S}[:-1] + \bar{S}[1:]) \bar{M}[1] >= Mission1.AircraftLoading.TailBoomBending1.Beam.\bar{M}_{tip} \theta[0] >= Mission1.AircraftLoading.TailBoomBending1.Beam.\theta_{root} \theta[1:] >= \theta[:-1] + 0.5*dx[:]*(\bar{M}[1:] + \bar{M}[:-1])/\bar{EI}[:] \bar{\delta}[0] >= Mission1.AircraftLoading.TailBoomBending1.Beam.\bar{\delta}_{root} \bar{\delta}[1:] >= \bar{\delta}[:-1] + 0.5*dx[:]*(\theta[1:] + \theta[:-1]) SparLoading S[:-1] >= S[1:] + 0.5*deta[:]*b/2*(q[:-1] + q[1:]) M[:-1] >= M[1:] + 0.5*deta[:]*b/2*(S[:-1] + S[1:]) N = Mission1.AircraftLoading.SparLoading.Nsafety*Nmax q[:] >= N*W/b*cbar[:] S[11] >= Stip M[11] >= Mtip th[0] >= throot th[1:] >= th[:-1] + 0.5*deta[:]*b/2*(M[1:] + M[:-1])/CFRPUD.E/I[:] w[0] >= wroot w[1:] >= w[:-1] + 0.5*deta[:]*b/2*(th[1:] + th[:-1]) M[:-1]/Sy[:] <= CFRPUD.sigma Mission1.AircraftLoading.SparLoading.kappa >= w[11]/(b/2) FuselageLoading FuselageSkinL M_h >= Mission1.AircraftLoading.FuselageLoading.FuselageSkinL.N_{max}*W_{cent}/4*l_{body} Mission1.AircraftLoading.FuselageLoading.FuselageSkinL.\sigma_{Kevlar} >= M_h*R/Mission1.Aircraft.Fuselage.FuselageSkin.I Mission1.AircraftLoading.FuselageLoading.FuselageSkinL.q >= W_{cent}*Mission1.AircraftLoading.FuselageLoading.FuselageSkinL.N_{max}/l_{body} \kappa*l_{body}/2 >= Mission1.AircraftLoading.FuselageLoading.FuselageSkinL.q*(l_{body}/2)^4/8*Mission1.Aircraft.Fuselage.FuselageSkin.E*Mission1.Aircraft.Fuselage.FuselageSkin.I FuselageLanding Mission1.AircraftLoading.FuselageLoading.FuselageLanding.F >= W_{cent}*Mission1.AircraftLoading.FuselageLoading.FuselageLanding.N_{max} a >= Mission1.AircraftLoading.FuselageLoading.FuselageLanding.F/m \dot{\omega} >= a/(l_{body}/2) M_G >= I_G*\dot{\omega} Mission1.AircraftLoading.FuselageLoading.FuselageLanding.\sigma_{Kevlar} >= M_G*R/Mission1.Aircraft.Fuselage.FuselageSkin.I TailBoomFlexibility Fne >= 1 + mh*Mission1.AircraftLoading.TailBoomBending.th sph1*mw*Fne/mh/Vh + deda <= 1 sph2 <= Vh*CLhmin/Mission1.Aircraft.Wing.Planform.CLmax deda >= mw*Mission1.Aircraft.Wing.Planform.S/b/4/PI/lh sph1 + sph2 >= SMcorr + CM/Mission1.Aircraft.Wing.Planform.CLmax.
Stacktrace
Traceback (most recent call last): File "c:\users\jenkins\workspace\ce_gpkit_pr_research_models\buildnode\windows10x64\optimizer\mosek\gpkit\constraints\set.py", line 86, in __init__ self._update(subconstraint) File "c:\users\jenkins\workspace\ce_gpkit_pr_research_models\buildnode\windows10x64\optimizer\mosek\gpkit\constraints\set.py", line 114, in _update self.substitutions.update(constraint.substitutions) File "c:\users\jenkins\workspace\ce_gpkit_pr_research_models\buildnode\windows10x64\optimizer\mosek\gpkit\keydict.py", line 157, in update self[k] = v File "c:\users\jenkins\workspace\ce_gpkit_pr_research_models\buildnode\windows10x64\optimizer\mosek\gpkit\keydict.py", line 220, in __setitem__ goodvals = ~np.isnan(value) TypeError: ufunc 'isnan' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe'' The above exception was the direct cause of the following exception: Traceback (most recent call last): File "c:\users\jenkins\workspace\ce_gpkit_pr_research_models\buildnode\windows10x64\optimizer\mosek\gpkit\tests\helpers.py", line 59, in test testfn(name, import_dict, path)(self) File "c:\users\jenkins\workspace\ce_gpkit_pr_research_models\buildnode\windows10x64\optimizer\mosek\gpkit\tests\from_paths.py", line 48, in <lambda> lambda self: getattr(self, name)())) # pylint:disable=undefined-variable File "c:\users\jenkins\workspace\ce_gpkit_pr_research_models\buildnode\windows10x64\optimizer\mosek\gpkit\tests\from_paths.py", line 37, in test_fn mod.test() File "C:\Users\jenkins\workspace\CE_gpkit_PR_research_models\buildnode\windows10x64\optimizer\mosek\jho\model\print_perf.py", line 194, in test M = Mission(DF70=True) File "c:\users\jenkins\workspace\ce_gpkit_pr_research_models\buildnode\windows10x64\optimizer\mosek\gpkit\constraints\model.py", line 71, in __init__ CostedConstraintSet.__init__(self, cost, constraints, substitutions) File "c:\users\jenkins\workspace\ce_gpkit_pr_research_models\buildnode\windows10x64\optimizer\mosek\gpkit\constraints\costed.py", line 25, in __init__ ConstraintSet.__init__(self, constraints, subs) File "c:\users\jenkins\workspace\ce_gpkit_pr_research_models\buildnode\windows10x64\optimizer\mosek\gpkit\constraints\set.py", line 88, in __init__ raise badelement(self, i, constraint) from e ValueError: Invalid ConstraintSet element '[<gpkit.Climb object containing 2 top-level constraint(s) and 933 variable(s)>, <gpkit.Cruise object containing 2 top-level constraint(s) and 364 variable(s)>, <gpkit.Loiter object containing 2 top-level constraint(s) and 612 variable(s)>, <gpkit.Cruise object containing 2 top-level constraint(s) and 364 variable(s)>]' <class 'list'> was between Aircraft ======== Cost ---- 1 Constraints ----------- Fuselage FuelTank Mission1.Aircraft.Fuselage.FuelTank.W >= f*W_{fuel-tot} \mathcal{V}/Mission1.Aircraft.Fuselage.FuelTank.m_{fac} >= W_{fuel-tot}/\rho_{fuel} FuselageSkin m >= S_{wet}*\rho_{kevlar}*Mission1.Aircraft.Fuselage.FuselageSkin.t Mission1.Aircraft.Fuselage.FuselageSkin.W >= m*Mission1.Aircraft.Fuselage.FuselageSkin.g Mission1.Aircraft.Fuselage.FuselageSkin.t >= t_{min} Mission1.Aircraft.Fuselage.FuselageSkin.I <= PI*R^3*Mission1.Aircraft.Fuselage.FuselageSkin.t I_G >= m*(4*R^2 + 4*R*Mission1.Aircraft.Fuselage.FuselageSkin.t + Mission1.Aircraft.Fuselage.FuselageSkin.t^2) l_{body} = l_{body} Mission1.Aircraft.Fuselage.FuselageSkin.E = Mission1.Aircraft.Fuselage.FuselageSkin.E k_{body} = l_{body}/R S_{wet} >= S_{body} + S_{nose} + S_{bulk} S_{body} >= 2PI*R*l_{body} S_{nose}^1.6 >= 2PI*R^2^1.6*(0.333 + 0.667*k_{nose}^1.6) S_{bulk} >= R^2*(0.0123*k_{bulk}^2 + 1.52*k_{bulk} + 0.502) \mathcal{V}_{body} <= PI*R^2*l_{body} Mission1.Aircraft.Fuselage.l <= 3*R*k_{body}*k_{nose}*k_{bulk}^0.3333333333333333 Mission1.Aircraft.Fuselage.S >= PI*R^2 \mathcal{V}_{body} >= \mathcal{V} Mission1.Aircraft.Fuselage.W/Mission1.Aircraft.Fuselage.m_{fac} >= Mission1.Aircraft.Fuselage.FuelTank.W + Mission1.Aircraft.Fuselage.FuselageSkin.W Wing Mission1.Aircraft.Wing.W/Mission1.Aircraft.Wing.mfac >= Mission1.Aircraft.Wing.WingSkin.W + Mission1.Aircraft.Wing.CapSpar.W + Mission1.Aircraft.Wing.WingCore.W Planform Mission1.Aircraft.Wing.Planform.b^2 = Mission1.Aircraft.Wing.Planform.S*Mission1.Aircraft.Wing.Planform.AR cave[:] = cbave[:]*Mission1.Aircraft.Wing.Planform.S/Mission1.Aircraft.Wing.Planform.b Mission1.Aircraft.Wing.Planform.croot = Mission1.Aircraft.Wing.Planform.S/Mission1.Aircraft.Wing.Planform.b*cbar[0] Mission1.Aircraft.Wing.Planform.cmac = Mission1.Aircraft.Wing.Planform.croot*Mission1.Aircraft.Wing.Planform.cbarmac WingSkin Mission1.Aircraft.Wing.WingSkin.W >= CFRPFabric.rho*Mission1.Aircraft.Wing.Planform.S*2*Mission1.Aircraft.Wing.WingSkin.t*g Mission1.Aircraft.Wing.WingSkin.t >= tmin CFRPFabric.tau >= 1/Mission1.Aircraft.Wing.WingSkin.Jtbar/Mission1.Aircraft.Wing.Planform.croot^2/Mission1.Aircraft.Wing.WingSkin.t*Mission1.Aircraft.Wing.WingSkin.Cmw*Mission1.Aircraft.Wing.Planform.S*Mission1.Aircraft.Wing.WingSkin.rhosl*Mission1.Aircraft.Wing.WingSkin.Vne^2 CapSpar I[:]/Mission1.Aircraft.Wing.CapSpar.mfac <= 2*w[:]*t[:]*(hin[:]/2)^2 dm[:] >= (CFRPUD.rho*2*w[:]*t[:] + 2*tshear[:]*CFRPFabric.rho*(hin[:] + 2*t[:]) + FoamHD.rho*w[:]*hin[:])*Mission1.Aircraft.Wing.Planform.b/2*deta[:] Mission1.Aircraft.Wing.CapSpar.W >= 2*dm[:].sum()*g w[:] <= wlim*cave[:] cave[:]*Mission1.Aircraft.Wing.Planform.tau >= hin[:] + 2*t[:] Sy[:]*(hin[:]/2 + t[:]) <= I[:] tshear[:] >= tmin WingCore Mission1.Aircraft.Wing.WingCore.W >= 2*(g*FoamHD.rho*Mission1.Aircraft.Wing.WingCore.Abar*cave[:]^2*Mission1.Aircraft.Wing.Planform.b/2*deta[:]).sum() mw*(1 + 2/Mission1.Aircraft.Wing.Planform.AR) >= 6.28 DF70 W_{DF70} <= Mission1.Aircraft.DF70.W/Mission1.Aircraft.DF70.m_{fac} P_{sl-max} = P_{sl-max} Empennage HorizontalTail Mission1.Aircraft.Empennage.HorizontalTail.W/Mission1.Aircraft.Empennage.HorizontalTail.mfac >= Mission1.Aircraft.Empennage.HorizontalTail.WingSkin.W + Mission1.Aircraft.Empennage.HorizontalTail.WingCore.W Planform Mission1.Aircraft.Empennage.HorizontalTail.Planform.b^2 = Mission1.Aircraft.Empennage.HorizontalTail.Planform.S*Mission1.Aircraft.Empennage.HorizontalTail.Planform.AR cave[:] = cbave[:]*Mission1.Aircraft.Empennage.HorizontalTail.Planform.S/Mission1.Aircraft.Empennage.HorizontalTail.Planform.b Mission1.Aircraft.Empennage.HorizontalTail.Planform.croot = Mission1.Aircraft.Empennage.HorizontalTail.Planform.S/Mission1.Aircraft.Empennage.HorizontalTail.Planform.b*cbar[0] Mission1.Aircraft.Empennage.HorizontalTail.Planform.cmac = Mission1.Aircraft.Empennage.HorizontalTail.Planform.croot*Mission1.Aircraft.Empennage.HorizontalTail.Planform.cbarmac WingSkin Mission1.Aircraft.Empennage.HorizontalTail.WingSkin.W >= CFRPFabric.rho*Mission1.Aircraft.Empennage.HorizontalTail.Planform.S*2*Mission1.Aircraft.Empennage.HorizontalTail.WingSkin.t*g Mission1.Aircraft.Empennage.HorizontalTail.WingSkin.t >= tmin CFRPFabric.tau >= 1/Mission1.Aircraft.Empennage.HorizontalTail.WingSkin.Jtbar/Mission1.Aircraft.Empennage.HorizontalTail.Planform.croot^2/Mission1.Aircraft.Empennage.HorizontalTail.WingSkin.t*Mission1.Aircraft.Empennage.HorizontalTail.WingSkin.Cmw*Mission1.Aircraft.Empennage.HorizontalTail.Planform.S*Mission1.Aircraft.Empennage.HorizontalTail.WingSkin.rhosl*Mission1.Aircraft.Empennage.HorizontalTail.WingSkin.Vne^2 WingCore Mission1.Aircraft.Empennage.HorizontalTail.WingCore.W >= 2*(g*FoamHD.rho*Mission1.Aircraft.Empennage.HorizontalTail.WingCore.Abar*cave[:]^2*Mission1.Aircraft.Empennage.HorizontalTail.Planform.b/2*deta[:]).sum() mh*(1 + 2/Mission1.Aircraft.Empennage.HorizontalTail.Planform.AR) <= 6.28 VerticalTail Mission1.Aircraft.Empennage.VerticalTail.W/Mission1.Aircraft.Empennage.VerticalTail.mfac >= Mission1.Aircraft.Empennage.VerticalTail.WingSkin.W + Mission1.Aircraft.Empennage.VerticalTail.WingCore.W Planform Mission1.Aircraft.Empennage.VerticalTail.Planform.b^2 = Mission1.Aircraft.Empennage.VerticalTail.Planform.S*Mission1.Aircraft.Empennage.VerticalTail.Planform.AR cave[:] = cbave[:]*Mission1.Aircraft.Empennage.VerticalTail.Planform.S/Mission1.Aircraft.Empennage.VerticalTail.Planform.b Mission1.Aircraft.Empennage.VerticalTail.Planform.croot = Mission1.Aircraft.Empennage.VerticalTail.Planform.S/Mission1.Aircraft.Empennage.VerticalTail.Planform.b*cbar[0] Mission1.Aircraft.Empennage.VerticalTail.Planform.cmac = Mission1.Aircraft.Empennage.VerticalTail.Planform.croot*Mission1.Aircraft.Empennage.VerticalTail.Planform.cbarmac WingSkin Mission1.Aircraft.Empennage.VerticalTail.WingSkin.W >= CFRPFabric.rho*Mission1.Aircraft.Empennage.VerticalTail.Planform.S*2*Mission1.Aircraft.Empennage.VerticalTail.WingSkin.t*g Mission1.Aircraft.Empennage.VerticalTail.WingSkin.t >= tmin CFRPFabric.tau >= 1/Mission1.Aircraft.Empennage.VerticalTail.WingSkin.Jtbar/Mission1.Aircraft.Empennage.VerticalTail.Planform.croot^2/Mission1.Aircraft.Empennage.VerticalTail.WingSkin.t*Mission1.Aircraft.Empennage.VerticalTail.WingSkin.Cmw*Mission1.Aircraft.Empennage.VerticalTail.Planform.S*Mission1.Aircraft.Empennage.VerticalTail.WingSkin.rhosl*Mission1.Aircraft.Empennage.VerticalTail.WingSkin.Vne^2 WingCore Mission1.Aircraft.Empennage.VerticalTail.WingCore.W >= 2*(g*FoamHD.rho*Mission1.Aircraft.Empennage.VerticalTail.WingCore.Abar*cave[:]^2*Mission1.Aircraft.Empennage.VerticalTail.Planform.b/2*deta[:]).sum() TailBoom I[:] <= PI*t[:]*d[:]^3/8 Sy[:] <= 2*I[:]/d[:] dm[:] >= PI*CFRPFabric.rho*d[:]*Mission1.Aircraft.Empennage.TailBoom.deta*t[:]*kfac*Mission1.Aircraft.Empennage.TailBoom.l Mission1.Aircraft.Empennage.TailBoom.W/Mission1.Aircraft.Empennage.TailBoom.mfac >= g*dm[:].sum() t[:] >= tmin Mission1.Aircraft.Empennage.TailBoom.S = Mission1.Aircraft.Empennage.TailBoom.l*PI*d[0] Mission1.Aircraft.Empennage.TailBoom.b = 2*Mission1.Aircraft.Empennage.TailBoom.l Mission1.Aircraft.Empennage.W/Mission1.Aircraft.Empennage.mfac >= Mission1.Aircraft.Empennage.HorizontalTail.W + Mission1.Aircraft.Empennage.VerticalTail.W + Mission1.Aircraft.Empennage.TailBoom.W Mission1.Aircraft.Empennage.TailBoom.l >= lh Mission1.Aircraft.Empennage.TailBoom.l >= lv Pylon Mission1.Aircraft.Pylon.S >= 2*Mission1.Aircraft.Pylon.l*Mission1.Aircraft.Pylon.h W_{zfw} >= Mission1.Aircraft.Fuselage.W + Mission1.Aircraft.Wing.W + Mission1.Aircraft.DF70.W + Mission1.Aircraft.Empennage.W + Mission1.Aircraft.Pylon.W + W_{pay} + W_{avn} Vh <= Mission1.Aircraft.Empennage.HorizontalTail.Planform.S*lh/Mission1.Aircraft.Wing.Planform.S^2*Mission1.Aircraft.Wing.Planform.b Vv = Mission1.Aircraft.Empennage.VerticalTail.Planform.S*lv/Mission1.Aircraft.Wing.Planform.S/Mission1.Aircraft.Wing.Planform.b Mission1.Aircraft.Wing.Planform.CLmax/mw <= Mission1.Aircraft.Empennage.HorizontalTail.Planform.CLmax/mh w_{antenna} <= Mission1.Aircraft.Empennage.VerticalTail.Planform.croot*Mission1.Aircraft.Empennage.VerticalTail.Planform.lam Mission1.Aircraft.Empennage.VerticalTail.Planform.b >= l_{antenna} Mission1.Aircraft.Empennage.TailBoom.l >= lh + Mission1.Aircraft.Empennage.HorizontalTail.Planform.croot \mathcal{V}_{pay} <= (PI/1.5)*k_{nose}*R^3 \mathcal{V}_{body} >= \mathcal{V} + \mathcal{V}_{avn} Mission1.Aircraft.DF70.h <= 2*R and AircraftLoading =============== Cost ---- 1 Constraints ----------- TailBoomBending dx[:] = Mission1.Aircraft.Empennage.TailBoom.deta qne[:]*Mission1.Aircraft.Empennage.HorizontalTail.Planform.S <= Mission1.AircraftLoading.TailBoomBending.F \bar{EI}[:] <= CFRPFabric.E*I[:]/Mission1.AircraftLoading.TailBoomBending.F/l^2/2 Mr[:] >= \bar{M}[:-1]*Mission1.AircraftLoading.TailBoomBending.F*l Mr[:]/Sy[:] <= CFRPFabric.sigma Mission1.AircraftLoading.TailBoomBending.th = \theta[1] Mission1.AircraftLoading.TailBoomBending.kappa >= \bar{\delta}[1]*Mission1.Aircraft.Empennage.HorizontalTail.Planform.CLmax*Mission1.AircraftLoading.TailBoomBending.Nsafety Beam \bar{M}[:-1] >= \bar{M}[1:] + 0.5*dx[:]*(\bar{S}[:-1] + \bar{S}[1:]) \bar{M}[1] >= Mission1.AircraftLoading.TailBoomBending.Beam.\bar{M}_{tip} \theta[0] >= Mission1.AircraftLoading.TailBoomBending.Beam.\theta_{root} \theta[1:] >= \theta[:-1] + 0.5*dx[:]*(\bar{M}[1:] + \bar{M}[:-1])/\bar{EI}[:] \bar{\delta}[0] >= Mission1.AircraftLoading.TailBoomBending.Beam.\bar{\delta}_{root} \bar{\delta}[1:] >= \bar{\delta}[:-1] + 0.5*dx[:]*(\theta[1:] + \theta[:-1]) TailBoomBending1 dx[:] = Mission1.Aircraft.Empennage.TailBoom.deta qne[:]*Mission1.Aircraft.Empennage.VerticalTail.Planform.S <= Mission1.AircraftLoading.TailBoomBending1.F \bar{EI}[:] <= CFRPFabric.E*I[:]/Mission1.AircraftLoading.TailBoomBending1.F/l^2/2 Mr[:] >= \bar{M}[:-1]*Mission1.AircraftLoading.TailBoomBending1.F*l Mr[:]/Sy[:] <= CFRPFabric.sigma Mission1.AircraftLoading.TailBoomBending1.th = \theta[1] Mission1.AircraftLoading.TailBoomBending1.kappa >= \bar{\delta}[1]*Mission1.Aircraft.Empennage.VerticalTail.Planform.CLmax*Mission1.AircraftLoading.TailBoomBending1.Nsafety Beam \bar{M}[:-1] >= \bar{M}[1:] + 0.5*dx[:]*(\bar{S}[:-1] + \bar{S}[1:]) \bar{M}[1] >= Mission1.AircraftLoading.TailBoomBending1.Beam.\bar{M}_{tip} \theta[0] >= Mission1.AircraftLoading.TailBoomBending1.Beam.\theta_{root} \theta[1:] >= \theta[:-1] + 0.5*dx[:]*(\bar{M}[1:] + \bar{M}[:-1])/\bar{EI}[:] \bar{\delta}[0] >= Mission1.AircraftLoading.TailBoomBending1.Beam.\bar{\delta}_{root} \bar{\delta}[1:] >= \bar{\delta}[:-1] + 0.5*dx[:]*(\theta[1:] + \theta[:-1]) SparLoading S[:-1] >= S[1:] + 0.5*deta[:]*b/2*(q[:-1] + q[1:]) M[:-1] >= M[1:] + 0.5*deta[:]*b/2*(S[:-1] + S[1:]) N = Mission1.AircraftLoading.SparLoading.Nsafety*Nmax q[:] >= N*W/b*cbar[:] S[11] >= Stip M[11] >= Mtip th[0] >= throot th[1:] >= th[:-1] + 0.5*deta[:]*b/2*(M[1:] + M[:-1])/CFRPUD.E/I[:] w[0] >= wroot w[1:] >= w[:-1] + 0.5*deta[:]*b/2*(th[1:] + th[:-1]) M[:-1]/Sy[:] <= CFRPUD.sigma Mission1.AircraftLoading.SparLoading.kappa >= w[11]/(b/2) FuselageLoading FuselageSkinL M_h >= Mission1.AircraftLoading.FuselageLoading.FuselageSkinL.N_{max}*W_{cent}/4*l_{body} Mission1.AircraftLoading.FuselageLoading.FuselageSkinL.\sigma_{Kevlar} >= M_h*R/Mission1.Aircraft.Fuselage.FuselageSkin.I Mission1.AircraftLoading.FuselageLoading.FuselageSkinL.q >= W_{cent}*Mission1.AircraftLoading.FuselageLoading.FuselageSkinL.N_{max}/l_{body} \kappa*l_{body}/2 >= Mission1.AircraftLoading.FuselageLoading.FuselageSkinL.q*(l_{body}/2)^4/8*Mission1.Aircraft.Fuselage.FuselageSkin.E*Mission1.Aircraft.Fuselage.FuselageSkin.I FuselageLanding Mission1.AircraftLoading.FuselageLoading.FuselageLanding.F >= W_{cent}*Mission1.AircraftLoading.FuselageLoading.FuselageLanding.N_{max} a >= Mission1.AircraftLoading.FuselageLoading.FuselageLanding.F/m \dot{\omega} >= a/(l_{body}/2) M_G >= I_G*\dot{\omega} Mission1.AircraftLoading.FuselageLoading.FuselageLanding.\sigma_{Kevlar} >= M_G*R/Mission1.Aircraft.Fuselage.FuselageSkin.I TailBoomFlexibility Fne >= 1 + mh*Mission1.AircraftLoading.TailBoomBending.th sph1*mw*Fne/mh/Vh + deda <= 1 sph2 <= Vh*CLhmin/Mission1.Aircraft.Wing.Planform.CLmax deda >= mw*Mission1.Aircraft.Wing.Planform.S/b/4/PI/lh sph1 + sph2 >= SMcorr + CM/Mission1.Aircraft.Wing.Planform.CLmax.