# Load Dependencies from IPython.display import display_markdown from pyapm import panelsystem_from_json from pyapm.outputs.msh import panelresult_to_msh from pyvlm import latticesystem_from_json #%% # Create Panel System jsonfilepath = '../files/Test_straight.json' psys = panelsystem_from_json(jsonfilepath) display_markdown(psys) #%% # Create Lattice System jsonfilepath = '../files/Test_straight.json' lsys = latticesystem_from_json(jsonfilepath) display_markdown(lsys) #%% # Panel Result pres = psys.results['Test Alpha'] display_markdown(pres) #%% # Lattice Result Result lres = lsys.results['Test Alpha'] display_markdown(lres) #%% # Plot Lift Distribution axl = None
#%% Import Dependencies from IPython.display import display from pyvlm import LatticeOptimum from pyvlm.tools import bell_lift_force_distribution, elliptical_lift_force_distribution from pyvlm import latticesystem_from_json from matplotlib.pyplot import subplots #%% Inputs L = 64.498 # N rho = 1.206 # kg/m**3 V = 12.9173511047957 # m/s #%% Low AR Wing jsonfilepath1 = '../files/Test_rhofw_elliptical.json' lsys1 = latticesystem_from_json(jsonfilepath1) display(lsys1) #%% High AR Wing jsonfilepath2 = '../files/Test_rhofw_bell.json' lsys2 = latticesystem_from_json(jsonfilepath2) display(lsys2) #%% Low AR Wing Optimum # lres1 = LatticeResult('Low AR Wing Elliptical', lsys1) # lres1.set_state(speed=V) # lres1.set_density(rho=rho) l1 = elliptical_lift_force_distribution(lsys1.srfcs[0].strpy, lsys1.bref, L) # lres1.set_lift_force_distribution(l1, rho=rho, speed=V) # display(lres1)
#%% Load Dependencies from math import pi from time import perf_counter from pyvlm import latticesystem_from_json, LatticeSystem from pyvlm.classes.latticesystem import velocity_matrix from numpy.linalg import norm from numpy import fill_diagonal #%% Create Lattice System jsonfilepath = '../files/Test_matrix.json' lsys = latticesystem_from_json(jsonfilepath, mesh=False) print(lsys) #%% Calculate Matrices _ = lsys.ra _ = lsys.rb _ = lsys.rc _ = lsys.rg _ = lsys.avc _ = lsys.avg #%% Define Functions def control_velocity_matrix(sys: LatticeSystem): vgi, vga, vgb = velocity_matrix(sys.ra, sys.rb, sys.rc) return (vgi + vga - vgb) / (4 * pi) def induced_velocity_matrix(sys: LatticeSystem): vgi, vga, vgb = velocity_matrix( sys.ra,
print(f'S = {S:.4f} m**2') CL = 0.6 print(f'CL = {CL:.1f}') rho = 1.206 # kg/m**3 print(f'rho = {rho:.3f} kg/m**3') # rho = 1.0 V = (W/S/rho/CL*2)**0.5 print(f'V = {V:.4f} m/s') q = rho*V**2/2 # Pa print(f'q = {q:.2f} Pa') #%% Low AR Wing System jsonfilepath = '../files/Test_rhofw.json' lsys = latticesystem_from_json(jsonfilepath) lsys_opt = latticesystem_from_json(jsonfilepath) lsys_bll = latticesystem_from_json(jsonfilepath) display(lsys) #%% Create Initial Result lres_org = LatticeResult('Initial', lsys) lres_org.set_state(speed=V) lres_org.set_density(rho=rho) display(lres_org) #%% Bell Shaped Lift Distribution lbll = bell_lift_force_distribution(lsys.srfcs[0].strpy, lsys.bref, W) lopt_bll = LatticeOptimum('Bell', lsys_bll) lopt_bll.set_target_lift_force_distribution(lbll, rho, V)