OWENSPreComp
Types and functions
OWENSPreComp.Input — TypeStruct for holding inputs to OWENSPreComp.properties()
OWENSPreComp.Output — TypeStruct type for holding outputs of OWENSPreComp.properties()
OWENSPreComp.input — TypeStruct for holding inputs to OWENSPreComp.properties()
OWENSPreComp.embed_ls — Methodembed_ls(x, nodes_l, xnode_l, ynode_l)purpose: embed a node in the lower-surface airfoil section nodes NOTE: nodal x coordinates must be in ascending order
Arguments:
x::Real: x-coordinate of node to be embedded in the l-surfnodes_l::Int: no of current nodes on the lower surfacexnode_l::Array{<:Real,1}: x-nodes on lower surfaceynode_l::Array{<:Real,1}: y-nodes on lower surface
Outputs:
nodes_l: revised no of current nodes on lower surfacexnode_l: x-nodes on lower surfaceynode_l: y-nodes on lower surfacey: y-coordinate of node embedded in the l-surfnewnode: number of the embedded node
OWENSPreComp.embed_us — Methodembed_us(x, nodes_u, xnode_u, ynode_u)purpose: embed a node in the upper-surface airfoil section nodes NOTE: nodal x coordinates must be in ascending order
Arguments:
x::Real: x-coordinate of node to be embedded in the u-surfnodes_u::Int: no of current nodes on the upper surfacexnode_u::Array{<:Real,1}: x-nodes on upper surfaceynode_u::Array{<:Real,1}: y-nodes on upper surface
Outputs:
nodes_u: revised no of current nodes on upper surfacexnode_u: x-nodes on upper surfaceynode_u: y-nodes on upper surfacey: y-coordinate of node embedded in the u-surfnewnode: number of the embedded node
OWENSPreComp.properties — Methodproperties(chord::Array{<:Real,1}, tw_aero_d::Array{<:Real,1},
tw_prime_d::Array{<:Real,1}, le_loc::Real, xnode::Array{<:Real,1},
ynode::Array{<:Real,1}, e1::Array{<:Real,1}, e2::Array{<:Real,1},
g12::Array{<:Real,1}, anu12::Array{<:Real,1}, density::Array{<:Real,1},
xsec_nodeU::Array{<:Real,1}, n_laminaU::Array{Int64,1},
n_pliesU::Array{Int64,1}, t_lamU::Array{<:Real,1},
tht_lamU::Array{<:Real,1}, mat_lamU::Array{Int64,1},
xsec_nodeL::Array{<:Real,1}, n_laminaL::Array{Int64,1},
n_pliesL::Array{Int64,1}, t_lamL::Array{<:Real,1},
tht_lamL::Array{<:Real,1}, mat_lamL::Array{Int64,1},
loc_web::Array{<:Real,1}, n_laminaW::Array{Int64,1},
n_pliesW::Array{Int64,1}, t_lamW::Array{<:Real,1},
tht_lamW::Array{<:Real,1}, mat_lamW::Array{Int64,1})Calculates span-variant structural properties for composite blades
Inputs
chord::Real: section chord length (m)tw_aero_d::Real: section twist angle (deg)tw_prime_d::Real: derivative of section twist angle w.r.t. span location (deg/m)le_loc::Real: leading edge location relative to reference axis (normalized by chord)xnode::Array{<:Real,1}: x airfoil coordinates starting at leading edge traversing upper surface and back around lower surfaceynode::Array{<:Real,1}: y airfoil coordinates starting at leading edge traversing upper surface and back around lower surfacee1::Array{<:Real,1}: E1e2::Array{<:Real,1}: E2g12::Array{<:Real,1}: G12anu12::Array{<:Real,1}: Nu12density::Array{<:Real,1}: densityxsec_nodeU::Array{<:Real,1}: upper surface normalized chord location of sector boundariesn_laminaU::Array{Int64,1}: upper surface number of lamina in each sectorn_pliesU::Array{Int64,1}: upper surface number of pliest_lamU::Array{<:Real,1}: upper surface ply thickness (m) for the laminatht_lamU::Array{<:Real,1}: upper surface orientation (deg) for the laminamat_lamU::Array{Int64,1}: upper surface material id for the laminaxsec_nodeL::Array{<:Real,1}: lower surface normalized chord location of sector boundariesn_laminaL::Array{Int64,1}: lower surface number of lamina in each sectorn_pliesL::Array{Int64,1}: lower surface number of pliest_lamL::Array{<:Real,1}: lower surface ply thickness (m) for the laminatht_lamL::Array{<:Real,1}: lower surface orientation (deg) for the laminamat_lamL::Array{Int64,1}: lower surface material id for the laminaloc_web::Array{<:Real,1}: web normalized chord location of sector boundariesn_laminaW::Array{Int64,1}: web number of lamina in each sectorn_pliesW::Array{Int64,1}: web number of pliest_lamW::Array{<:Real,1}: web ply thickness (m) for the laminatht_lamW::Array{<:Real,1}: web orientation (deg) for the laminamat_lamW::Array{Int64,1}: web material id for the lamina
Outputs:
eifbar: ei_flap, Section flap bending stiffness about the YE axis (Nm2)eilbar: ei_lag, Section lag (edgewise) bending stiffness about the XE axis (Nm2)gjbar: gj, Section torsion stiffness (Nm2)eabar: ea, Section axial stiffness (N)eiflbar: s_fl, Coupled flap-lag stiffness with respect to the XE-YE frame (Nm2)sfbar: s_af, Coupled axial-flap stiffness with respect to the XE-YE frame (Nm)slbar: s_al, Coupled axial-lag stiffness with respect to the XE-YE frame (Nm.)sftbar: s_ft, Coupled flap-torsion stiffness with respect to the XE-YE frame (Nm2)sltbar: s_lt, Coupled lag-torsion stiffness with respect to the XE-YE frame (Nm2)satbar: s_at, Coupled axial-torsion stiffness (Nm)z_sc: x_sc, X-coordinate of the shear-center offset with respect to the XR-YR axes (m)y_sc: y_sc, Chordwise offset of the section shear-center with respect to the reference frame, XR-YR (m)ztc_ref: x_tc, X-coordinate of the tension-center offset with respect to the XR-YR axes (m)ytc_ref: y_tc, Chordwise offset of the section tension-center with respect to the XR-YR axes (m)mass: mass, Section mass per unit length (Kg/m)iflap_eta: flap_iner, Section flap inertia about the YG axis per unit length (Kg-m)ilag_zeta: lag_iner, Section lag inertia about the XG axis per unit length (Kg-m)tw_iner_d: twinerd, Orientation of the section principal inertia axes with respect the blade reference plane, θ (deg)zcm_ref: x_cm, X-coordinate of the center-of-mass offset with respect to the XR-YR axes (m)ycm_ref: y_cm, Chordwise offset of the section center of mass with respect to the XR-YR axes (m)n_af_nodes: number of airfoil nodesn_materials: number of materialsn_sctU: number of sectors on uppern_sctL: number of sectors on lowernwebin: number of websn_laminaTotalU: total number of lamina on uppern_laminaTotalL: total number of lamina on lowern_laminaTotalW: total number of lamina on webs
OWENSPreComp.properties — Methodproperties(pc_input::Input)Calculates span-variant structural properties for composite blades. Holds all inputs and outputs to properties function in structs
OWENSPreComp.q_bars — Methodq_bars(mat, thp, density, q11, q22, q12, q66)Arguments
mat: material idthp: ply orientationdensity:q11:q22:q12:q66:
Outputs
qbar11:qbar22:qbar12:qbar16:qbar26:qbar66:rho_m:
OWENSPreComp.readcompositesection — Methodreadcompositesection(fname::String,locw::Array{Float64,1})
Reads a composite section input file. Returns locU, nlaminaU, npliesU, tU, thetaU, matidxU, locL, nlaminaL, npliesL, tL, thetaL, matidxL, locW, nlaminaW, npliesW, tW, thetaW, mat_idxW
OWENSPreComp.readmain — Methodreadmain("fname::String")
Reads a main OWENSPreComp input file. Returns sloc,leloc,chord,twaero,afshapefile,intstrfile, ibspstn,obspstn,ibchloc,obchloc
OWENSPreComp.readmaterials — Functionreadmaterials(fname = "materials.inp")
reads material properties from OWENSPreComp materials input file fname returns e1,e2,g12,nu12,rho,name
OWENSPreComp.readprecompprofile — Methodreadprecompprofile(filename::String) Reads precomp profile file. Returns xu, yu, xl, yl
OWENSPreComp.readprofile — Methodreadprofile(filename::String, numHeaderlines::Int64, LEtoLE::Bool) Reads precomp profile file. Returns xu, yu, xl, yl
OWENSPreComp.readsectorsfromfile — Methodreadsectorsfromfile(f::IOStream, n_sector::Int64)
Reads OWENSPreComp sector. Returns nlamina,nplies, t, theta, mat_idx
OWENSPreComp.seg_info — Methodseg_info(ch, rle, nseg, nseg_u, nseg_p, xnode_u, ynode_u,
xnode_l, ynode_l, ndl1, ndu1, loc_web, weby_u, weby_l, n_scts,
xsec_node)NOTE: coord transformation from xaf-yaf to yre-zref and seg info
OWENSPreComp.tw_rate — Methodtw_rate(naf, sloc, tw_aero)Arguments
naf: no of blade stationssloc: vector of station locationstw_aero_d: vector of twist distribution in degrees
Outputs
th_prime_d: vector of twist rates in degrees