OWENSPreComp

Types and functions

OWENSPreComp.embed_lsMethod
embed_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-surf
  • nodes_l::Int: no of current nodes on the lower surface
  • xnode_l::Array{<:Real,1}: x-nodes on lower surface
  • ynode_l::Array{<:Real,1}: y-nodes on lower surface

Outputs:

  • nodes_l: revised no of current nodes on lower surface
  • xnode_l: x-nodes on lower surface
  • ynode_l: y-nodes on lower surface
  • y: y-coordinate of node embedded in the l-surf
  • newnode : number of the embedded node
OWENSPreComp.embed_usMethod
embed_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-surf
  • nodes_u::Int: no of current nodes on the upper surface
  • xnode_u::Array{<:Real,1}: x-nodes on upper surface
  • ynode_u::Array{<:Real,1}: y-nodes on upper surface

Outputs:

  • nodes_u: revised no of current nodes on upper surface
  • xnode_u: x-nodes on upper surface
  • ynode_u: y-nodes on upper surface
  • y: y-coordinate of node embedded in the u-surf
  • newnode : number of the embedded node
OWENSPreComp.propertiesMethod
properties(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 surface
  • ynode::Array{<:Real,1}: y airfoil coordinates starting at leading edge traversing upper surface and back around lower surface
  • e1::Array{<:Real,1}: E1
  • e2::Array{<:Real,1}: E2
  • g12::Array{<:Real,1}: G12
  • anu12::Array{<:Real,1}: Nu12
  • density::Array{<:Real,1}: density
  • xsec_nodeU::Array{<:Real,1}: upper surface normalized chord location of sector boundaries
  • n_laminaU::Array{Int64,1}: upper surface number of lamina in each sector
  • n_pliesU::Array{Int64,1}: upper surface number of plies
  • t_lamU::Array{<:Real,1}: upper surface ply thickness (m) for the lamina
  • tht_lamU::Array{<:Real,1}: upper surface orientation (deg) for the lamina
  • mat_lamU::Array{Int64,1}: upper surface material id for the lamina
  • xsec_nodeL::Array{<:Real,1}: lower surface normalized chord location of sector boundaries
  • n_laminaL::Array{Int64,1}: lower surface number of lamina in each sector
  • n_pliesL::Array{Int64,1}: lower surface number of plies
  • t_lamL::Array{<:Real,1}: lower surface ply thickness (m) for the lamina
  • tht_lamL::Array{<:Real,1}: lower surface orientation (deg) for the lamina
  • mat_lamL::Array{Int64,1}: lower surface material id for the lamina
  • loc_web::Array{<:Real,1}: web normalized chord location of sector boundaries
  • n_laminaW::Array{Int64,1}: web number of lamina in each sector
  • n_pliesW::Array{Int64,1}: web number of plies
  • t_lamW::Array{<:Real,1}: web ply thickness (m) for the lamina
  • tht_lamW::Array{<:Real,1}: web orientation (deg) for the lamina
  • mat_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 nodes
  • n_materials: number of materials
  • n_sctU: number of sectors on upper
  • n_sctL: number of sectors on lower
  • nwebin: number of webs
  • n_laminaTotalU: total number of lamina on upper
  • n_laminaTotalL: total number of lamina on lower
  • n_laminaTotalW: total number of lamina on webs
OWENSPreComp.propertiesMethod
properties(pc_input::Input)

Calculates span-variant structural properties for composite blades. Holds all inputs and outputs to properties function in structs

OWENSPreComp.q_barsMethod
q_bars(mat, thp, density, q11, q22, q12, q66)

Arguments

  • mat: material id
  • thp: ply orientation
  • density:
  • q11:
  • q22:
  • q12:
  • q66:

Outputs

  • qbar11:
  • qbar22:
  • qbar12:
  • qbar16:
  • qbar26:
  • qbar66:
  • rho_m:
OWENSPreComp.readcompositesectionMethod

readcompositesection(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.readmainMethod

readmain("fname::String")

Reads a main OWENSPreComp input file. Returns sloc,leloc,chord,twaero,afshapefile,intstrfile, ibspstn,obspstn,ibchloc,obchloc

OWENSPreComp.readmaterialsFunction

readmaterials(fname = "materials.inp")

reads material properties from OWENSPreComp materials input file fname returns e1,e2,g12,nu12,rho,name

OWENSPreComp.readprofileMethod

readprofile(filename::String, numHeaderlines::Int64, LEtoLE::Bool) Reads precomp profile file. Returns xu, yu, xl, yl

OWENSPreComp.readsectorsfromfileMethod

readsectorsfromfile(f::IOStream, n_sector::Int64)

Reads OWENSPreComp sector. Returns nlamina,nplies, t, theta, mat_idx

OWENSPreComp.seg_infoMethod
seg_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_rateMethod
tw_rate(naf, sloc, tw_aero)

Arguments

  • naf: no of blade stations
  • sloc: vector of station locations
  • tw_aero_d: vector of twist distribution in degrees

Outputs

  • th_prime_d: vector of twist rates in degrees