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