Guide

The PRD format

MADETOOL reads a plain-text Product Requirements Document (format 1.7). The tables on this page are generated from the solver's schema (MADETOOL 1.0.0).

Line syntax

[section]                                   groups keys
key  = value unit REF | attr = value ...    fixed value / target
key >= value unit REF | ...                 requirement: must be AT LEAST
key <= value unit REF | ...                 requirement: must NOT EXCEED
# comment                                   to the end of the line

value : 12.5   3e-4   [300 200 150]   "quoted text"   WORD

Nothing in a PRD is ever evaluated: MADETOOL parses it with regular expressions only. Free text with spaces, # or | must be in double quotes.

Keywords

  • TBD - not known yet; never treated as zero. A required key that is TBD blocks the run.
  • NONE - no limit / not applicable, where allowed.
  • AUTO - the tool sizes or estimates the value, where allowed.
  • DEFAULT - use the model default (fidelity options).

References

Airspeeds must state TAS, EAS, CAS or IAS. Altitudes must state AGL or MSL; AGL is measured from environment.site_elevation.

Requirement attributes

AttributeValuesMeaning
idtextRequirement ID (default: section.key)
srctextSource of the value; PLACEHOLDER/ASSUMED flags an unconfirmed value
notetextFree note
typeHARD_LIMIT, MINIMUM, TARGET, PREFERENCERequirement type
priointegerPriority 1 (highest) .. 5
toltolTARGET tolerance: % or - (relative) or a unit of the key (absolute)
altnumber with unit, or CRUISE, SITEAltitude of the operating condition (or CRUISE / SITE)
isa_devnumberISA deviation of the operating condition
oatnumberOutside air temperature of the operating condition (alternative to isa_dev)
configCLEAN, TAKEOFF, LANDINGAerodynamic configuration

Requirement keys

KeyOperatorDefault typeUnit (SI)RequiredMeaning
payload.mass_max>=MINIMUMkgYesMaximum payload mass the aircraft must carry (sets MTOW case)
payload.volume>=MINIMUMm^3NoRequired internal payload volume
performance.endurance>=MINIMUMsNoMax endurance, NORMAL payload, take-off to landing, reserves excluded
performance.endurance_max_payload>=MINIMUMsNoMax endurance with MAX payload
performance.range>=MINIMUMmNoMax range (ground distance), NORMAL payload, take-off to landing, reserves excluded, with mission.headwind
performance.range_max_payload>=MINIMUMmNoMax range (ground distance) with MAX payload, with mission.headwind
performance.speed_max_level>=MINIMUMm/s (TAS/EAS/CAS/IAS)YesMax level-flight speed at MTOW, max continuous power
performance.speed_cruise= >=TARGETm/s (TAS/EAS/CAS/IAS)YesNormal cruise speed (used by FIXED cruise policy)
performance.speed_stall<=HARD_LIMITm/s (TAS/EAS/CAS/IAS)NoMax allowed 1-g stall speed at MTOW in the stated configuration
performance.altitude_max>=MINIMUMm (AGL/MSL)YesMax operating altitude; service ceiling at MTOW must reach it
performance.altitude_cruise=TARGETm (AGL/MSL)YesNormal cruise (operating) altitude; also the DoD normal operating altitude
performance.climb_rate>=MINIMUMm/sNoMin steady rate of climb at MTOW, max continuous power
constraints.mtow<=HARD_LIMITkgNoMax take-off mass limit
constraints.wingspan<=HARD_LIMITmNoMax wing span
constraints.length<=HARD_LIMITmNoMax overall length
constraints.height<=HARD_LIMITmNoMax overall height
constraints.assembly_time<=PREFERENCEsNoMax field assembly time (not modelled in v0.1)
launch_recovery.takeoff_distance<=HARD_LIMITmIf launch_recovery.takeoff_method==RUNWAYTake-off distance to clear environment.obstacle_height
launch_recovery.landing_distance<=HARD_LIMITmIf launch_recovery.recovery_method==RUNWAYLanding distance from obstacle height
launch_recovery.parachute_descent_rate<=HARD_LIMITm/sIf launch_recovery.recovery_method==PARACHUTEMax parachute descent rate
vtol.hover_tw_min>=HARD_LIMIT-If aircraft.vtol_code>=1Min (max lift thrust / weight) at site conditions - control margin
vtol.hover_tw_oei_min>=HARD_LIMIT-NoMin (max lift thrust / weight) with the critical lift rotor inoperative while hover moments are trimmed, at site conditions (rotor-out capability; NONE = not required)
vtol.disk_loading_max<=HARD_LIMITPaNoMax lift-rotor disk loading (downwash limit)
stability.static_margin_min>=HARD_LIMIT-YesMin static margin (fraction of MAC) over the CG range
stability.static_margin_max<=PREFERENCE-NoMax static margin (trim drag / control power)
manufacturing.max_part_length<=HARD_LIMITmNoLargest part that can be produced (mould/oven)
classification.dod_group<=HARD_LIMIT-NoHighest acceptable DoD UAS group

Units

DimensionSI unitReferenceAccepted tokens
dimensionless--- %
lengthm-m km cm mm ft in nmi mi
altitudemAGL / MSLm km cm mm ft in nmi mi
aream^2-m^2 cm^2 mm^2 ft^2 in^2
volumem^3-m^3 L mL cm^3 in^3 ft^3 USgal
masskg-kg g lb oz
times-s min h hr
speedm/s-m/s km/h kt kn kts mph ft/s ft/min m/min
airspeedm/sTAS / EAS / CAS / IASm/s km/h kt kn kts mph ft/s ft/min m/min
accelerationm/s^2-m/s^2 ft/s^2 g0
forceN-N kN kgf gf lbf
powerW-W kW hp PS
energyJ-J kJ MJ Wh kWh
specific_energyJ/kg-J/kg kJ/kg MJ/kg Wh/kg
energy_densityJ/m^3-J/m^3 Wh/L MJ/L
pressurePa-Pa kPa hPa mbar N/m^2 kgf/m^2 lbf/ft^2 psi
densitykg/m^3-kg/m^3 kg/L g/cm^3 lb/ft^3
areal_densitykg/m^2-kg/m^2 g/m^2 lb/ft^2 oz/yd^2
temperatureK-K degC degF
temperature_deltaK-K degC degF
anglerad-rad deg
angular_speedrad/s-rad/s rpm
motor_kvrad/(s*V)-rpm/V
voltageV-V
currentA-A
chargeC-C Ah mAh
c_rate1/s-C C-rate 1/h 1/s
bsfckg/J-kg/J g/kWh kg/kWh lb/(hp*h)
tsfckg/(N*s)-kg/(N*s) kg/(N*h) g/(kN*s) lb/(lbf*h)
power_per_weightW/N-W/N W/kgf hp/lbf
specific_powerW/kg-W/kg kW/kg
PRD format guide | MADETOOL by ALATES