| Procedure | Location | Procedure Type | Description |
|---|---|---|---|
| append_row_2d | libHDF5 | Subroutine | Append a 1D array as a new row in an extendable 2D dataset (nt x ns) |
| append_scalar_1d | libHDF5 | Subroutine | Append a single scalar to an extendable 1D dataset |
| blade_burst_wake | classdef | Subroutine | |
| blade_calc_force | classdef | Subroutine | Compute force using blade circulation |
| blade_calc_force_alpha | classdef | Subroutine | Compute force using sectional alpha |
| blade_calc_force_alphaGamma | classdef | Subroutine | Compute force using alpha approximated from sec circulation |
| blade_calc_secAlpha | classdef | Subroutine | Compute sec alpha using sec resultant velocity |
| blade_calc_secChordwiseResVel | classdef | Subroutine | Compute sectional resultant vel by interpolating local panel vel |
| blade_calc_secLocations | classdef | Subroutine | Compute important locations at each section coordinates of collocation point located at chord fraction flap moment arm |
| blade_calc_skew | classdef | Subroutine | |
| blade_calc_stlStats | classdef | Subroutine | |
| blade_computeBladeDynamics | classdef | Subroutine | |
| blade_convectwake | classdef | Subroutine | Convect wake collocation points using velNwake matrix |
| blade_dirLiftDrag | classdef | Subroutine | Compute lift and drag direction vectors |
| blade_getSecDynamicPressure | classdef | Function | |
| blade_limitWakeVel | classdef | Subroutine | Limits wake velocity to a set value to prevent blow up. Near wake only for predicted wake; near and far for current wake. |
| blade_lookup_secCoeffs | classdef | Subroutine | |
| blade_move | classdef | Subroutine | Move blade by dshift |
| blade_read | classdef | Subroutine | |
| blade_rot_flap | classdef | Subroutine | Rotate blade by flap angle |
| blade_rot_pitch | classdef | Subroutine | Rotate blade by pitch angle about pivotLE |
| blade_rot_pts | classdef | Subroutine | Rotate blade using pts. pts refers to (phi, theta, psi) |
| blade_rot_wake_axis | classdef | Subroutine | Rotate wake about axis at specified origin |
| blade_rotate | classdef | Subroutine | Rotate blade geometry about axis at specified origin Rotation angle in radians |
| blade_secCoeffsToSecForces | classdef | Subroutine | Convert force coefficients to dimensional forces |
| blade_sumSecToNetForces | classdef | Subroutine | Sum up sectional forces to net forces |
| blade_vind_boundVortex | classdef | Function | Compute induced velocity by bound vortices alone |
| blade_vind_bywake | classdef | Function | Compute induced velocity by wake vortex rings |
| blade_vind_bywing | classdef | Function | Compute induced velocity by blade bound vorticity |
| blade_vind_bywing_boundVortices | classdef | Function | Compute induced velocity by bound vortices alone |
| blade_vind_bywing_chordwiseVortices | classdef | Function | Compute induced velocity by bound vortices alone |
| blade_vindSource_bywing | classdef | Function | Compute induced velocity by blade bound vorticity |
| blade_wake_continuity | classdef | Subroutine | Maintain continuity between vortex ring elements after convection of wake collocation points |
| blade_write | classdef | Subroutine | |
| calc_secArea | classdef | Subroutine | |
| calc_secChord | classdef | Subroutine | |
| calc_skew | classdef | Subroutine | Compute skew |
| close_hdf5 | libHDF5 | Subroutine | Flush and close HDF5 file. Call after results2hdf5. |
| cosspace | libMath | Function | Return cossine-spaced array over a specified interval |
| cosspace | libMath | Function | Return cossine-spaced array over a specified interval |
| create_extendable_1d | libHDF5 | Subroutine | Create an extendable 1D dataset of shape (0,) with unlimited max dim |
| create_extendable_2d | libHDF5 | Subroutine | Create an extendable 2D dataset of shape (0, ns) -- time x span |
| cross_product | libMath | Function | Compute cross product between two 3d vectors |
| cross_product | libMath | Function | Compute cross product between two 3d vectors |
| deinit_hdf5 | libHDF5 | Subroutine | Deinitialize HDF5 library (h5close_f). file_id unused (kept for API). |
| dynamics2file | libPostprocess | Subroutine | Rotor dynamics to file |
| error_message | libErrorHandling | Function | |
| filaments2file | libPostprocess | Subroutine | Write filaments to file for using with grid-based plots |
| force2file | libPostprocess | Subroutine | |
| Fwake_assignP | classdef | Subroutine | Assign point to nth endpoint of filament |
| Fwake_decay | classdef | Subroutine | |
| Fwake_mirror | classdef | Subroutine | Mirror gamma and coordinates about a specified plane |
| Fwake_rot | classdef | Subroutine | Rotate using TMat about originVec |
| Fwake_shiftdP | classdef | Subroutine | Shift coordinates of nth corner by dshift distance (usually for Udt convection) |
| gamma2file | libPostprocess | Subroutine | Calculate inflow velocity along directionVector on the blades of rotor(rotorNumber) at rotor(rotorNumber)%secCP |
| geom2file | libPostprocess | Subroutine | Plot rotor geometry and wake to file |
| geomSurface2file | libPostprocess | Subroutine | Plot surface geometry to file |
| getAngleCos | libMath | Function | Angle between two 3d vectors using cos formula Assumes no angle > 180 deg exists |
| getAngleCos | libMath | Function | Angle between two 3d vectors using cos formula Assumes no angle > 180 deg exists |
| getAngleTan | libMath | Function | Angle between two 3d vectors using tan formula Result will be from -pi to pi |
| getAngleTan | libMath | Function | Angle between two 3d vectors using tan formula Result will be from -pi to pi |
| getCD | libC81 | Function | Returns value of 2-d linearly interpolated CD for given alphaQuery and machQuery values |
| getCL | libC81 | Function | Returns value of 2-d linear interpolated CL for a given alphaQuery and machQuery values |
| getCM | libC81 | Function | Returns value of 2-d linearly interpolated CM for given alphaQuery and machQuery values |
| getddflap | classdef | Function | Returns ddflap from blade flap equation |
| getdw | classdef | Function | |
| getTransformAxis | libMath | Function | Transformation matrix for theta angular rotation about a 3d axis |
| getTransformAxis | libMath | Function | Transformation matrix for theta angular rotation about a 3d axis |
| halfsinspace | libMath | Function | Return half sine-spaced array over a specified interval |
| halfsinspace | libMath | Function | Return half sine-spaced array over a specified interval |
| inflow2file | libPostprocess | Subroutine | Calculate inflow velocity along directionVector on the blades of rotor(rotorNumber) at rotor(rotorNumber)%secCP |
| init_hdf5 | libHDF5 | Subroutine | Create HDF5 file with extendable structure. Call before results2hdf5, then close_hdf5. |
| init_plots | libPostprocess | Subroutine | Initialise headers for plot files |
| interp1d | libMath | Function | 1-d Interpolation using 1st and 2nd order Lagrange polynomials |
| interp1d | libMath | Function | 1-d Interpolation using 1st and 2nd order Lagrange polynomials |
| inv | libMath | Function | Native implementation of matrix inverse based on Doolittle method |
| inv | libMath | Function | Native implementation of matrix inverse based on Doolittle method |
| inv2 | libMath | Function | Inverse of a matrix calculated by finding the LU decomposition using LAPACK |
| inv2 | libMath | Function | Inverse of a matrix calculated by finding the LU |
| isFloatEqual | libMath | Function | Checks if a == b within a tolerance |
| isFloatEqual | libMath | Function | Checks if a == b within a tolerance |
| isInverse | libMath | Function | Check if Ainv is inverse of matrix A by multiplication |
| isInverse | libMath | Function | Check if Ainv is inverse of matrix A by multiplication |
| length3d | libMath | Function | Compute length of linesegment between points P1 and P2 |
| length3d | libMath | Function | Compute length of linesegment between points P1 and P2 |
| linspace | libMath | Function | Return linearly-spaced array over a specified interval |
| linspace | libMath | Function | Return linearly-spaced array over a specified interval |
| lsq2 | libMath | Interface | |
| lsq2 | libMath | Interface | |
| lsq2_array | libMath | Function | |
| lsq2_array | libMath | Function | |
| lsq2_scalar | libMath | Function | Linear Least Squares fitting (2nd order) |
| lsq2_scalar | libMath | Function | Linear Least Squares fitting (2nd order) |
| matmul2 | libMath | Function | Matrix multiplication implemented using BLAS |
| matmul2 | libMath | Function | Matrix multiplication |
| matmulAX | libMath | Function | Matrix multiplication with vector implemented using BLAS |
| matmulAX | libMath | Function | Matrix multiplication with vector |
| noProjVec | libMath | Function | Removes component along dirVec from a vector aVec |
| noProjVec | libMath | Function | Removes component along dirVec from a vector aVec |
| outer_product | libMath | Function | Compute outer product between two 3d vectors |
| outer_product | libMath | Function | Compute outer product between two 3d vectors |
| params2file | libPostprocess | Subroutine | Write rotor parameters to json file |
| pFwake_rot_wake_axis | classdef | Subroutine | |
| pFwake_update | classdef | Subroutine | |
| print_mat | libMath | Subroutine | Display in matrix format |
| print_mat | libMath | Subroutine | Display in matrix format |
| print_status | libCommon | Subroutine | Prints status message (or SUCCESS if left blank) |
| probes2file | libPostprocess | Subroutine | Write velocities at probe locations |
| projVec | libMath | Function | Returns 3d vector aVec projected along dirVec |
| projVec | libMath | Function | Returns 3d vector aVec projected along dirVec |
| pwl_interp1d | libMath | Function | Piecewise linear 1d interpolation |
| pwl_interp1d | libMath | Function | Piecewise linear 1d interpolation |
| raise_error | libErrorHandling | Subroutine | |
| readConfig | libCommon | Subroutine | Read config.nml input file (in namelist format) |
| readfile | libC81 | Subroutine | Reads from C81 file to C81 class |
| results2hdf5 | libHDF5 | Subroutine | Append one timestep of data to open HDF5 file. |
| rotor_age_wake | classdef | Subroutine | Update age of wake filaments |
| rotor_assignshed | classdef | Subroutine | Assign coordinates to first rowNear of wake from last row of blade |
| rotor_burst_wake | classdef | Subroutine | |
| rotor_calc_force | classdef | Subroutine | Compute force from circulation |
| rotor_calc_force_alpha | classdef | Subroutine | Compute force from sec alpha |
| rotor_calc_force_alphaGamma | classdef | Subroutine | Compute force from sec alpha |
| rotor_calc_secAlpha | classdef | Subroutine | |
| rotor_calc_skew | classdef | Subroutine | |
| rotor_calcAIC | classdef | Subroutine | Compute AIC matrix for rotor |
| rotor_computeBladeDynamics | classdef | Subroutine | |
| rotor_computeBodyDynamics | classdef | Subroutine | |
| rotor_convectwake | classdef | Subroutine | |
| rotor_deinit | classdef | Subroutine | Deinitialise rotor variables |
| rotor_dirLiftDrag | classdef | Subroutine | |
| rotor_dissipate_wake | classdef | Subroutine | Dissipation model based on the paper: Generalized Viscous Vortex Model for Application to Free-Vortex Wake Calculations,Bhagwat and Leishman (2002) The apparent viscosity coefficient is 'delta' and kept a constant value. delta has to be 100 for small-scale rotors and around 1000 for large-scale rotors |
| rotor_dissipate_wake2 | classdef | Subroutine | Dissipation model based on the paper: Generalized Viscous Vortex Model for Application to Free-Vortex Wake Calculations,Bhagwat and Leishman (2002) The apparent viscosity coefficient is 'a1' known as Squire's app. viscosity parameter and this allows the dissipation to be dependent on the vortex strength The apparent viscosity is kinematic viscosity plus the turbulent viscosity (a1*|gamma|)) a1 has to be O(1e-4) for rotary wings (usually set to 2e-4) and O(1e-5) for fixed wings |
| rotor_eraseFwake | classdef | Subroutine | Erase a far wake row by setting gamma to zero |
| rotor_eraseNwake | classdef | Subroutine | Erase a near wake row by setting gamma to zero |
| rotor_getCamber | classdef | Function | Get z coordinate on wing from x, y values |
| rotor_getflap | classdef | Function | Prescribed flap [rad]: flap0 + flapCcos(psi) + flapSsin(psi) |
| rotor_getflapdot | classdef | Function | Prescribed flap rate: d(flap)/dt = Omega * d(flap)/d(psi) [rad/s] |
| rotor_gettheta | classdef | Function | Get pitch angle corresponding to blade azimuthal location |
| rotor_getthetadot | classdef | Function | |
| rotor_init | classdef | Subroutine | Initialize variables of rotor geometry and wake |
| rotor_map_gam | classdef | Subroutine | Map gam from vector to matrix format |
| rotor_mirrorGamma | classdef | Subroutine | Mirrors gamma from another rotor |
| rotor_mirrorVelCP | classdef | Subroutine | Mirrors velCP, velCPm from another rotor (flip velocity component in mirror plane) |
| rotor_mirrorWake | classdef | Subroutine | Mirrors wake positions from another rotor |
| rotor_move | classdef | Subroutine | |
| rotor_plot3dtoblade | classdef | Subroutine | Read blade geometry from PLOT3D formatted file |
| rotor_read | classdef | Subroutine | |
| rotor_readGeom | classdef | Subroutine | Read rotor geometry from geomXX.nml in namelist format |
| rotor_rollup | classdef | Subroutine | |
| rotor_rot_advance | classdef | Subroutine | Rotate rotor by dpsi angle about axis |
| rotor_rot_flap | classdef | Subroutine | Rotate blades by flap angle |
| rotor_rot_pts | classdef | Subroutine | Rotate using pts => phi theta psi Warning: This rotation is about the global reference frame |
| rotor_shiftFwake | classdef | Subroutine | Shift wake locations of Fwake for truncation |
| rotor_shiftwake | classdef | Subroutine | Shift wake locations on rollup |
| rotor_stltoblade | classdef | Subroutine | Read ASCII stl file for non-lifting surface geometry |
| rotor_strain_wake | classdef | Subroutine | |
| rotor_sumBladeToNetForces | classdef | Subroutine | |
| rotor_toChordsRevs | classdef | Subroutine | Converts -ve nsteps to nsteps for corresponding no. of chords or revs |
| rotor_updatePrescribedWake | classdef | Subroutine | Attaches prescribed far wake |
| rotor_vind_bywake | classdef | Function | |
| rotor_vind_bywing | classdef | Function | Compute induced velocity by all wing vortices at P |
| rotor_vind_bywing_boundVortices | classdef | Function | Compute induced velocity by bound vortices at P |
| rotor_write | classdef | Subroutine | |
| skew2file | libPostprocess | Subroutine | Skew parameter to file |
| tanspace | libMath | Function | Return tan-spaced array over a specified interval |
| tanspace | libMath | Function | Return tan-spaced array over a specified interval |
| Tbg | libMath | Function | Transformation matrix (body to global frame) |
| Tbg | libMath | Function | Transformation matrix (body to global frame) |
| Tgb | libMath | Function | Transformation matrix (global to body frame) |
| Tgb | libMath | Function | Transformation matrix (global to body frame) |
| tip2file | libPostprocess | Subroutine | Wake tip to file |
| trapz | libMath | Function | Trapezoid integration with unequal intervals |
| trapz | libMath | Function | Trapezoid integration with unequal intervals |
| unitVec | libMath | Function | Normalizes a non-zero 3d vector |
| unitVec | libMath | Function | Normalizes a non-zero 3d vector |
| vel_order2_Fwake | libCommon | Function | Calculate 2nd order accurate induced velocity on far wake |
| vel_order2_Nwake | libCommon | Function | Calculate 2nd order accurate induced velocity on near wake |
| vf_calclength | classdef | Subroutine | Compute length of vortex filament |
| vf_strain | classdef | Subroutine | |
| vf_vind | classdef | Function | Compute induced velocity by unit strength vortex filament |
| vind_onFwake_byRotor | libCommon | Function | Compute induced velocity by rotor (wing + wake) on Fwake corner points |
| vind_onNwake_byRotor | libCommon | Function | Compute induced velocity by rotor (wing + wake) on Nwake corner points |
| vr_assignP | classdef | Subroutine | Assign coordinates to nth corner |
| vr_burst | classdef | Subroutine | Burst vortex filaments if skewLimit is exceeded |
| vr_calclength | classdef | Subroutine | Calculate length of filaments in vortex ring |
| vr_decay | classdef | Subroutine | |
| vr_getBimedianCos | classdef | Function | Obtain angle between bimedians |
| vr_getInteriorAngles | classdef | Function | Obtain interior angles of vortex ring |
| vr_getMedianAngle | classdef | Function | Obtain median angle of vortex ring |
| vr_mirror | classdef | Subroutine | Mirror gamma and coordinates about a specified plane |
| vr_rot | classdef | Subroutine | Rotate vortex ring using Tmat about origin |
| vr_shiftdP | classdef | Subroutine | Shift coordinates of nth corner by dshift distance (usually for U*dt convection) |
| vr_strain | classdef | Subroutine | |
| vr_vind | classdef | Function | Compute induced velocity by unit strength 4-element vortex ring |
| vr_vindSource | classdef | Function | Compute induced velocity by unit strength 3-element source ring |
| wingpanel_assignP | classdef | Subroutine | Assign coordinates to nth corner |
| wingpanel_calc_area | classdef | Subroutine | |
| wingpanel_calc_chordwiseResVel | classdef | Subroutine | Compute panel resultant velocities using local velocities |
| wingpanel_calc_mean_dimensions | classdef | Subroutine | Calculate mean chord and mean span |
| wingpanel_calcCP | classdef | Subroutine | Compute collocation point location |
| wingpanel_calcN | classdef | Subroutine | Compute normal vector |
| wingpanel_calcTau | classdef | Subroutine | Compute chordwise and spanwise tangential vectors |
| wingpanel_invertNcap | classdef | Subroutine | |
| wingpanel_isCPinsidecore | classdef | Function | Check whether collocation point lies inside viscous core region of vortex ring |
| wingpanel_rot | classdef | Subroutine | Rotate panel using transformation matrix |
| wingpanel_shiftdP | classdef | Subroutine | Shift corners of vortex ring by dshift |
| write_fixed_1d | libHDF5 | Subroutine | Write a fixed-size 1D dataset (not extendable) -- used for r_R |
| write_fixed_2d | libHDF5 | Subroutine | Write a fixed-size 2D dataset (1 x ncols) for snapshot files |
| write_geom_params | libHDF5 | Subroutine | Write geom.nml parameters to geom sub-group under the rotor |
| write_params | libHDF5 | Subroutine | |
| write_scalar_double | libHDF5 | Subroutine | |
| write_scalar_int | libHDF5 | Subroutine | |
| write_vector_3d | libHDF5 | Subroutine | |
| writefile | libC81 | Subroutine | Writes C81 class data to C81 file |