Subroutine ESPARA User Guide Last update: 3 Oct 2011 ------------------------------------------------------------------- Philip Carter Esotec Developments philip (at) esotec (dot) org Current versions: XROTOR code v7.55 Subroutine ESPARA v0.8 Package: CROTOR v755-ES1.0 OVERVIEW Subroutine ESPARA adds a parametric analysis capability to XROTOR for variable pitch rotors. The system consists of two components: ESPARA: A subroutine within XROTOR allowing the user to set up parameters for multi-axis parameter sweeps, then automatically calculate analysis data which can be saved to a multi-rotor Esprop database. ESPROP: A standalone utility that reads the resulting data file and presents the data in a variety of ways. This document describes subroutine ESPARA. A separate document describes ESPROP. Maximum array sizes can be changed globally by modifying the following line in ESPARA.INC: PARAMETER (NPROPA=12,NALTA=6,NPWRA=12,NRPMA=10,NVELA=15) C--number of.. rotors altitudes powers rpms velocities Corresponding ESPROP arrays should be changed accordingly. UNITS The parametric extensions were written to facilitate the comparison and selection of constant speed and variable pitch propellers for practical applications in the field. Accordingly, the units used for parameter specification and data output differ from those used within XROTOR itself - being essentially those familiar to the North American aviation community. ESPARA takes care of all unit conversions during I/O. The following units are used by both ESPARA and ESPROP: Velocity: knots Altitude: feet Power: hp Thrust: kgf (Since this mix of metric and imperial units may be unfamiliar to some, user-specified units are planned as time permits...) PROGRAM OPERATION At XROTOR top level the command PARA brings up the .PARA menu and command prompt (note that a rotor must be loaded): OPEN f Load Esprop database from disk' SAVE Save data to current Esprop file' SAVA f Save data to NEW Esprop file (Save As)' DBAS Display database parameters' NEW Enter parameters for new database' VEL Modify Velocity parameters' RPM Modify RPM " ' POW Modify Power " ' ALT Modify Altitude " ' PROP

Display propeller statistics' DELP i Delete propeller from database' NAMP i Modify propeller name' BLOC r Modify beta sample location (0->1)' BOUN Display analysis bounds' BCLR Clear analysis bounds (full sweep)' BVEL Modify Velocity bounds' BRPM Modify RPM " ' BPOW Modify Power " ' BALT Modify Altitude " ' RUN i Run parametric analysis sweep' Return to top level (unsaved data is lost)') .PARA c> OPEN, SAVE, SAVA The first three commands handle Esprop file I/O. OPEN loads an Esprop file from disk, upon which analysis of the loaded rotor can proceed immediately with RUN. SAVE saves data to the current Esprop file. If no file has been specified following NEW, the user is prompted for a filename. SAVA functions as a "save as" command and will prompt for a new filename. An Esprop file can be saved only after parameters have been specified with NEW or an Esprop file has been opened. Note that no provisions are provided for retaining data in memory when returning from ESPARA. A warning is provided upon exiting ESPARA if unsaved parameter values or data exist. DBAS, NEW, VEL, RPM, POW, ALT Unless an Esprop database has been loaded, the first operation is to specify parameter values by executing NEW. Parameters to be specified are as follows: Velocity values (kts) (space-delimited integers) Rpm values " Power values (hp) " Altitude values (ft) " For the sake of simplicity, integers are used for parameter value entry and reporting (converted to real XROTOR units for analysis). To facilitate convergence of the analyis routines each set of parameter values should be specified as an ascending sequence. To ensure correct functioning of the plot routines in ESPROP at least 2 values are required per parameter. After the parameter values have been specified they can be displayed with DBAS or modified with VEL, RPM, POW and ALT. Once propeller analysis data exists, however, parameter values can no longer be modified. PROP The PROP command displays statistics concerning analysed rotors, largely obvious with the possible exception of "Beta Stn" and "BetaRad". These refer to the XROTOR blade station at which blade angle output is sampled (set indirectly with BLOC - see below). DELP, NAMP Propellers can be deleted from the current database with DELP. Arrays are shuffled to maintain contiguous propeller indices. Propellers take the current XROTOR name upon analysis in ESPARA. These names can be modified in the Esprop database at any later time with NAMP (XROTOR names remain unchanged). BLOC (default 0.5) Sets relative location where blade angle is to be sampled (0=root, 1=tip). ESPARA finds the first blade station of equal or greater radius for sampling blade angle data. ANALYSIS BOUNDS For a particular analysis run the user can choose between a complete parameter sweep or any sequential subset. A full sweep is the default. If desired, the bounds for a specific analysis run can be reduced with BVEL, BRPM, BPOW, and BALT. BCLR returns analysis bounds to the default full sweep. Current analysis bounds and operating point totals can be displayed at any time with the command BOUN. RUN The RUN command loops the current rotor through analysis at each combination of operating parameters within the current analysis bounds while saving output data to memory. Command input assigns a propeller index. If the command input matches a current database propeller index, ESPARA will overwrite that index (following appropriate warnings). Otherwise the next contiguous index is assigned. The program will run unattended and store converged data in memory until convergence fails, at which point it will halt analysis, display the unconverged state and present a command prompt allowing input to assist convergence. When the parametric analysis run is complete some statistics are displayed and the data can be saved to disk with SAVE (or S). CONVERGENCE MENU When the analysis routine fails to converge during an analysis run, the user is presented with details about the unconverged point followed by the convergence prompt: ..CONV c> ? brings up the convergence menu: Continue AUTO Auto-initialize blade angles and continue ANGL r Change blade angles manually RPM Analyse at current blade angle FORM Toggle between Graded Mom.and Potential Form VRTX Toggle between Graded Mom.and Vortex Form WAKE Toggle between rigid and self-deforming wake INIT Initialize next analysis case REIN Re-initialize rotor to known operating state ASET Change AUTO settings SKIP Give up trying to converge this point STOP Abort this run and return to .PARA prompt ..CONV c> Most commands duplicate those in OPER. tries to converge the current operating point, whether or not blade angles or analysis settings have been modified. AUTO promotes convergence by initializing blade angles. In some cases the analysis code likes to converge from a higher loading, in other cases from a lower loading. The AUTO command calculates the velocity vector at a specific blade location and rotates the blade to match it before the analysis is run. If that fails, the blade is rotated to progressively greater increments above and below the velocity vector. If the routine fails to converge after a specific number of attempts the user is returned to the convergence prompt. If an operating point can be converged, in most cases AUTO will suffice. RPM analyses the propeller at the current operating point with the current blade angle fixed to facilitate investigation of troublesome operating points. Analysis data is not stored. If convergence can be achieved by RPM following application of the available commands, simply to continue the run. NOTE: Excessive blade stall or high mach numbers typically lead to convergence problems. Hence, propeller geometries and database parameter ranges should be matched with care. If necessary, analysis bounds can be set to broaden this relationship. ASET Change AUTO settings: - Maximum number of convergence attempts (default: 5). - Maximum deviation from the velocity vector to which the blades will be initialized, in degrees (default: 10.0). - Blade location where the velocity vector is sampled (default: 0.7). (This is the relative distance from root to tip, not the radius.) Defaults are set in subroutine CRINIT in crotor.f, since subroutine CROTOR calls the same blade angle initialization routine. SKIP, STOP These should be self-explanatory. If an operating point is skipped the point is flagged as unconverged, the unconverged counter is incremented, and the analysis run continues. STORED DATA At each converged operating point the following information is stored in memory: 1. Blade Angle (deg), sampled at the current Beta station (BLOC). 2. The percentage of the blade length that is stalled. A negative stall is stored as a negative number. Due to the distance between stations this quantity is of relatively coarse resolution, but is useful information nonetheless. 3. The mach number at the tip station. 4. Advance ratio (J) 5. Ideal Efficiency 6. Induced Efficiency 7. Efficiency 8. Thrust (kgf) Each of these data can readily be presented for any series of operating points in ESPROP. NOTES ON SETTING UP DATABASE PARAMETERS Setting up appropriate parameter values, then running rotors capable of operating over these parameter ranges, are keys to the effective use of ESPARA/ESPROP. An Esprop database can be regarded as representing a particular application, such an an aircraft or a class of aircraft. Hence, begin by determining the operating ranges, being the maximum and minimum values of each parameter. These would represent the operating envelope of the application. (Keep in mind that XROTOR cannot handle zero velocity.) Then determine the intervals between parameter values, hence the total number of values in each case. Resist the tempation to skimp on parameter values to reduce analysis time or database size. In general, smaller intervals between values yield faster and more reliable convergence along with more highly resolved output data and smoother plots. IMPORTING BLADE GEOMETRIES The purpose of ESPARA is to provide comparative performance data for multiple propellers over a range of operating points, thus facilitating propeller selection for real-world applications. While in some cases the propellers will be designed directly in XROTOR, in other cases the user might wish to compare existing propellers, in which case the physical blade geometries must be read into XROTOR. There are two ways to do this: ARBI The standard ARBI command at Top Level reads geometry data from the keyboard. See the XROTOR documentation. IMPO This command is implemented in subroutine ESIMP which is based on subroutine ARBI. It performs the same function but reads the geometry from a text file formatted as follows, with values space- delimited. Linear dimensions are in meters, blade angles in degrees. Propeller name [character string] Tip radius Hub radius Number of stations [nst, integer] Radius(1) Chord(1) Angle(1) Radius(2) Chord(2) Angle(2) . . . . . . Radius(nst) Chord(nst) Angle(nst) When an ESIMP file is successfully read the user will be prompted for the number of blades and a preliminary flight speed. Blade section properties should then be set in AERO to produce a complete specification of the propeller ready for analysis. ================================================================== ** END: ESPARA.DOC ** philip (at) esotec (dot) org