airframe_parameters
adh.wbs.airframe.airframe_parameters
¤
Classes:
-
AerodynamicsData– -
Airfoil– -
AsymmetricControl– -
Body–Represents the parameters of a body.
-
BodyShape–Enumeration of body shape types.
-
ConfigurationLayout– -
FlightConditions–Represents flight conditions for aerodynamic calculations.
-
GroundEffectsDefinition– -
HypersonicFlapControl– -
JetPowerProperties– -
LiftingSurface– -
LowAspectRatioWingBody– -
Parameters– -
PropellerPowerProperties– -
ReferenceData– -
SymmetricFlap– -
TailShape–Enumeration of tail shape types.
-
TransverseJetControl– -
TwinVerticalTail–
AerodynamicsData
pydantic-model
¤
Bases: NodeMetaMixin, BaseModel
Show JSON schema:
{
"$defs": {
"Author": {
"description": "Author or contributor to an ADH node.",
"properties": {
"name": {
"description": "Full name of the author.",
"title": "Name",
"type": "string"
},
"organisation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Organisation or affiliation.",
"title": "Organisation"
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Email address.",
"title": "Email"
}
},
"required": [
"name"
],
"title": "Author",
"type": "object"
},
"ExternalReference": {
"description": "Reference to an external file or document.",
"properties": {
"title": {
"description": "Title or name of the referenced resource.",
"title": "Title",
"type": "string"
},
"path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "File path or URI to the external resource.",
"title": "Path"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Description of the reference and its relevance.",
"title": "Description"
},
"classification": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Type classification of the reference (e.g. 'STEP file', 'CFD mesh', 'test report').",
"title": "Classification"
}
},
"required": [
"title"
],
"title": "ExternalReference",
"type": "object"
},
"SourceInfo": {
"description": "Source and authorship metadata for an ADH node.",
"properties": {
"authors": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/Author"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Authors or contributors.",
"title": "Authors"
},
"creation_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date this node was created.",
"title": "Creation Date"
},
"modification_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date this node was last modified.",
"title": "Modification Date"
},
"version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Version string.",
"title": "Version"
},
"references": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/ExternalReference"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "References to external files or documents.",
"title": "References"
}
},
"title": "SourceInfo",
"type": "object"
}
},
"additionalProperties": true,
"example": {
"ACLMC": 1.5,
"ACLMF": 1.5,
"ACLMH": 1.5,
"ACLMV": 1.5,
"ACLMW": 1.5,
"ALPLC": 1.0,
"ALPLF": 1.0,
"ALPLH": 1.0,
"ALPLV": 1.0,
"ALPLW": 1.0,
"ALPOC": 0.5,
"ALPOF": 0.5,
"ALPOH": 0.5,
"ALPOV": 0.5,
"ALPOW": 0.5,
"CDC": [
0.001,
0.002,
0.003
],
"CDF": [
0.001,
0.002,
0.003
],
"CDH": [
0.001,
0.002,
0.003
],
"CDV": [
0.001,
0.002,
0.003
],
"CDW": [
0.001,
0.002,
0.003
],
"CDWB": [
0.001,
0.002,
0.003
],
"CD_body": [
0.001,
0.002,
0.003
],
"CLAC": [
0.1,
0.2,
0.3
],
"CLAF": [
0.1,
0.2,
0.3
],
"CLAH": [
0.1,
0.2,
0.3
],
"CLAV": [
0.1,
0.2,
0.3
],
"CLAW": [
0.1,
0.2,
0.3
],
"CLAWB": [
0.1,
0.2,
0.3
],
"CLC": [
0.1,
0.2,
0.3
],
"CLF": [
0.1,
0.2,
0.3
],
"CLH": [
0.1,
0.2,
0.3
],
"CLMC": 0.8,
"CLMF": 0.8,
"CLMH": 0.8,
"CLMV": 0.8,
"CLMW": 0.8,
"CLV": [
0.1,
0.2,
0.3
],
"CLW": [
0.1,
0.2,
0.3
],
"CLWB": [
0.1,
0.2,
0.3
],
"CL_body": [
0.1,
0.2,
0.3
],
"CLalpha_body": [
0.1,
0.2,
0.3
],
"CMAC": [
0.01,
0.02,
0.03
],
"CMAF": [
0.01,
0.02,
0.03
],
"CMAH": [
0.01,
0.02,
0.03
],
"CMAV": [
0.01,
0.02,
0.03
],
"CMAW": [
0.01,
0.02,
0.03
],
"CMAWB": [
0.01,
0.02,
0.03
],
"CMC": [
0.01,
0.02,
0.03
],
"CMF": [
0.01,
0.02,
0.03
],
"CMH": [
0.01,
0.02,
0.03
],
"CMV": [
0.01,
0.02,
0.03
],
"CMW": [
0.01,
0.02,
0.03
],
"CMWB": [
0.01,
0.02,
0.03
],
"CM_body": [
0.01,
0.02,
0.03
],
"CMalpha_body": [
0.01,
0.02,
0.03
],
"DEODA": [
0.1,
0.2,
0.3
],
"EPSLON": [
0.1,
0.2,
0.3
],
"QHOQINF": [
0.1,
0.2,
0.3
]
},
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "A unique model name.",
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "A brief description of the model.",
"title": "Description"
},
"source_info": {
"anyOf": [
{
"$ref": "#/$defs/SourceInfo"
},
{
"type": "null"
}
],
"default": null,
"description": "Source and authorship metadata."
},
"uuid": {
"anyOf": [
{
"format": "uuid4",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "A globally unique identifier for the model.",
"title": "Uuid"
},
"CLalpha_body": {
"description": "Body lift curve slope vs Angle-of-attack, per deg",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Clalpha Body",
"type": "array"
},
"CMalpha_body": {
"description": "Body pitching moment slope vs Angle-of-attack, per deg",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cmalpha Body",
"type": "array"
},
"CD_body": {
"description": "Body drag coefficient vs Angle-of-attack, per deg",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cd Body",
"type": "array"
},
"CL_body": {
"description": "Body lift coefficient vs Angle-of-attack, per deg",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cl Body",
"type": "array"
},
"CM_body": {
"description": "Body pitching moment coefficient vs Angle-of-attack",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cm Body",
"type": "array"
},
"ALPOC": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Canard Zero Lift Angle-of-Attack, deg",
"title": "Alpoc"
},
"ALPLC": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Canard Angle-of-Attack where lift becomes non-linear, deg",
"title": "Alplc"
},
"ACLMC": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Canard Angle-of-Attack for Maximum Lift, deg",
"title": "Aclmc"
},
"CLMC": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Canard Maximum Lift Coefficient",
"title": "Clmc"
},
"CLAC": {
"description": "Canard lift curve slope coefficient vs Angle-of-Attack, per deg",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Clac",
"type": "array"
},
"CMAC": {
"description": "Canard pitching moment slope coefficient vs Angle-of-attack, per deg",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cmac",
"type": "array"
},
"CDC": {
"description": "Canard drag coefficient vs Angle-of-Attack",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cdc",
"type": "array"
},
"CLC": {
"description": "Canard lift coefficient vs Angle-of-Attack.",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Clc",
"type": "array"
},
"CMC": {
"description": "Canard pitching moment coefficient vs Angle-of-Attack",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cmc",
"type": "array"
},
"ALPOW": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Wing Zero Lift Angle-of-Attack, deg",
"title": "Alpow"
},
"ALPLW": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Wing Angle-of-Attack where lift becomes non-linear, deg",
"title": "Alplw"
},
"ACLMW": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Wing Angle-of-Attack for Maximum Lift, deg",
"title": "Aclmw"
},
"CLMW": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Wing Maximum Lift Coefficient",
"title": "Clmw"
},
"CLAW": {
"description": "Wing lift curve slope coefficient vs Angle-of-Attack, per deg",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Claw",
"type": "array"
},
"CMAW": {
"description": "Wing pitching moment slope coefficient vs Angle-of-attack, per deg",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cmaw",
"type": "array"
},
"CDW": {
"description": "Wing drag coefficient vs Angle-of-Attack",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cdw",
"type": "array"
},
"CLW": {
"description": "Wing lift coefficient vs Angle-of-Attack.",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Clw",
"type": "array"
},
"CMW": {
"description": "Wing pitching moment coefficient vs Angle-of-Attack",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cmw",
"type": "array"
},
"ALPOH": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Horizontal Tail Zero Lift Angle-of-Attack",
"title": "Alpoh"
},
"ALPLH": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Horizontal Angle-of-Attack where lift becomes non-linear, deg",
"title": "Alplh"
},
"ACLMH": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Horizontal Angle-of-Attack for Maximum Lift, deg",
"title": "Aclmh"
},
"CLMH": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Horizontal Maximum Lift Coefficient",
"title": "Clmh"
},
"CLAH": {
"description": "Horizontal lift curve slope coefficient vs Angle-of-Attack, per deg",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Clah",
"type": "array"
},
"CMAH": {
"description": "Horizontal pitching moment slope coefficient vs Angle-of-attack, per deg",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cmah",
"type": "array"
},
"CDH": {
"description": "Horizontal drag coefficient vs Angle-of-Attack",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cdh",
"type": "array"
},
"CLH": {
"description": "Horizontal lift coefficient vs Angle-of-Attack.",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Clh",
"type": "array"
},
"CMH": {
"description": "Horizontal pitching moment coefficient vs Angle-of-Attack",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cmh",
"type": "array"
},
"ALPOV": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Vertical Tail Zero Lift Angle-of-Attack",
"title": "Alpov"
},
"ALPLV": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Vertical Angle-of-Attack where lift becomes non-linear, deg",
"title": "Alplv"
},
"ACLMV": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Vertical Angle-of-Attack for Maximum Lift, deg",
"title": "Aclmv"
},
"CLMV": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Vertical Maximum Lift Coefficient",
"title": "Clmv"
},
"CLAV": {
"description": "Vertical lift curve slope coefficient vs Angle-of-Attack, per deg",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Clav",
"type": "array"
},
"CMAV": {
"description": "Vertical pitching moment slope coefficient vs Angle-of-attack, per deg",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cmav",
"type": "array"
},
"CDV": {
"description": "Vertical drag coefficient vs Angle-of-Attack",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cdv",
"type": "array"
},
"CLV": {
"description": "Vertical lift coefficient vs Angle-of-Attack.",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Clv",
"type": "array"
},
"CMV": {
"description": "Vertical pitching moment coefficient vs Angle-of-Attack",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cmv",
"type": "array"
},
"ALPOF": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Fin Tail Zero Lift Angle-of-Attack",
"title": "Alpof"
},
"ALPLF": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Fin Angle-of-Attack where lift becomes non-linear, deg",
"title": "Alplf"
},
"ACLMF": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Fin Angle-of-Attack for Maximum Lift, deg",
"title": "Aclmf"
},
"CLMF": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Fin Maximum Lift Coefficient",
"title": "Clmf"
},
"CLAF": {
"description": "Fin lift curve slope coefficient vs Angle-of-Attack, per deg",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Claf",
"type": "array"
},
"CMAF": {
"description": "Fin pitching moment slope coefficient vs Angle-of-attack, per deg",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cmaf",
"type": "array"
},
"CDF": {
"description": "Fin drag coefficient vs Angle-of-Attack",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cdf",
"type": "array"
},
"CLF": {
"description": "Fin lift coefficient vs Angle-of-Attack.",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Clf",
"type": "array"
},
"CMF": {
"description": "Fin pitching moment coefficient vs Angle-of-Attack",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cmf",
"type": "array"
},
"CLAWB": {
"description": "Wing-Body lift curve slope coefficient vs Angle-of-Attack, per deg",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Clawb",
"type": "array"
},
"CMAWB": {
"description": "Wing-Body pitching moment slope coefficient vs Angle-of-attack, per deg",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cmawb",
"type": "array"
},
"CDWB": {
"description": "Wing-Body drag coefficient vs Angle-of-Attack",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cdwb",
"type": "array"
},
"CLWB": {
"description": "Wing-Body lift coefficient vs Angle-of-Attack.",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Clwb",
"type": "array"
},
"CMWB": {
"description": "Wing-Body pitching moment coefficient vs Angle-of-Attack",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cmwb",
"type": "array"
},
"DEODA": {
"description": "Downwash gradient vs Angle-of-Attack",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Deoda",
"type": "array"
},
"EPSLON": {
"description": "Downwash angle vs Angle-of-Attack",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Epslon",
"type": "array"
},
"QHOQINF": {
"description": "Horizontal to Freestream Dynamic Pressure Ratio vs Angle-of-Attack",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Qhoqinf",
"type": "array"
}
},
"title": "AerodynamicsData",
"type": "object"
}
Config:
default:{'json_schema_extra': {'example': {'CLalpha_body': [0.1, 0.2, 0.3], 'CMalpha_body': [0.01, 0.02, 0.03], 'CD_body': [0.001, 0.002, 0.003], 'CL_body': [0.1, 0.2, 0.3], 'CM_body': [0.01, 0.02, 0.03], 'ALPOC': 0.5, 'ALPLC': 1.0, 'ACLMC': 1.5, 'CLMC': 0.8, 'CLAC': [0.1, 0.2, 0.3], 'CMAC': [0.01, 0.02, 0.03], 'CDC': [0.001, 0.002, 0.003], 'CLC': [0.1, 0.2, 0.3], 'CMC': [0.01, 0.02, 0.03], 'ALPOW': 0.5, 'ALPLW': 1.0, 'ACLMW': 1.5, 'CLMW': 0.8, 'CLAW': [0.1, 0.2, 0.3], 'CMAW': [0.01, 0.02, 0.03], 'CDW': [0.001, 0.002, 0.003], 'CLW': [0.1, 0.2, 0.3], 'CMW': [0.01, 0.02, 0.03], 'ALPOH': 0.5, 'ALPLH': 1.0, 'ACLMH': 1.5, 'CLMH': 0.8, 'CLAH': [0.1, 0.2, 0.3], 'CMAH': [0.01, 0.02, 0.03], 'CDH': [0.001, 0.002, 0.003], 'CLH': [0.1, 0.2, 0.3], 'CMH': [0.01, 0.02, 0.03], 'ALPOV': 0.5, 'ALPLV': 1.0, 'ACLMV': 1.5, 'CLMV': 0.8, 'CLAV': [0.1, 0.2, 0.3], 'CMAV': [0.01, 0.02, 0.03], 'CDV': [0.001, 0.002, 0.003], 'CLV': [0.1, 0.2, 0.3], 'CMV': [0.01, 0.02, 0.03], 'ALPOF': 0.5, 'ALPLF': 1.0, 'ACLMF': 1.5, 'CLMF': 0.8, 'CLAF': [0.1, 0.2, 0.3], 'CMAF': [0.01, 0.02, 0.03], 'CDF': [0.001, 0.002, 0.003], 'CLF': [0.1, 0.2, 0.3], 'CMF': [0.01, 0.02, 0.03], 'CLAWB': [0.1, 0.2, 0.3], 'CMAWB': [0.01, 0.02, 0.03], 'CDWB': [0.001, 0.002, 0.003], 'CLWB': [0.1, 0.2, 0.3], 'CMWB': [0.01, 0.02, 0.03], 'DEODA': [0.1, 0.2, 0.3], 'EPSLON': [0.1, 0.2, 0.3], 'QHOQINF': [0.1, 0.2, 0.3]}}}
Fields:
-
name(Optional[str]) -
description(Optional[str]) -
source_info(Optional[SourceInfo]) -
uuid(Optional[UUID4]) -
CLalpha_body(list[Optional[float]]) -
CMalpha_body(list[Optional[float]]) -
CD_body(list[Optional[float]]) -
CL_body(list[Optional[float]]) -
CM_body(list[Optional[float]]) -
ALPOC(Optional[float]) -
ALPLC(Optional[float]) -
ACLMC(Optional[float]) -
CLMC(Optional[float]) -
CLAC(list[Optional[float]]) -
CMAC(list[Optional[float]]) -
CDC(list[Optional[float]]) -
CLC(list[Optional[float]]) -
CMC(list[Optional[float]]) -
ALPOW(Optional[float]) -
ALPLW(Optional[float]) -
ACLMW(Optional[float]) -
CLMW(Optional[float]) -
CLAW(list[Optional[float]]) -
CMAW(list[Optional[float]]) -
CDW(list[Optional[float]]) -
CLW(list[Optional[float]]) -
CMW(list[Optional[float]]) -
ALPOH(Optional[float]) -
ALPLH(Optional[float]) -
ACLMH(Optional[float]) -
CLMH(Optional[float]) -
CLAH(list[Optional[float]]) -
CMAH(list[Optional[float]]) -
CDH(list[Optional[float]]) -
CLH(list[Optional[float]]) -
CMH(list[Optional[float]]) -
ALPOV(Optional[float]) -
ALPLV(Optional[float]) -
ACLMV(Optional[float]) -
CLMV(Optional[float]) -
CLAV(list[Optional[float]]) -
CMAV(list[Optional[float]]) -
CDV(list[Optional[float]]) -
CLV(list[Optional[float]]) -
CMV(list[Optional[float]]) -
ALPOF(Optional[float]) -
ALPLF(Optional[float]) -
ACLMF(Optional[float]) -
CLMF(Optional[float]) -
CLAF(list[Optional[float]]) -
CMAF(list[Optional[float]]) -
CDF(list[Optional[float]]) -
CLF(list[Optional[float]]) -
CMF(list[Optional[float]]) -
CLAWB(list[Optional[float]]) -
CMAWB(list[Optional[float]]) -
CDWB(list[Optional[float]]) -
CLWB(list[Optional[float]]) -
CMWB(list[Optional[float]]) -
DEODA(list[Optional[float]]) -
EPSLON(list[Optional[float]]) -
QHOQINF(list[Optional[float]])
Validators:
-
check_list_lengths -
validate_non_negative→CLalpha_body,CMalpha_body,CD_body,CL_body,CM_body,CLAC,CMAC,CDC,CLC,CMC,CLAW,CMAW,CDW,CLW,CMW,CLAH,CMAH,CDH,CLH,CMH,CLAV,CMAV,CDV,CLV,CMV,CLAF,CMAF,CDF,CLF,CMF,CLAWB,CMAWB,CDWB,CLWB,CMWB,DEODA,EPSLON,QHOQINF
ACLMH
pydantic-field
¤
Horizontal Angle-of-Attack for Maximum Lift, deg
ALPLC
pydantic-field
¤
Canard Angle-of-Attack where lift becomes non-linear, deg
ALPLF
pydantic-field
¤
Fin Angle-of-Attack where lift becomes non-linear, deg
ALPLH
pydantic-field
¤
Horizontal Angle-of-Attack where lift becomes non-linear, deg
ALPLV
pydantic-field
¤
Vertical Angle-of-Attack where lift becomes non-linear, deg
ALPLW
pydantic-field
¤
Wing Angle-of-Attack where lift becomes non-linear, deg
CD_body
pydantic-field
¤
Body drag coefficient vs Angle-of-attack, per deg
CLAC
pydantic-field
¤
Canard lift curve slope coefficient vs Angle-of-Attack, per deg
CLAF
pydantic-field
¤
Fin lift curve slope coefficient vs Angle-of-Attack, per deg
CLAH
pydantic-field
¤
Horizontal lift curve slope coefficient vs Angle-of-Attack, per deg
CLAV
pydantic-field
¤
Vertical lift curve slope coefficient vs Angle-of-Attack, per deg
CLAW
pydantic-field
¤
Wing lift curve slope coefficient vs Angle-of-Attack, per deg
CLAWB
pydantic-field
¤
Wing-Body lift curve slope coefficient vs Angle-of-Attack, per deg
CL_body
pydantic-field
¤
Body lift coefficient vs Angle-of-attack, per deg
CLalpha_body
pydantic-field
¤
Body lift curve slope vs Angle-of-attack, per deg
CMAC
pydantic-field
¤
Canard pitching moment slope coefficient vs Angle-of-attack, per deg
CMAF
pydantic-field
¤
Fin pitching moment slope coefficient vs Angle-of-attack, per deg
CMAH
pydantic-field
¤
Horizontal pitching moment slope coefficient vs Angle-of-attack, per deg
CMAV
pydantic-field
¤
Vertical pitching moment slope coefficient vs Angle-of-attack, per deg
CMAW
pydantic-field
¤
Wing pitching moment slope coefficient vs Angle-of-attack, per deg
CMAWB
pydantic-field
¤
Wing-Body pitching moment slope coefficient vs Angle-of-attack, per deg
CMC
pydantic-field
¤
Canard pitching moment coefficient vs Angle-of-Attack
CMH
pydantic-field
¤
Horizontal pitching moment coefficient vs Angle-of-Attack
CMV
pydantic-field
¤
Vertical pitching moment coefficient vs Angle-of-Attack
CMWB
pydantic-field
¤
Wing-Body pitching moment coefficient vs Angle-of-Attack
CM_body
pydantic-field
¤
Body pitching moment coefficient vs Angle-of-attack
CMalpha_body
pydantic-field
¤
Body pitching moment slope vs Angle-of-attack, per deg
QHOQINF
pydantic-field
¤
Horizontal to Freestream Dynamic Pressure Ratio vs Angle-of-Attack
source_info
pydantic-field
¤
source_info: Optional[SourceInfo] = None
Source and authorship metadata.
check_list_lengths
pydantic-validator
¤
check_list_lengths(values)
Validates that all lists have the same length to ensure consistency in experimental data points.
Source code in src/adh/wbs/airframe/airframe_parameters.py
1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 | |
validate_non_negative
pydantic-validator
¤
validate_non_negative(v)
Ensures that coefficient values are non-negative, where applicable.
Source code in src/adh/wbs/airframe/airframe_parameters.py
1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 | |
Airfoil
pydantic-model
¤
Bases: BaseModel
Show JSON schema:
{
"$defs": {
"Point": {
"description": "Represents a point in 3D space, defined by its x, y, and z coordinates.\n\nAttributes:\n x (float): The x-coordinate of the point.\n y (float): The y-coordinate of the point.\n z (float): The z-coordinate of the point.\n\nRaises:\n ValueError: If any coordinate is not a finite number, ensuring points are well-defined in 3D space.",
"properties": {
"x": {
"description": "The x-coordinate of the point.",
"title": "X",
"type": "number"
},
"y": {
"description": "The y-coordinate of the point.",
"title": "Y",
"type": "number"
},
"z": {
"description": "The z-coordinate of the point.",
"title": "Z",
"type": "number"
}
},
"required": [
"x",
"y",
"z"
],
"title": "Point",
"type": "object"
},
"Spline": {
"description": "Represents a spline, which is a smooth curve constructed from a series of control points.\n\nSplines are essential in various applications such as computer graphics, geometric modeling, and trajectory planning.\n\nAttributes:\n points (List[Point]): The list of control points that define the spline. The spline passes through these points.\n degree (int): The degree of the spline curve. Common values are 2 (quadratic) and 3 (cubic).\n\nRaises:\n ValueError: If the number of points is less than the degree + 1, which is necessary for defining a valid spline.",
"properties": {
"points": {
"description": "Control points that define the spline.",
"items": {
"$ref": "#/$defs/Point"
},
"minItems": 2,
"title": "Points",
"type": "array"
},
"degree": {
"default": 3,
"description": "The degree of the spline curve. Commonly 2 (quadratic) or 3 (cubic).",
"exclusiveMinimum": 0,
"title": "Degree",
"type": "integer"
}
},
"required": [
"points"
],
"title": "Spline",
"type": "object"
}
},
"properties": {
"spline": {
"anyOf": [
{
"$ref": "#/$defs/Spline"
},
{
"type": "null"
}
],
"default": null,
"description": "A spline defining the contour of the airfoil section."
},
"input_type": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Input Type: 1 - Upper and Lower, 2 - Camber and Thickness",
"title": "Input Type"
},
"qty_coordinates": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of points",
"title": "Qty Coordinates"
},
"x_coordinates": {
"description": "X-coordinates",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "X Coordinates",
"type": "array"
},
"z_upper": {
"description": "Upper surface Z-coordinates",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Z Upper",
"type": "array"
},
"z_lower": {
"description": "Lower surface Z-coordinates",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Z Lower",
"type": "array"
},
"camber_line": {
"description": "Mean line coordinates",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Camber Line",
"type": "array"
},
"thickness_profile": {
"description": "Thickness distribution",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Thickness Profile",
"type": "array"
},
"inboard_rLEoC": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Inboard Airfoil Leading edge radius",
"title": "Inboard Rleoc"
},
"inboard_ToCmax": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Inboard Airfoil Maximum Thickness-to-chord ratio",
"title": "Inboard Tocmax"
},
"inboard_XoC_for_ToCmax": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Inboard Airfoil Chordwise fraction of ToCmax",
"title": "Inboard Xoc For Tocmax"
},
"inboard_closure_angle": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Inboard Airfoil Trailing Edge Closure angle",
"title": "Inboard Closure Angle"
},
"inboard_TE_ToC": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Inboard Airfoil Trailing Edge Thickness-to-chord ratio",
"title": "Inboard Te Toc"
},
"inboard_LE_droop": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Inboard Airfoil Leading Edge droop angle",
"title": "Inboard Le Droop"
},
"inboard_ZoCmax": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Inboard Airfoil Maximum Camber-to-chord ratio",
"title": "Inboard Zocmax"
},
"inboard_XoC_for_ZoCmax": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Inboard Airfoil Chordwise fraction of ZoCmax",
"title": "Inboard Xoc For Zocmax"
},
"inboard_TE_droop": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Inboard Airfoil Trailing Edge droop angle",
"title": "Inboard Te Droop"
},
"outboard_rLEoC": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Outboard Airfoil Leading edge radius",
"title": "Outboard Rleoc"
},
"outboard_ToCmax": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Outboard Airfoil Maximum Thickness-to-chord ratio",
"title": "Outboard Tocmax"
},
"outboard_XoC_for_ToCmax": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Outboard Airfoil Chordwise fraction of ToCmax",
"title": "Outboard Xoc For Tocmax"
},
"outboard_closure_angle": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Outboard Airfoil Trailing Edge Closure angle",
"title": "Outboard Closure Angle"
},
"outboard_TE_ToC": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Outboard Airfoil Trailing Edge Thickness-to-chord ratio",
"title": "Outboard Te Toc"
},
"outboard_LE_droop": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Outboard Airfoil Leading Edge droop angle",
"title": "Outboard Le Droop"
},
"outboard_ZoCmax": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Outboard Airfoil Maximum Camber-to-chord ratio",
"title": "Outboard Zocmax"
},
"outboard_XoC_for_ZoCmax": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Outboard Airfoil Chordwise fraction of ZoCmax",
"title": "Outboard Xoc For Zocmax"
},
"outboard_TE_droop": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Outboard Airfoil Trailing Edge droop angle",
"title": "Outboard Te Droop"
}
},
"title": "Airfoil",
"type": "object"
}
Fields:
-
spline(Optional[Spline]) -
input_type(Optional[int]) -
qty_coordinates(Optional[int]) -
x_coordinates(list[Optional[float]]) -
z_upper(list[Optional[float]]) -
z_lower(list[Optional[float]]) -
camber_line(list[Optional[float]]) -
thickness_profile(list[Optional[float]]) -
inboard_rLEoC(Optional[float]) -
inboard_ToCmax(Optional[float]) -
inboard_XoC_for_ToCmax(Optional[float]) -
inboard_closure_angle(Optional[float]) -
inboard_TE_ToC(Optional[float]) -
inboard_LE_droop(Optional[float]) -
inboard_ZoCmax(Optional[float]) -
inboard_XoC_for_ZoCmax(Optional[float]) -
inboard_TE_droop(Optional[float]) -
outboard_rLEoC(Optional[float]) -
outboard_ToCmax(Optional[float]) -
outboard_XoC_for_ToCmax(Optional[float]) -
outboard_closure_angle(Optional[float]) -
outboard_TE_ToC(Optional[float]) -
outboard_LE_droop(Optional[float]) -
outboard_ZoCmax(Optional[float]) -
outboard_XoC_for_ZoCmax(Optional[float]) -
outboard_TE_droop(Optional[float])
Validators:
-
validate_spline→spline
inboard_LE_droop
pydantic-field
¤
Inboard Airfoil Leading Edge droop angle
inboard_TE_ToC
pydantic-field
¤
Inboard Airfoil Trailing Edge Thickness-to-chord ratio
inboard_TE_droop
pydantic-field
¤
Inboard Airfoil Trailing Edge droop angle
inboard_ToCmax
pydantic-field
¤
Inboard Airfoil Maximum Thickness-to-chord ratio
inboard_XoC_for_ToCmax
pydantic-field
¤
Inboard Airfoil Chordwise fraction of ToCmax
inboard_XoC_for_ZoCmax
pydantic-field
¤
Inboard Airfoil Chordwise fraction of ZoCmax
inboard_ZoCmax
pydantic-field
¤
Inboard Airfoil Maximum Camber-to-chord ratio
inboard_closure_angle
pydantic-field
¤
Inboard Airfoil Trailing Edge Closure angle
inboard_rLEoC
pydantic-field
¤
Inboard Airfoil Leading edge radius
input_type
pydantic-field
¤
Input Type: 1 - Upper and Lower, 2 - Camber and Thickness
outboard_LE_droop
pydantic-field
¤
Outboard Airfoil Leading Edge droop angle
outboard_TE_ToC
pydantic-field
¤
Outboard Airfoil Trailing Edge Thickness-to-chord ratio
outboard_TE_droop
pydantic-field
¤
Outboard Airfoil Trailing Edge droop angle
outboard_ToCmax
pydantic-field
¤
Outboard Airfoil Maximum Thickness-to-chord ratio
outboard_XoC_for_ToCmax
pydantic-field
¤
Outboard Airfoil Chordwise fraction of ToCmax
outboard_XoC_for_ZoCmax
pydantic-field
¤
Outboard Airfoil Chordwise fraction of ZoCmax
outboard_ZoCmax
pydantic-field
¤
Outboard Airfoil Maximum Camber-to-chord ratio
outboard_closure_angle
pydantic-field
¤
Outboard Airfoil Trailing Edge Closure angle
outboard_rLEoC
pydantic-field
¤
Outboard Airfoil Leading edge radius
spline
pydantic-field
¤
A spline defining the contour of the airfoil section.
AsymmetricControl
pydantic-model
¤
Bases: BaseModel
Config:
default:{'json_schema_extra': {'example': {'control_type': ControlType.AILERON, 'qty_deflections': 2, 'inboard_aileron_chord_ratio': 0.1, 'outboard_aileron_chord_ratio': 0.2, 'inboard_span_ratio': 0.3, 'outboard_span_ratio': 0.4, 'left_deflection': [10.0, 20.0], 'right_deflection': [15.0, 25.0], 'deflector_height_chord_ratio': [0.05, 0.06], 'spoiler_height_ratio': [0.07, 0.08], 'spoiler_chord_ratio': [0.09, 0.1], 'hingeline_chord_ratio': 0.11}}}
Fields:
-
control_type(Optional[ControlType]) -
qty_deflections(Optional[int]) -
inboard_aileron_chord_ratio(Optional[float]) -
outboard_aileron_chord_ratio(Optional[float]) -
inboard_span_ratio(Optional[float]) -
outboard_span_ratio(Optional[float]) -
left_deflection(list[Optional[float]]) -
right_deflection(list[Optional[float]]) -
deflector_height_chord_ratio(list[Optional[float]]) -
spoiler_height_ratio(list[Optional[float]]) -
spoiler_chord_ratio(list[Optional[float]]) -
hingeline_chord_ratio(Optional[float])
Validators:
-
check_values_not_negative→inboard_aileron_chord_ratio,outboard_aileron_chord_ratio,inboard_span_ratio,outboard_span_ratio,hingeline_chord_ratio
control_type
pydantic-field
¤
control_type: Optional[ControlType] = None
Control type identifier: 1 - FLAP, 2 - PLUG, 3 - SLOT, 4 - AILERON, 5 - STABILIZER
deflector_height_chord_ratio
pydantic-field
¤
Deflector height to chord ratio
hingeline_chord_ratio
pydantic-field
¤
Hingeline chord ratio
inboard_aileron_chord_ratio
pydantic-field
¤
Inboard aileron chord ratio
outboard_aileron_chord_ratio
pydantic-field
¤
Outboard aileron chord ratio
outboard_span_ratio
pydantic-field
¤
Outboard span ratio
qty_deflections
pydantic-field
¤
Number of control deflections
right_deflection
pydantic-field
¤
Right side deflection angles
Body
pydantic-model
¤
Bases: BaseModel
Represents the parameters of a body.
Attributes:
-
qty_cross_sections(Optional[int]) –Number of cross-sections.
-
stations(List[Optional[float]]) –Axial stations.
-
cross_sectional_areas(List[Optional[float]]) –Cross-sectional areas at stations.
-
cross_sectional_perimeters(List[Optional[float]]) –Perimeters at stations.
-
max_halfbredth(List[Optional[float]]) –Maximum Halfbredth at stations.
-
crown_line(List[Optional[float]]) –Crown line height at stations.
-
keel_line(List[Optional[float]]) –Keel Line height at stations.
-
nose_type(Optional[BodyShape]) –Type of nose geometry.
-
aftbody_type(Optional[BodyShape]) –Type of aftbody geometry.
-
nose_length(Optional[float]) –Nose length.
-
aftbody_length(Optional[float]) –Afterbody length.
-
nose_bluntness(Optional[float]) –Diameter of nose bluntness.
-
area_rule(Optional[int]) –Area Ruling: 1 - Straight Wing, None, 2 - Swept Wing, None, 3 - area ruled.
Show JSON schema:
{
"$defs": {
"BodyShape": {
"description": "Enumeration of body shape types.",
"enum": [
1,
2,
3
],
"title": "BodyShape",
"type": "integer"
}
},
"description": "Represents the parameters of a body.\n\nAttributes:\n qty_cross_sections (Optional[int]): Number of cross-sections.\n stations (List[Optional[float]]): Axial stations.\n cross_sectional_areas (List[Optional[float]]): Cross-sectional areas at stations.\n cross_sectional_perimeters (List[Optional[float]]): Perimeters at stations.\n max_halfbredth (List[Optional[float]]): Maximum Halfbredth at stations.\n crown_line (List[Optional[float]]): Crown line height at stations.\n keel_line (List[Optional[float]]): Keel Line height at stations.\n nose_type (Optional[BodyShape]): Type of nose geometry.\n aftbody_type (Optional[BodyShape]): Type of aftbody geometry.\n nose_length (Optional[float]): Nose length.\n aftbody_length (Optional[float]): Afterbody length.\n nose_bluntness (Optional[float]): Diameter of nose bluntness.\n area_rule (Optional[int]): Area Ruling: 1 - Straight Wing, None, 2 - Swept Wing, None, 3 - area ruled.",
"properties": {
"qty_cross_sections": {
"anyOf": [
{
"minimum": 1,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of cross-sections",
"title": "Qty Cross Sections"
},
"stations": {
"description": "Axial stations",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Stations",
"type": "array"
},
"cross_sectional_areas": {
"description": "Cross-sectional areas at stations",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cross Sectional Areas",
"type": "array"
},
"cross_sectional_perimeters": {
"description": "Perimeters at stations",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Cross Sectional Perimeters",
"type": "array"
},
"max_halfbredth": {
"description": "Maximum Halfbredth at stations",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Max Halfbredth",
"type": "array"
},
"crown_line": {
"description": "Crown line height at stations",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Crown Line",
"type": "array"
},
"keel_line": {
"description": "Keel Line height at stations",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Keel Line",
"type": "array"
},
"nose_type": {
"anyOf": [
{
"$ref": "#/$defs/BodyShape"
},
{
"type": "null"
}
],
"default": null,
"description": "Type of nose geometry: 1 - Conical, 2 - Ogive"
},
"aftbody_type": {
"anyOf": [
{
"$ref": "#/$defs/BodyShape"
},
{
"type": "null"
}
],
"default": null,
"description": "Type of aftbody geometry: 1 - Conical, 2 - Ogive"
},
"nose_length": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Nose length",
"title": "Nose Length"
},
"aftbody_length": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Afterbody length",
"title": "Aftbody Length"
},
"nose_bluntness": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Diameter of nose bluntness",
"title": "Nose Bluntness"
},
"area_rule": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Area Ruling: 1 - Straight Wing, None, 2 - Swept Wing, None, 3 - area ruled",
"title": "Area Rule"
}
},
"title": "Body",
"type": "object"
}
Fields:
-
qty_cross_sections(Optional[int]) -
stations(list[Optional[float]]) -
cross_sectional_areas(list[Optional[float]]) -
cross_sectional_perimeters(list[Optional[float]]) -
max_halfbredth(list[Optional[float]]) -
crown_line(list[Optional[float]]) -
keel_line(list[Optional[float]]) -
nose_type(Optional[BodyShape]) -
aftbody_type(Optional[BodyShape]) -
nose_length(Optional[float]) -
aftbody_length(Optional[float]) -
nose_bluntness(Optional[float]) -
area_rule(Optional[int])
Validators:
-
validate_non_negative→stations,cross_sectional_areas,cross_sectional_perimeters,max_halfbredth,crown_line,keel_line -
validate_list_length
aftbody_type
pydantic-field
¤
Type of aftbody geometry: 1 - Conical, 2 - Ogive
area_rule
pydantic-field
¤
Area Ruling: 1 - Straight Wing, None, 2 - Swept Wing, None, 3 - area ruled
cross_sectional_areas
pydantic-field
¤
Cross-sectional areas at stations
cross_sectional_perimeters
pydantic-field
¤
Perimeters at stations
max_halfbredth
pydantic-field
¤
Maximum Halfbredth at stations
nose_type
pydantic-field
¤
Type of nose geometry: 1 - Conical, 2 - Ogive
qty_cross_sections
pydantic-field
¤
Number of cross-sections
validate_list_length
pydantic-validator
¤
Validate that the length of lists matches the number of cross-sections.
Parameters:
-
values(dict) –The current values of the model.
Returns:
Raises:
-
ValueError–If the length of any list doesn't match the number of cross-sections.
Source code in src/adh/wbs/airframe/airframe_parameters.py
907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 | |
validate_non_negative
pydantic-validator
¤
Validate that all values in the list are non-negative.
Parameters:
Returns:
Raises:
-
ValueError–If any value in the list is negative.
Source code in src/adh/wbs/airframe/airframe_parameters.py
881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 | |
ConfigurationLayout
pydantic-model
¤
Bases: NodeMetaMixin, BaseModel
Show JSON schema:
{
"$defs": {
"Author": {
"description": "Author or contributor to an ADH node.",
"properties": {
"name": {
"description": "Full name of the author.",
"title": "Name",
"type": "string"
},
"organisation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Organisation or affiliation.",
"title": "Organisation"
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Email address.",
"title": "Email"
}
},
"required": [
"name"
],
"title": "Author",
"type": "object"
},
"ExternalReference": {
"description": "Reference to an external file or document.",
"properties": {
"title": {
"description": "Title or name of the referenced resource.",
"title": "Title",
"type": "string"
},
"path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "File path or URI to the external resource.",
"title": "Path"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Description of the reference and its relevance.",
"title": "Description"
},
"classification": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Type classification of the reference (e.g. 'STEP file', 'CFD mesh', 'test report').",
"title": "Classification"
}
},
"required": [
"title"
],
"title": "ExternalReference",
"type": "object"
},
"SourceInfo": {
"description": "Source and authorship metadata for an ADH node.",
"properties": {
"authors": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/Author"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Authors or contributors.",
"title": "Authors"
},
"creation_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date this node was created.",
"title": "Creation Date"
},
"modification_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date this node was last modified.",
"title": "Modification Date"
},
"version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Version string.",
"title": "Version"
},
"references": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/ExternalReference"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "References to external files or documents.",
"title": "References"
}
},
"title": "SourceInfo",
"type": "object"
}
},
"additionalProperties": true,
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "A unique model name.",
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "A brief description of the model.",
"title": "Description"
},
"source_info": {
"anyOf": [
{
"$ref": "#/$defs/SourceInfo"
},
{
"type": "null"
}
],
"default": null,
"description": "Source and authorship metadata."
},
"uuid": {
"anyOf": [
{
"format": "uuid4",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "A globally unique identifier for the model.",
"title": "Uuid"
},
"center_of_gravity_station": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Airplane Center-of-Gravity station - in",
"title": "Center Of Gravity Station"
},
"center_of_gravity_waterline": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Airplane Center-of-Gravity waterline - in",
"title": "Center Of Gravity Waterline"
},
"canard_apex_station": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Longitudinal station of the canard apex",
"title": "Canard Apex Station"
},
"canard_apex_waterline": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Vertical waterline of the canard apex",
"title": "Canard Apex Waterline"
},
"canard_hinge_station": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Station of canard hinge axis",
"title": "Canard Hinge Station"
},
"canard_angle_of_incidence": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Angle of incidence of canard",
"title": "Canard Angle Of Incidence"
},
"wing_apex_station": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Longitudinal location of the wing apex",
"title": "Wing Apex Station"
},
"wing_apex_waterline": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Vertical location of the wing apex",
"title": "Wing Apex Waterline"
},
"wing_hinge_station": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Station of wing hinge axis",
"title": "Wing Hinge Station"
},
"wing_angle_of_incidence": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Angle of incidence of the wing",
"title": "Wing Angle Of Incidence"
},
"horizontal_apex_station": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Longitudinal location of the horizontal tail apex",
"title": "Horizontal Apex Station"
},
"horizontal_apex_waterline": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Vertical location of the horizontal tail apex",
"title": "Horizontal Apex Waterline"
},
"horizontal_hinge_station": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Station of horizontal hinge axis",
"title": "Horizontal Hinge Station"
},
"horizontal_angle_of_incidence": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Angle of incidence of the horizontal tail",
"title": "Horizontal Angle Of Incidence"
},
"vertical_apex_station": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Longitudinal location of the vertical tail apex",
"title": "Vertical Apex Station"
},
"vertical_apex_waterline": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Vertical location of the vertical tail apex",
"title": "Vertical Apex Waterline"
},
"vertical_cant": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Cant angle of the vertical tail",
"title": "Vertical Cant"
},
"vertical_offset": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Lateral location of the vertical tail",
"title": "Vertical Offset"
},
"vertical_above": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": true,
"description": "Flag indicating if the vertical tail is above (true) or below (false) reference plane",
"title": "Vertical Above"
},
"fin_apex_station": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Longitudinal location of the ventral fin apex",
"title": "Fin Apex Station"
},
"fin_apex_waterline": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Vertical location of the ventral fin apex",
"title": "Fin Apex Waterline"
},
"fin_cant": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Cant angle of the fin",
"title": "Fin Cant"
},
"fin_offset": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Lateral location of the fin",
"title": "Fin Offset"
},
"model_scale": {
"anyOf": [
{
"exclusiveMinimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Scale factor for model",
"title": "Model Scale"
}
},
"title": "ConfigurationLayout",
"type": "object"
}
Fields:
-
name(Optional[str]) -
description(Optional[str]) -
source_info(Optional[SourceInfo]) -
uuid(Optional[UUID4]) -
center_of_gravity_station(Optional[float]) -
center_of_gravity_waterline(Optional[float]) -
canard_apex_station(Optional[float]) -
canard_apex_waterline(Optional[float]) -
canard_hinge_station(Optional[float]) -
canard_angle_of_incidence(Optional[float]) -
wing_apex_station(Optional[float]) -
wing_apex_waterline(Optional[float]) -
wing_hinge_station(Optional[float]) -
wing_angle_of_incidence(Optional[float]) -
horizontal_apex_station(Optional[float]) -
horizontal_apex_waterline(Optional[float]) -
horizontal_hinge_station(Optional[float]) -
horizontal_angle_of_incidence(Optional[float]) -
vertical_apex_station(Optional[float]) -
vertical_apex_waterline(Optional[float]) -
vertical_cant(Optional[float]) -
vertical_offset(Optional[float]) -
vertical_above(Optional[bool]) -
fin_apex_station(Optional[float]) -
fin_apex_waterline(Optional[float]) -
fin_cant(Optional[float]) -
fin_offset(Optional[float]) -
model_scale(Optional[float])
Validators:
-
check_values_not_negative→center_of_gravity_station,center_of_gravity_waterline,canard_apex_station,canard_apex_waterline,canard_hinge_station,canard_angle_of_incidence,wing_apex_station,wing_apex_waterline,wing_angle_of_incidence,horizontal_apex_station,horizontal_apex_waterline,horizontal_hinge_station,horizontal_angle_of_incidence,vertical_apex_station,vertical_apex_waterline,vertical_cant,vertical_offset,vertical_above,fin_apex_station,fin_apex_waterline,fin_cant,fin_offset,model_scale
canard_angle_of_incidence
pydantic-field
¤
Angle of incidence of canard
canard_apex_station
pydantic-field
¤
Longitudinal station of the canard apex
canard_apex_waterline
pydantic-field
¤
Vertical waterline of the canard apex
canard_hinge_station
pydantic-field
¤
Station of canard hinge axis
center_of_gravity_station
pydantic-field
¤
Airplane Center-of-Gravity station - in
center_of_gravity_waterline
pydantic-field
¤
Airplane Center-of-Gravity waterline - in
fin_apex_station
pydantic-field
¤
Longitudinal location of the ventral fin apex
fin_apex_waterline
pydantic-field
¤
Vertical location of the ventral fin apex
horizontal_angle_of_incidence
pydantic-field
¤
Angle of incidence of the horizontal tail
horizontal_apex_station
pydantic-field
¤
Longitudinal location of the horizontal tail apex
horizontal_apex_waterline
pydantic-field
¤
Vertical location of the horizontal tail apex
horizontal_hinge_station
pydantic-field
¤
Station of horizontal hinge axis
source_info
pydantic-field
¤
source_info: Optional[SourceInfo] = None
Source and authorship metadata.
vertical_above
pydantic-field
¤
Flag indicating if the vertical tail is above (true) or below (false) reference plane
vertical_apex_station
pydantic-field
¤
Longitudinal location of the vertical tail apex
vertical_apex_waterline
pydantic-field
¤
Vertical location of the vertical tail apex
vertical_cant
pydantic-field
¤
Cant angle of the vertical tail
vertical_offset
pydantic-field
¤
Lateral location of the vertical tail
wing_angle_of_incidence
pydantic-field
¤
Angle of incidence of the wing
wing_apex_station
pydantic-field
¤
Longitudinal location of the wing apex
wing_apex_waterline
pydantic-field
¤
Vertical location of the wing apex
FlightConditions
pydantic-model
¤
Bases: NodeMetaMixin, BaseModel
Represents flight conditions for aerodynamic calculations.
Attributes:
-
loop_control(Optional[int]) –Loop Control: 1 - Altitude and Mach, 2 - Mach Only, 3 - Altitude Only.
-
qty_machs(Optional[int]) –Number of Mach numbers.
-
machs(List[Optional[float]]) –Ascending order of Freestream Mach numbers.
-
velocities(List[Optional[float]]) –Ascending order of Freestream Velocities.
-
qty_alphas(Optional[int]) –Number of angles-of-attack.
-
alphas(List[Optional[float]]) –Ascending order of angles-of-attack.
-
reynolds_indices(List[Optional[float]]) –Reynolds number per unit length at Freestream conditions.
-
qty_altitudes(Optional[int]) –Number of altitudes.
-
altitudes(List[Optional[float]]) –Geometric Altitudes.
-
static_pressures(List[Optional[float]]) –Freestream static pressure.
-
static_temperatures(List[Optional[float]]) –Freestream static temperature.
-
transonic_mach(Optional[float]) –Transonic Onset Mach number.
-
supersonic_mach(Optional[float]) –Supersonic Onset Mach number.
-
hypersonic_flag(Optional[bool]) –Hypersonic flag: true - Hypersonic analysis at all Mach > 1.4.
-
transition_flag(Optional[bool]) –Transition flag: 0 - None, 1 - Transition Strips or Full Flight.
-
weight(Optional[float]) –Aircraft Weight.
-
flight_path_angle(Optional[float]) –Flight path Angle.
Show JSON schema:
{
"$defs": {
"Author": {
"description": "Author or contributor to an ADH node.",
"properties": {
"name": {
"description": "Full name of the author.",
"title": "Name",
"type": "string"
},
"organisation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Organisation or affiliation.",
"title": "Organisation"
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Email address.",
"title": "Email"
}
},
"required": [
"name"
],
"title": "Author",
"type": "object"
},
"ExternalReference": {
"description": "Reference to an external file or document.",
"properties": {
"title": {
"description": "Title or name of the referenced resource.",
"title": "Title",
"type": "string"
},
"path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "File path or URI to the external resource.",
"title": "Path"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Description of the reference and its relevance.",
"title": "Description"
},
"classification": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Type classification of the reference (e.g. 'STEP file', 'CFD mesh', 'test report').",
"title": "Classification"
}
},
"required": [
"title"
],
"title": "ExternalReference",
"type": "object"
},
"SourceInfo": {
"description": "Source and authorship metadata for an ADH node.",
"properties": {
"authors": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/Author"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Authors or contributors.",
"title": "Authors"
},
"creation_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date this node was created.",
"title": "Creation Date"
},
"modification_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date this node was last modified.",
"title": "Modification Date"
},
"version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Version string.",
"title": "Version"
},
"references": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/ExternalReference"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "References to external files or documents.",
"title": "References"
}
},
"title": "SourceInfo",
"type": "object"
}
},
"additionalProperties": true,
"description": "Represents flight conditions for aerodynamic calculations.\n\nAttributes:\n loop_control (Optional[int]): Loop Control: 1 - Altitude and Mach, 2 - Mach Only, 3 - Altitude Only.\n qty_machs (Optional[int]): Number of Mach numbers.\n machs (List[Optional[float]]): Ascending order of Freestream Mach numbers.\n velocities (List[Optional[float]]): Ascending order of Freestream Velocities.\n qty_alphas (Optional[int]): Number of angles-of-attack.\n alphas (List[Optional[float]]): Ascending order of angles-of-attack.\n reynolds_indices (List[Optional[float]]): Reynolds number per unit length at Freestream conditions.\n qty_altitudes (Optional[int]): Number of altitudes.\n altitudes (List[Optional[float]]): Geometric Altitudes.\n static_pressures (List[Optional[float]]): Freestream static pressure.\n static_temperatures (List[Optional[float]]): Freestream static temperature.\n transonic_mach (Optional[float]): Transonic Onset Mach number.\n supersonic_mach (Optional[float]): Supersonic Onset Mach number.\n hypersonic_flag (Optional[bool]): Hypersonic flag: true - Hypersonic analysis at all Mach > 1.4.\n transition_flag (Optional[bool]): Transition flag: 0 - None, 1 - Transition Strips or Full Flight.\n weight (Optional[float]): Aircraft Weight.\n flight_path_angle (Optional[float]): Flight path Angle.",
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "A unique model name.",
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "A brief description of the model.",
"title": "Description"
},
"source_info": {
"anyOf": [
{
"$ref": "#/$defs/SourceInfo"
},
{
"type": "null"
}
],
"default": null,
"description": "Source and authorship metadata."
},
"uuid": {
"anyOf": [
{
"format": "uuid4",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "A globally unique identifier for the model.",
"title": "Uuid"
},
"loop_control": {
"anyOf": [
{
"exclusiveMaximum": 4,
"exclusiveMinimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": 1,
"description": "Loop Control: 1 - Altitude and Mach, 2 - Mach Only, 3 - Altitude Only",
"title": "Loop Control"
},
"qty_machs": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of Mach numbers",
"title": "Qty Machs"
},
"machs": {
"description": "Ascending order of Freestream Mach numbers",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Machs",
"type": "array"
},
"velocities": {
"description": "Ascending order of Freestream Velocities",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Velocities",
"type": "array"
},
"qty_alphas": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of angles-of-attack",
"title": "Qty Alphas"
},
"alphas": {
"description": "Ascending order of angles-of-attack",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Alphas",
"type": "array"
},
"reynolds_indices": {
"description": "Reynolds number per unit length at Freestream conditions",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Reynolds Indices",
"type": "array"
},
"qty_altitudes": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of altitudes",
"title": "Qty Altitudes"
},
"altitudes": {
"description": "Geometric Altitudes",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Altitudes",
"type": "array"
},
"static_pressures": {
"description": "Freestream static pressure",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Static Pressures",
"type": "array"
},
"static_temperatures": {
"description": "Freestream static temperature",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Static Temperatures",
"type": "array"
},
"transonic_mach": {
"anyOf": [
{
"exclusiveMaximum": 0.99,
"minimum": 0.6,
"type": "number"
},
{
"type": "null"
}
],
"default": 0.6,
"description": "Transonic Onset Mach number",
"title": "Transonic Mach"
},
"supersonic_mach": {
"anyOf": [
{
"exclusiveMaximum": 1.4,
"minimum": 1.01,
"type": "number"
},
{
"type": "null"
}
],
"default": 1.4,
"description": "Supersonic Onset Mach number",
"title": "Supersonic Mach"
},
"hypersonic_flag": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "Hypersonic flag: true - Hypersonic analysis at all Mach > 1.4",
"title": "Hypersonic Flag"
},
"transition_flag": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": false,
"description": "Transition flag: 0 - None, 1 - Transition Strips or Full Flight",
"title": "Transition Flag"
},
"weight": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Aircraft Weight",
"title": "Weight"
},
"flight_path_angle": {
"anyOf": [
{
"exclusiveMaximum": 2,
"exclusiveMinimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Flight path Angle",
"title": "Flight Path Angle"
}
},
"title": "FlightConditions",
"type": "object"
}
Fields:
-
name(Optional[str]) -
description(Optional[str]) -
source_info(Optional[SourceInfo]) -
uuid(Optional[UUID4]) -
loop_control(Optional[int]) -
qty_machs(Optional[int]) -
machs(list[Optional[float]]) -
velocities(list[Optional[float]]) -
qty_alphas(Optional[int]) -
alphas(list[Optional[float]]) -
reynolds_indices(list[Optional[float]]) -
qty_altitudes(Optional[int]) -
altitudes(list[Optional[float]]) -
static_pressures(list[Optional[float]]) -
static_temperatures(list[Optional[float]]) -
transonic_mach(Optional[float]) -
supersonic_mach(Optional[float]) -
hypersonic_flag(Optional[bool]) -
transition_flag(Optional[bool]) -
weight(Optional[float]) -
flight_path_angle(Optional[float])
Validators:
-
list_must_be_non_negative→machs,velocities,alphas,reynolds_indices,altitudes,static_pressures,static_temperatures -
validate_list_lengths
hypersonic_flag
pydantic-field
¤
Hypersonic flag: true - Hypersonic analysis at all Mach > 1.4
loop_control
pydantic-field
¤
Loop Control: 1 - Altitude and Mach, 2 - Mach Only, 3 - Altitude Only
reynolds_indices
pydantic-field
¤
Reynolds number per unit length at Freestream conditions
source_info
pydantic-field
¤
source_info: Optional[SourceInfo] = None
Source and authorship metadata.
static_pressures
pydantic-field
¤
Freestream static pressure
static_temperatures
pydantic-field
¤
Freestream static temperature
supersonic_mach
pydantic-field
¤
Supersonic Onset Mach number
transition_flag
pydantic-field
¤
Transition flag: 0 - None, 1 - Transition Strips or Full Flight
velocities
pydantic-field
¤
Ascending order of Freestream Velocities
list_must_be_non_negative
pydantic-validator
¤
Validate that all list values are non-negative.
Parameters:
Returns:
Raises:
-
ValueError–If any value in the list is negative.
Source code in src/adh/wbs/airframe/airframe_parameters.py
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | |
validate_list_lengths
pydantic-validator
¤
Validate that the length of lists matches their corresponding quantity fields.
Parameters:
-
values(dict) –The current values of the model.
Returns:
Raises:
-
ValueError–If the length of a list doesn't match its corresponding quantity field.
Source code in src/adh/wbs/airframe/airframe_parameters.py
167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 | |
GroundEffectsDefinition
pydantic-model
¤
Bases: BaseModel
Show JSON schema:
{
"example": {
"heights": [
100.0,
200.0,
300.0,
400.0,
500.0
],
"qty_heights": 5
},
"properties": {
"heights": {
"description": "Ground heights",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Heights",
"type": "array"
},
"qty_heights": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of grid heights",
"title": "Qty Heights"
}
},
"title": "GroundEffectsDefinition",
"type": "object"
}
Config:
default:{'str_min_length': 1, 'str_strip_whitespace': True, 'json_schema_extra': {'example': {'qty_heights': 5, 'heights': [100.0, 200.0, 300.0, 400.0, 500.0]}}}
Fields:
Validators:
-
check_grdht_values→heights -
check_ngh_value→qty_heights
HypersonicFlapControl
pydantic-model
¤
Bases: BaseModel
Show JSON schema:
{
"example": {
"altitude": 10.0,
"boundary_layer_state": [
true,
false
],
"control_chord_ratio": 0.02,
"deflections": [
0.1,
0.2
],
"hingeline_chord_ratio": 0.5,
"qty_deflections": 2,
"wall_to_freestream_temperature_ratio": 1.0
},
"properties": {
"altitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Altitude",
"title": "Altitude"
},
"hingeline_chord_ratio": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Distance from leading edge to hingeline to chord ratio",
"title": "Hingeline Chord Ratio"
},
"wall_to_freestream_temperature_ratio": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Wall temperature to free stream static temperature ratio",
"title": "Wall To Freestream Temperature Ratio"
},
"control_chord_ratio": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Control surface chord length",
"title": "Control Chord Ratio"
},
"qty_deflections": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of flap deflection values",
"title": "Qty Deflections"
},
"deflections": {
"description": "Control deflection angles",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Deflections",
"type": "array"
},
"boundary_layer_state": {
"description": "Boundary Layer State: True - Laminar, False - Turbulent",
"items": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"title": "Boundary Layer State",
"type": "array"
}
},
"title": "HypersonicFlapControl",
"type": "object"
}
Config:
default:{'json_schema_extra': {'example': {'altitude': 10.0, 'hingeline_chord_ratio': 0.5, 'wall_to_freestream_temperature_ratio': 1.0, 'control_chord_ratio': 0.02, 'boundary_layer_state': [True, False], 'qty_deflections': 2, 'deflections': [0.1, 0.2]}}}
Fields:
-
altitude(Optional[float]) -
hingeline_chord_ratio(Optional[float]) -
wall_to_freestream_temperature_ratio(Optional[float]) -
control_chord_ratio(Optional[float]) -
qty_deflections(Optional[int]) -
deflections(list[Optional[float]]) -
boundary_layer_state(list[Optional[bool]])
Validators:
-
check_deflections_length→deflections
boundary_layer_state
pydantic-field
¤
Boundary Layer State: True - Laminar, False - Turbulent
control_chord_ratio
pydantic-field
¤
Control surface chord length
hingeline_chord_ratio
pydantic-field
¤
Distance from leading edge to hingeline to chord ratio
qty_deflections
pydantic-field
¤
Number of flap deflection values
JetPowerProperties
pydantic-model
¤
Bases: BaseModel
Show JSON schema:
{
"example": {
"ambient_static_pressure": 101325.0,
"ambient_temperature": 288.15,
"centerline_buttline": 0.5,
"exhaust_diameter": 0.6,
"exhaust_exit_angle": 15.0,
"exhaust_exit_velocity": 300.0,
"exhaust_static_temperature": 1500.0,
"exhaust_station": 3.0,
"exhaust_total_pressure": 101325.0,
"exhaust_waterline": 1.0,
"inlet_area": 1.2,
"inlet_station": 2.0,
"qty_engines": 2,
"thrust_coefficient": 0.8,
"thrust_incidence_angle": 5.0
},
"properties": {
"qty_engines": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of jet engines.",
"title": "Qty Engines"
},
"centerline_buttline": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Lateral buttline of jet engine centerline.",
"title": "Centerline Buttline"
},
"thrust_incidence_angle": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Angle-of-Incidence of Engine thrust line",
"title": "Thrust Incidence Angle"
},
"thrust_coefficient": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Thrust coefficient for jet engine.",
"title": "Thrust Coefficient"
},
"inlet_area": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Jet inlet area.",
"title": "Inlet Area"
},
"inlet_station": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Axial station of Jet Engine Inlet",
"title": "Inlet Station"
},
"exhaust_diameter": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Jet engine exhaust diameter.",
"title": "Exhaust Diameter"
},
"exhaust_station": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Axial station of jet engine exhaust.",
"title": "Exhaust Station"
},
"exhaust_waterline": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Vertical waterline of jet engine exhaust.",
"title": "Exhaust Waterline"
},
"exhaust_exit_angle": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Jet exhaust angle with respect to the freestream.",
"title": "Exhaust Exit Angle"
},
"exhaust_exit_velocity": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Jet exhaust velocity.",
"title": "Exhaust Exit Velocity"
},
"exhaust_static_temperature": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Jet exhaust static temperature.",
"title": "Exhaust Static Temperature"
},
"exhaust_total_pressure": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Jet Exhaust Total Pressure",
"title": "Exhaust Total Pressure"
},
"ambient_temperature": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Ambient temperature",
"title": "Ambient Temperature"
},
"ambient_static_pressure": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Ambient static pressure.",
"title": "Ambient Static Pressure"
}
},
"title": "JetPowerProperties",
"type": "object"
}
Config:
default:{'json_schema_extra': {'example': {'qty_engines': 2, 'centerline_buttline': 0.5, 'thrust_incidence_angle': 5.0, 'thrust_coefficient': 0.8, 'inlet_area': 1.2, 'inlet_station': 2.0, 'exhaust_diameter': 0.6, 'exhaust_station': 3.0, 'exhaust_waterline': 1.0, 'exhaust_exit_angle': 15.0, 'exhaust_exit_velocity': 300.0, 'exhaust_static_temperature': 1500.0, 'exhaust_total_pressure': 101325.0, 'ambient_temperature': 288.15, 'ambient_static_pressure': 101325.0}}}
Fields:
-
qty_engines(Optional[int]) -
centerline_buttline(Optional[float]) -
thrust_incidence_angle(Optional[float]) -
thrust_coefficient(Optional[float]) -
inlet_area(Optional[float]) -
inlet_station(Optional[float]) -
exhaust_diameter(Optional[float]) -
exhaust_station(Optional[float]) -
exhaust_waterline(Optional[float]) -
exhaust_exit_angle(Optional[float]) -
exhaust_exit_velocity(Optional[float]) -
exhaust_static_temperature(Optional[float]) -
exhaust_total_pressure(Optional[float]) -
ambient_temperature(Optional[float]) -
ambient_static_pressure(Optional[float])
Validators:
-
validate_non_negative→thrust_incidence_angle,thrust_coefficient,inlet_area,exhaust_diameter,exhaust_exit_velocity,exhaust_total_pressure
ambient_static_pressure
pydantic-field
¤
Ambient static pressure.
ambient_temperature
pydantic-field
¤
Ambient temperature
centerline_buttline
pydantic-field
¤
Lateral buttline of jet engine centerline.
exhaust_diameter
pydantic-field
¤
Jet engine exhaust diameter.
exhaust_exit_angle
pydantic-field
¤
Jet exhaust angle with respect to the freestream.
exhaust_exit_velocity
pydantic-field
¤
Jet exhaust velocity.
exhaust_static_temperature
pydantic-field
¤
Jet exhaust static temperature.
exhaust_station
pydantic-field
¤
Axial station of jet engine exhaust.
exhaust_total_pressure
pydantic-field
¤
Jet Exhaust Total Pressure
exhaust_waterline
pydantic-field
¤
Vertical waterline of jet engine exhaust.
inlet_station
pydantic-field
¤
Axial station of Jet Engine Inlet
thrust_coefficient
pydantic-field
¤
Thrust coefficient for jet engine.
LiftingSurface
pydantic-model
¤
Bases: BaseModel
Show JSON schema:
{
"$defs": {
"PlanformType": {
"enum": [
1,
2,
3
],
"title": "PlanformType",
"type": "integer"
}
},
"properties": {
"tip_chord": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Tip chord",
"title": "Tip Chord"
},
"outboard_panel_semi_span": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Outboard panel semi-span",
"title": "Outboard Panel Semi Span"
},
"exposed_panel_semi_span": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Exposed panel semi-span from side-of-body",
"title": "Exposed Panel Semi Span"
},
"total_panel_semi_span": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Theoretical panel semi-span from centerline",
"title": "Total Panel Semi Span"
},
"breakpoint_chord": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Chord at break point",
"title": "Breakpoint Chord"
},
"root_chord": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Root chord",
"title": "Root Chord"
},
"inboard_panel_sweep": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Inboard panel sweep angle",
"title": "Inboard Panel Sweep"
},
"outboard_panel_sweep": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Outboard panel sweep angle",
"title": "Outboard Panel Sweep"
},
"reference_chord_fraction": {
"anyOf": [
{
"exclusiveMaximum": 1,
"exclusiveMinimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": 0.25,
"description": "Reference chord fraction for inboard and outboard sweep angles",
"title": "Reference Chord Fraction"
},
"twist_angle": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Twist angle, negative leading edge rotated down",
"title": "Twist Angle"
},
"inboard_panel_dihedral": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Inboard panel dihedral angle",
"title": "Inboard Panel Dihedral"
},
"outboard_panel_dihedral": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Outboard panel dihedral angle",
"title": "Outboard Panel Dihedral"
},
"planform_type": {
"anyOf": [
{
"$ref": "#/$defs/PlanformType"
},
{
"type": "null"
}
],
"default": null,
"description": "Planform type: 1.0 Straight tapered, 2.0 - Double Delta, 3.0 - Cranked"
},
"shock_impengement_area": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Fuselage portion covered by shock zone emanating from root of horizontal",
"title": "Shock Impengement Area"
},
"extended_shock_impengement_area": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Extended Fuselage portion covered by shock zone emanating from root of horizontal",
"title": "Extended Shock Impengement Area"
},
"distance_between_CG_and_centroid": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Longitudinal Distance between CG and centroid of stabilizer",
"title": "Distance Between Cg And Centroid"
},
"vertical_panel_exposed_root_chord": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Exposed Vertical Panel Area of Wing exposed root chord",
"title": "Vertical Panel Exposed Root Chord"
},
"vertical_panel_not_influenced_by_wing": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Exposed Vertical Panel Area not influenced by Wing or Horizontal",
"title": "Vertical Panel Not Influenced By Wing"
},
"horizontal_panel_exposed_root_chord": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Exposed Vertical Panel Area of Horizontal exposed root chord",
"title": "Horizontal Panel Exposed Root Chord"
}
},
"title": "LiftingSurface",
"type": "object"
}
Fields:
-
tip_chord(Optional[float]) -
outboard_panel_semi_span(Optional[float]) -
exposed_panel_semi_span(Optional[float]) -
total_panel_semi_span(Optional[float]) -
breakpoint_chord(Optional[float]) -
root_chord(Optional[float]) -
inboard_panel_sweep(Optional[float]) -
outboard_panel_sweep(Optional[float]) -
reference_chord_fraction(Optional[float]) -
twist_angle(Optional[float]) -
inboard_panel_dihedral(Optional[float]) -
outboard_panel_dihedral(Optional[float]) -
planform_type(Optional[PlanformType]) -
shock_impengement_area(Optional[float]) -
extended_shock_impengement_area(Optional[float]) -
distance_between_CG_and_centroid(Optional[float]) -
vertical_panel_exposed_root_chord(Optional[float]) -
vertical_panel_not_influenced_by_wing(Optional[float]) -
horizontal_panel_exposed_root_chord(Optional[float])
Validators:
-
check_non_negative→tip_chord,outboard_panel_semi_span,exposed_panel_semi_span,total_panel_semi_span,breakpoint_chord,root_chord,shock_impengement_area,extended_shock_impengement_area,vertical_panel_exposed_root_chord,vertical_panel_not_influenced_by_wing,horizontal_panel_exposed_root_chord -
check_chstat_range→reference_chord_fraction
distance_between_CG_and_centroid
pydantic-field
¤
Longitudinal Distance between CG and centroid of stabilizer
exposed_panel_semi_span
pydantic-field
¤
Exposed panel semi-span from side-of-body
extended_shock_impengement_area
pydantic-field
¤
Extended Fuselage portion covered by shock zone emanating from root of horizontal
horizontal_panel_exposed_root_chord
pydantic-field
¤
Exposed Vertical Panel Area of Horizontal exposed root chord
inboard_panel_dihedral
pydantic-field
¤
Inboard panel dihedral angle
inboard_panel_sweep
pydantic-field
¤
Inboard panel sweep angle
outboard_panel_dihedral
pydantic-field
¤
Outboard panel dihedral angle
outboard_panel_semi_span
pydantic-field
¤
Outboard panel semi-span
outboard_panel_sweep
pydantic-field
¤
Outboard panel sweep angle
planform_type
pydantic-field
¤
planform_type: Optional[PlanformType] = None
Planform type: 1.0 Straight tapered, 2.0 - Double Delta, 3.0 - Cranked
reference_chord_fraction
pydantic-field
¤
Reference chord fraction for inboard and outboard sweep angles
shock_impengement_area
pydantic-field
¤
Fuselage portion covered by shock zone emanating from root of horizontal
total_panel_semi_span
pydantic-field
¤
Theoretical panel semi-span from centerline
twist_angle
pydantic-field
¤
Twist angle, negative leading edge rotated down
vertical_panel_exposed_root_chord
pydantic-field
¤
Exposed Vertical Panel Area of Wing exposed root chord
LowAspectRatioWingBody
pydantic-model
¤
Bases: BaseModel
Show JSON schema:
{
"example": {
"aspect_ratio": 0.5,
"base_aft_of_lifting_surface": true,
"base_area": 1.1,
"base_max_height": 1.2,
"base_max_span": 1.3,
"base_perimeter": 1.0,
"body_centroid_height": 0.0,
"center_of_gravity_station": 1.4,
"distance_to_planform_centroid": 1.9,
"distance_to_side_centroid": 1.8,
"effective_radius": 0.6,
"frontal_area": 0.3,
"lower_surface_angle": 0.7,
"nose_side_area": 1.7,
"reference_area": 1.2,
"reference_length": 0.8,
"rounded_nose_flag": false,
"semi_apex_angle": 1.5,
"sharpness": 0.01,
"total_side_area": 1.6,
"wetted_area": 0.9
},
"properties": {
"body_centroid_height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Height of Base Area Centroid above reference plane",
"title": "Body Centroid Height"
},
"reference_area": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Planform Reference area",
"title": "Reference Area"
},
"sharpness": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Sharp Leading Edge Parameter",
"title": "Sharpness"
},
"frontal_area": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Projected Frontal Area at zero normal force.",
"title": "Frontal Area"
},
"aspect_ratio": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Round leading edge parameter",
"title": "Aspect Ratio"
},
"effective_radius": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Parameter related to leading edge",
"title": "Effective Radius"
},
"lower_surface_angle": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Lower surface angle of round leading edge wing",
"title": "Lower Surface Angle"
},
"reference_length": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Length parameter",
"title": "Reference Length"
},
"wetted_area": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Wetted area excluding base area",
"title": "Wetted Area"
},
"base_perimeter": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Perimeter of base",
"title": "Base Perimeter"
},
"base_area": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Base area",
"title": "Base Area"
},
"base_max_height": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Maximum height of base",
"title": "Base Max Height"
},
"base_max_span": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Maximum span of base",
"title": "Base Max Span"
},
"base_aft_of_lifting_surface": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True - Portions of base aft of lifting surface, False - Entire base is aft of lifting surface",
"title": "Base Aft Of Lifting Surface"
},
"center_of_gravity_station": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Center of gravity along X-axis",
"title": "Center Of Gravity Station"
},
"semi_apex_angle": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Wing semi-apex angle",
"title": "Semi Apex Angle"
},
"rounded_nose_flag": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True - Rounded nose, False - Sharp Nose",
"title": "Rounded Nose Flag"
},
"total_side_area": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Total Side area",
"title": "Total Side Area"
},
"nose_side_area": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Side area forward of 20% body length",
"title": "Nose Side Area"
},
"distance_to_side_centroid": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Axial distance from nose to side area centroid",
"title": "Distance To Side Centroid"
},
"distance_to_planform_centroid": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Axial distance from nose to planform area centroid",
"title": "Distance To Planform Centroid"
}
},
"title": "LowAspectRatioWingBody",
"type": "object"
}
Config:
default:{'json_schema_extra': {'example': {'body_centroid_height': 0.0, 'reference_area': 1.2, 'sharpness': 0.01, 'frontal_area': 0.3, 'aspect_ratio': 0.5, 'effective_radius': 0.6, 'lower_surface_angle': 0.7, 'reference_length': 0.8, 'wetted_area': 0.9, 'base_perimeter': 1.0, 'base_area': 1.1, 'base_max_height': 1.2, 'base_max_span': 1.3, 'base_aft_of_lifting_surface': True, 'center_of_gravity_station': 1.4, 'semi_apex_angle': 1.5, 'rounded_nose_flag': False, 'total_side_area': 1.6, 'nose_side_area': 1.7, 'distance_to_side_centroid': 1.8, 'distance_to_planform_centroid': 1.9}}}
Fields:
-
body_centroid_height(Optional[float]) -
reference_area(Optional[float]) -
sharpness(Optional[float]) -
frontal_area(Optional[float]) -
aspect_ratio(Optional[float]) -
effective_radius(Optional[float]) -
lower_surface_angle(Optional[float]) -
reference_length(Optional[float]) -
wetted_area(Optional[float]) -
base_perimeter(Optional[float]) -
base_area(Optional[float]) -
base_max_height(Optional[float]) -
base_max_span(Optional[float]) -
base_aft_of_lifting_surface(Optional[bool]) -
center_of_gravity_station(Optional[float]) -
semi_apex_angle(Optional[float]) -
rounded_nose_flag(Optional[bool]) -
total_side_area(Optional[float]) -
nose_side_area(Optional[float]) -
distance_to_side_centroid(Optional[float]) -
distance_to_planform_centroid(Optional[float])
Validators:
-
check_values_not_negative→body_centroid_height,reference_area,sharpness,frontal_area,aspect_ratio,effective_radius,lower_surface_angle,reference_length,wetted_area,base_perimeter,base_area,base_max_height,base_max_span,center_of_gravity_station,semi_apex_angle,total_side_area,nose_side_area,distance_to_side_centroid,distance_to_planform_centroid
base_aft_of_lifting_surface
pydantic-field
¤
True - Portions of base aft of lifting surface, False - Entire base is aft of lifting surface
body_centroid_height
pydantic-field
¤
Height of Base Area Centroid above reference plane
center_of_gravity_station
pydantic-field
¤
Center of gravity along X-axis
distance_to_planform_centroid
pydantic-field
¤
Axial distance from nose to planform area centroid
distance_to_side_centroid
pydantic-field
¤
Axial distance from nose to side area centroid
effective_radius
pydantic-field
¤
Parameter related to leading edge
frontal_area
pydantic-field
¤
Projected Frontal Area at zero normal force.
lower_surface_angle
pydantic-field
¤
Lower surface angle of round leading edge wing
nose_side_area
pydantic-field
¤
Side area forward of 20% body length
rounded_nose_flag
pydantic-field
¤
True - Rounded nose, False - Sharp Nose
Parameters
pydantic-model
¤
Bases: BaseModel
Fields:
-
reference_data(Optional[ReferenceData]) -
flight_conditions(Optional[FlightConditions]) -
configuration_layout(Optional[ConfigurationLayout]) -
airfoil(Optional[Airfoil]) -
lifting_surface(Optional[LiftingSurface]) -
twin_vertical_tail(Optional[TwinVerticalTail]) -
ground_effects_definition(Optional[GroundEffectsDefinition]) -
symmetric_flap(Optional[SymmetricFlap]) -
asymmetric_control(Optional[AsymmetricControl]) -
body(Optional[Body]) -
low_aspect_ratio_wing_body(Optional[LowAspectRatioWingBody]) -
transverse_jet_control(Optional[TransverseJetControl]) -
hypersonic_flap_control(Optional[HypersonicFlapControl]) -
propeller_power_properties(Optional[PropellerPowerProperties]) -
jet_power_properties(Optional[JetPowerProperties]) -
aerodynamics_data(Optional[AerodynamicsData])
aerodynamics_data
pydantic-field
¤
aerodynamics_data: Optional[AerodynamicsData] = None
Aerodynamics data for the component.
asymmetric_control
pydantic-field
¤
asymmetric_control: Optional[AsymmetricControl] = None
Geometry of asymmetric controls.
configuration_layout
pydantic-field
¤
configuration_layout: Optional[ConfigurationLayout] = None
Configuration layout for the component.
flight_conditions
pydantic-field
¤
flight_conditions: Optional[FlightConditions] = None
Flight conditions for the component.
ground_effects_definition
pydantic-field
¤
ground_effects_definition: Optional[GroundEffectsDefinition] = None
Ground effects definition.
hypersonic_flap_control
pydantic-field
¤
hypersonic_flap_control: Optional[HypersonicFlapControl] = None
Parameters of the hypersonic flap control.
jet_power_properties
pydantic-field
¤
jet_power_properties: Optional[JetPowerProperties] = None
Properties of the jet power.
lifting_surface
pydantic-field
¤
lifting_surface: Optional[LiftingSurface] = None
Parameters of the lifting surface.
low_aspect_ratio_wing_body
pydantic-field
¤
low_aspect_ratio_wing_body: Optional[LowAspectRatioWingBody] = None
Parameters of the low aspect ratio wing body.
propeller_power_properties
pydantic-field
¤
propeller_power_properties: Optional[PropellerPowerProperties] = None
Properties of the propeller power.
reference_data
pydantic-field
¤
reference_data: Optional[ReferenceData] = None
Reference data for the component.
symmetric_flap
pydantic-field
¤
symmetric_flap: Optional[SymmetricFlap] = None
Geometry of symmetric flaps.
transverse_jet_control
pydantic-field
¤
transverse_jet_control: Optional[TransverseJetControl] = None
Parameters of the transverse jet control.
twin_vertical_tail
pydantic-field
¤
twin_vertical_tail: Optional[TwinVerticalTail] = None
Parameters of the twin vertical tail.
PropellerPowerProperties
pydantic-model
¤
Bases: BaseModel
Show JSON schema:
{
"example": {
"blade_angle": [
15.0,
20.0,
25.0
],
"blade_chord_ratio": [
0.1,
0.2,
0.3
],
"counter_rotating": true,
"hub_buttline": 0.5,
"hub_station": 2.0,
"hub_waterline": 1.0,
"normal_force_factor": 1.2,
"prop_radius": 1.5,
"qty_blades": 4,
"qty_engines": 2,
"rotation_direction": true,
"thrust_coefficient": 0.8,
"thrust_incidence_angle": 5.0
},
"properties": {
"thrust_incidence_angle": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Angle of incidence of the Engine thrust axis",
"title": "Thrust Incidence Angle"
},
"qty_engines": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of engines (specific to propellers).",
"title": "Qty Engines"
},
"qty_blades": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of blades per engine.",
"title": "Qty Blades"
},
"counter_rotating": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True - Counter Rotating, False - Non-Counter Rotating",
"title": "Counter Rotating"
},
"prop_radius": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Propeller radius.",
"title": "Prop Radius"
},
"rotation_direction": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Propeller rotation direction 1 - Clockwise, 2 - Counter-clockwise",
"title": "Rotation Direction"
},
"thrust_coefficient": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Thrust coefficient of propeller.",
"title": "Thrust Coefficient"
},
"hub_buttline": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Lateral buttline of propeller",
"title": "Hub Buttline"
},
"hub_station": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Axial station of propeller.",
"title": "Hub Station"
},
"hub_waterline": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Vertical waterline of propeller.",
"title": "Hub Waterline"
},
"blade_chord_ratio": {
"description": "Blade chord ratio vs fraction of radius",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Blade Chord Ratio",
"type": "array"
},
"blade_angle": {
"description": "Blade angle vs fraction of radius",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Blade Angle",
"type": "array"
},
"normal_force_factor": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Empirical Normal Force Factor",
"title": "Normal Force Factor"
}
},
"title": "PropellerPowerProperties",
"type": "object"
}
Config:
default:{'json_schema_extra': {'example': {'thrust_incidence_angle': 5.0, 'qty_engines': 2, 'qty_blades': 4, 'counter_rotating': True, 'prop_radius': 1.5, 'rotation_direction': True, 'thrust_coefficient': 0.8, 'hub_buttline': 0.5, 'hub_station': 2.0, 'hub_waterline': 1.0, 'blade_chord_ratio': [0.1, 0.2, 0.3], 'blade_angle': [15.0, 20.0, 25.0], 'normal_force_factor': 1.2}}}
Fields:
-
thrust_incidence_angle(Optional[float]) -
qty_engines(Optional[int]) -
qty_blades(Optional[int]) -
counter_rotating(Optional[bool]) -
prop_radius(Optional[float]) -
rotation_direction(Optional[bool]) -
thrust_coefficient(Optional[float]) -
hub_buttline(Optional[float]) -
hub_station(Optional[float]) -
hub_waterline(Optional[float]) -
blade_chord_ratio(list[Optional[float]]) -
blade_angle(list[Optional[float]]) -
normal_force_factor(Optional[float])
Validators:
-
check_non_negative→thrust_incidence_angle,prop_radius,thrust_coefficient,normal_force_factor
blade_chord_ratio
pydantic-field
¤
Blade chord ratio vs fraction of radius
counter_rotating
pydantic-field
¤
True - Counter Rotating, False - Non-Counter Rotating
hub_waterline
pydantic-field
¤
Vertical waterline of propeller.
normal_force_factor
pydantic-field
¤
Empirical Normal Force Factor
qty_engines
pydantic-field
¤
Number of engines (specific to propellers).
rotation_direction
pydantic-field
¤
Propeller rotation direction 1 - Clockwise, 2 - Counter-clockwise
thrust_coefficient
pydantic-field
¤
Thrust coefficient of propeller.
ReferenceData
pydantic-model
¤
Bases: NodeMetaMixin, BaseModel
Show JSON schema:
{
"$defs": {
"Author": {
"description": "Author or contributor to an ADH node.",
"properties": {
"name": {
"description": "Full name of the author.",
"title": "Name",
"type": "string"
},
"organisation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Organisation or affiliation.",
"title": "Organisation"
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Email address.",
"title": "Email"
}
},
"required": [
"name"
],
"title": "Author",
"type": "object"
},
"ExternalReference": {
"description": "Reference to an external file or document.",
"properties": {
"title": {
"description": "Title or name of the referenced resource.",
"title": "Title",
"type": "string"
},
"path": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "File path or URI to the external resource.",
"title": "Path"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Description of the reference and its relevance.",
"title": "Description"
},
"classification": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Type classification of the reference (e.g. 'STEP file', 'CFD mesh', 'test report').",
"title": "Classification"
}
},
"required": [
"title"
],
"title": "ExternalReference",
"type": "object"
},
"SourceInfo": {
"description": "Source and authorship metadata for an ADH node.",
"properties": {
"authors": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/Author"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Authors or contributors.",
"title": "Authors"
},
"creation_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date this node was created.",
"title": "Creation Date"
},
"modification_date": {
"anyOf": [
{
"format": "date",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Date this node was last modified.",
"title": "Modification Date"
},
"version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Version string.",
"title": "Version"
},
"references": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/ExternalReference"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "References to external files or documents.",
"title": "References"
}
},
"title": "SourceInfo",
"type": "object"
}
},
"additionalProperties": true,
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "A unique model name.",
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "A brief description of the model.",
"title": "Description"
},
"source_info": {
"anyOf": [
{
"$ref": "#/$defs/SourceInfo"
},
{
"type": "null"
}
],
"default": null,
"description": "Source and authorship metadata."
},
"uuid": {
"anyOf": [
{
"format": "uuid4",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "A globally unique identifier for the model.",
"title": "Uuid"
},
"RougHgt": {
"anyOf": [
{
"maximum": 0.02,
"minimum": 0.0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Equivalent Sand Surface roughness height",
"title": "Roughgt"
},
"Sref": {
"anyOf": [
{
"exclusiveMinimum": 0.0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Reference area (ft^2)",
"title": "Sref"
},
"Cbar": {
"anyOf": [
{
"exclusiveMinimum": 0.0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Longitudinal reference length (ft)",
"title": "Cbar"
},
"BLref": {
"anyOf": [
{
"exclusiveMinimum": 0.0,
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Lateral reference length (ft)",
"title": "Blref"
}
},
"title": "ReferenceData",
"type": "object"
}
Fields:
-
name(Optional[str]) -
description(Optional[str]) -
source_info(Optional[SourceInfo]) -
uuid(Optional[UUID4]) -
roughness(Optional[float]) -
reference_area(Optional[float]) -
reference_length(Optional[float]) -
lateral_reference(Optional[float])
Validators:
-
roughness_valid→roughness
lateral_reference
pydantic-field
¤
Lateral reference length (ft)
reference_length
pydantic-field
¤
Longitudinal reference length (ft)
roughness
pydantic-field
¤
Equivalent Sand Surface roughness height
source_info
pydantic-field
¤
source_info: Optional[SourceInfo] = None
Source and authorship metadata.
SymmetricFlap
pydantic-model
¤
Bases: BaseModel
Show JSON schema:
{
"$defs": {
"BlowingType": {
"enum": [
0,
1,
2,
3,
4
],
"title": "BlowingType",
"type": "integer"
},
"FlapType": {
"enum": [
0,
1,
2,
3,
4,
0,
5,
6,
7,
8
],
"title": "FlapType",
"type": "integer"
},
"NoseType": {
"enum": [
1,
2,
3
],
"title": "NoseType",
"type": "integer"
}
},
"example": {
"EBF_jet_deflection_angles": [
1.5,
1.6
],
"balance_chord_ratio": 0.1,
"deflections": [
10.0,
20.0
],
"flap_Lift_increment": [
1.8,
1.9
],
"flap_Pitch_increment": [
2.0,
2.1
],
"hinge_thickness_to_chord_ratio": 0.2,
"inboard_chord_ratio": [
0.1,
0.2
],
"inboard_fowler_action": [
0.9,
1.0
],
"inboard_span_ratio": [
0.5,
0.6
],
"jet_deflection": [
1.3,
1.4
],
"jet_efflux": 1.7,
"outboard_chord_ratio": [
0.3,
0.4
],
"outboard_fowler_action": [
1.1,
1.2
],
"outboard_span_ratio": [
0.7,
0.8
],
"qty_deflections": 2
},
"properties": {
"flap_type": {
"anyOf": [
{
"$ref": "#/$defs/FlapType"
},
{
"type": "null"
}
],
"default": null,
"description": "Flap type: 1 - Plain, 2 - Single, 3 - Fowler, 4 - Double, 0 - Triple, 5 - Split, 6 - LE_Flap, 7 - LE_Slats, 8 - Krueger"
},
"nose_type": {
"anyOf": [
{
"$ref": "#/$defs/NoseType"
},
{
"type": "null"
}
],
"default": null,
"description": "Nose type: 1 - Round, 2 - Elliptic, 3 - Sharp"
},
"blowing_type": {
"anyOf": [
{
"$ref": "#/$defs/BlowingType"
},
{
"type": "null"
}
],
"default": null,
"description": "Blowing type: 0 - None, 1 - Pure, 2 - IBF, 3 - EBF, 4 - Mech Jet"
},
"balance_chord_ratio": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Average balance chord ratio",
"title": "Balance Chord Ratio"
},
"hinge_thickness_to_chord_ratio": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Average thickness-to-Chord ratio at hinge line",
"title": "Hinge Thickness To Chord Ratio"
},
"qty_deflections": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of deflection angles",
"title": "Qty Deflections"
},
"deflections": {
"description": "Leading edge deflections",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Deflections",
"type": "array"
},
"inboard_chord_ratio": {
"description": "Chord ratio at flap inboard edge",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Inboard Chord Ratio",
"type": "array"
},
"outboard_chord_ratio": {
"description": "Chord ratio at flap outboard edge",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Outboard Chord Ratio",
"type": "array"
},
"inboard_span_ratio": {
"description": "Span ratio at flap inboard edge",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Inboard Span Ratio",
"type": "array"
},
"outboard_span_ratio": {
"description": "Span ratio at flap outboard edge",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Outboard Span Ratio",
"type": "array"
},
"inboard_fowler_action": {
"description": "Fowler action of inboard flap",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Inboard Fowler Action",
"type": "array"
},
"outboard_fowler_action": {
"description": "Fowler action of outboard flap",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Outboard Fowler Action",
"type": "array"
},
"jet_deflection": {
"description": "Jet deflection angles",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Jet Deflection",
"type": "array"
},
"EBF_jet_deflection_angles": {
"description": "EBF Jet deflection angles",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Ebf Jet Deflection Angles",
"type": "array"
},
"jet_efflux": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "2D jet efflux coefficient",
"title": "Jet Efflux"
},
"flap_Lift_increment": {
"description": "Lift Coefficient increment due to flap deflection",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Flap Lift Increment",
"type": "array"
},
"flap_Pitch_increment": {
"description": "Pitching Moment Coefficient increment due to flap deflection",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Flap Pitch Increment",
"type": "array"
}
},
"title": "SymmetricFlap",
"type": "object"
}
Config:
default:{'json_schema_extra': {'example': {'balance_chord_ratio': 0.1, 'hinge_thickness_to_chord_ratio': 0.2, 'qty_deflections': 2, 'deflections': [10.0, 20.0], 'inboard_chord_ratio': [0.1, 0.2], 'outboard_chord_ratio': [0.3, 0.4], 'inboard_span_ratio': [0.5, 0.6], 'outboard_span_ratio': [0.7, 0.8], 'inboard_fowler_action': [0.9, 1.0], 'outboard_fowler_action': [1.1, 1.2], 'jet_deflection': [1.3, 1.4], 'EBF_jet_deflection_angles': [1.5, 1.6], 'jet_efflux': 1.7, 'flap_Lift_increment': [1.8, 1.9], 'flap_Pitch_increment': [2.0, 2.1]}}}
Fields:
-
flap_type(Optional[FlapType]) -
nose_type(Optional[NoseType]) -
blowing_type(Optional[BlowingType]) -
balance_chord_ratio(Optional[float]) -
hinge_thickness_to_chord_ratio(Optional[float]) -
qty_deflections(Optional[int]) -
deflections(list[Optional[float]]) -
inboard_chord_ratio(list[Optional[float]]) -
outboard_chord_ratio(list[Optional[float]]) -
inboard_span_ratio(list[Optional[float]]) -
outboard_span_ratio(list[Optional[float]]) -
inboard_fowler_action(list[Optional[float]]) -
outboard_fowler_action(list[Optional[float]]) -
jet_deflection(list[Optional[float]]) -
EBF_jet_deflection_angles(list[Optional[float]]) -
jet_efflux(Optional[float]) -
flap_Lift_increment(list[Optional[float]]) -
flap_Pitch_increment(list[Optional[float]])
Validators:
-
check_values_not_negative→balance_chord_ratio,hinge_thickness_to_chord_ratio,jet_efflux
EBF_jet_deflection_angles
pydantic-field
¤
EBF Jet deflection angles
balance_chord_ratio
pydantic-field
¤
Average balance chord ratio
blowing_type
pydantic-field
¤
blowing_type: Optional[BlowingType] = None
Blowing type: 0 - None, 1 - Pure, 2 - IBF, 3 - EBF, 4 - Mech Jet
flap_Lift_increment
pydantic-field
¤
Lift Coefficient increment due to flap deflection
flap_Pitch_increment
pydantic-field
¤
Pitching Moment Coefficient increment due to flap deflection
flap_type
pydantic-field
¤
flap_type: Optional[FlapType] = None
Flap type: 1 - Plain, 2 - Single, 3 - Fowler, 4 - Double, 0 - Triple, 5 - Split, 6 - LE_Flap, 7 - LE_Slats, 8 - Krueger
hinge_thickness_to_chord_ratio
pydantic-field
¤
Average thickness-to-Chord ratio at hinge line
inboard_chord_ratio
pydantic-field
¤
Chord ratio at flap inboard edge
inboard_fowler_action
pydantic-field
¤
Fowler action of inboard flap
inboard_span_ratio
pydantic-field
¤
Span ratio at flap inboard edge
nose_type
pydantic-field
¤
nose_type: Optional[NoseType] = None
Nose type: 1 - Round, 2 - Elliptic, 3 - Sharp
outboard_chord_ratio
pydantic-field
¤
Chord ratio at flap outboard edge
outboard_fowler_action
pydantic-field
¤
Fowler action of outboard flap
outboard_span_ratio
pydantic-field
¤
Span ratio at flap outboard edge
TransverseJetControl
pydantic-model
¤
Bases: BaseModel
Show JSON schema:
{
"example": {
"altitudes": [
5.0,
5.1,
5.2
],
"boundary_layer_state": [
true,
false,
true
],
"control_force": [
1.0,
1.1,
1.2
],
"jet_vacuum_specific_impulse": 300.0,
"nozzle_discharge_coefficient": 0.98,
"nozzle_distance_from_leading_edge": 2.0,
"nozzle_exit_mach_number": 0.8,
"nozzle_inclination": 15.0,
"nozzle_span": 0.5,
"propellant_specific_heat": 1.4,
"qty_time": 3,
"time": [
0.1,
0.2,
0.3
]
},
"properties": {
"qty_time": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of time history values",
"title": "Qty Time"
},
"time": {
"description": "Time values",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Time",
"type": "array"
},
"control_force": {
"description": "Control force required to trim",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Control Force",
"type": "array"
},
"altitudes": {
"description": "Altitude values",
"items": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"title": "Altitudes",
"type": "array"
},
"boundary_layer_state": {
"description": "Boundary Layer at Jet: True - Laminar, False - Turbulent",
"items": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"title": "Boundary Layer State",
"type": "array"
},
"nozzle_exit_mach_number": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Nozzle Exit Mach Number",
"title": "Nozzle Exit Mach Number"
},
"jet_vacuum_specific_impulse": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Jet vacuum specific impulse",
"title": "Jet Vacuum Specific Impulse"
},
"nozzle_span": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Span of nozzle normal to flow",
"title": "Nozzle Span"
},
"nozzle_inclination": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Nozzle centerline axis inclination relative to surface normal",
"title": "Nozzle Inclination"
},
"propellant_specific_heat": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Specific heat ratio of propellant",
"title": "Propellant Specific Heat"
},
"nozzle_discharge_coefficient": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Nozzle Discharge coefficient",
"title": "Nozzle Discharge Coefficient"
},
"nozzle_distance_from_leading_edge": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Nozzle distance from plate leading edge",
"title": "Nozzle Distance From Leading Edge"
}
},
"title": "TransverseJetControl",
"type": "object"
}
Config:
default:{'json_schema_extra': {'example': {'qty_time': 3, 'time': [0.1, 0.2, 0.3], 'control_force': [1.0, 1.1, 1.2], 'altitudes': [5.0, 5.1, 5.2], 'boundary_layer_state': [True, False, True], 'nozzle_exit_mach_number': 0.8, 'jet_vacuum_specific_impulse': 300.0, 'nozzle_span': 0.5, 'nozzle_inclination': 15.0, 'propellant_specific_heat': 1.4, 'nozzle_discharge_coefficient': 0.98, 'nozzle_distance_from_leading_edge': 2.0}}}
Fields:
-
qty_time(Optional[int]) -
time(list[Optional[float]]) -
control_force(list[Optional[float]]) -
altitudes(list[Optional[float]]) -
boundary_layer_state(list[Optional[bool]]) -
nozzle_exit_mach_number(Optional[float]) -
jet_vacuum_specific_impulse(Optional[float]) -
nozzle_span(Optional[float]) -
nozzle_inclination(Optional[float]) -
propellant_specific_heat(Optional[float]) -
nozzle_discharge_coefficient(Optional[float]) -
nozzle_distance_from_leading_edge(Optional[float])
Validators:
-
lists_must_match_qty_time→time,control_force,altitudes
boundary_layer_state
pydantic-field
¤
Boundary Layer at Jet: True - Laminar, False - Turbulent
jet_vacuum_specific_impulse
pydantic-field
¤
Jet vacuum specific impulse
nozzle_discharge_coefficient
pydantic-field
¤
Nozzle Discharge coefficient
nozzle_distance_from_leading_edge
pydantic-field
¤
Nozzle distance from plate leading edge
nozzle_exit_mach_number
pydantic-field
¤
Nozzle Exit Mach Number
nozzle_inclination
pydantic-field
¤
Nozzle centerline axis inclination relative to surface normal
propellant_specific_heat
pydantic-field
¤
Specific heat ratio of propellant
TwinVerticalTail
pydantic-model
¤
Bases: BaseModel
Show JSON schema:
{
"example": {
"body_depth": 2.0,
"closure_angle": 0.8,
"lateral_arm": 0.2,
"planform_area": 1.0,
"separation": 0.3,
"span_above": 1.5,
"total_span": 0.5,
"vertical_arm": 0.1
},
"properties": {
"span_above": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Vertical Panel Span above lifting surface",
"title": "Span Above"
},
"total_span": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Vertical Panel Span",
"title": "Total Span"
},
"body_depth": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Fuselage depth at MAC/4",
"title": "Body Depth"
},
"separation": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Distance between Vertical tails",
"title": "Separation"
},
"planform_area": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Planform Area of one vertical tail",
"title": "Planform Area"
},
"closure_angle": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Trailing Edge Closure Angle of Vertical tail",
"title": "Closure Angle"
},
"lateral_arm": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Vertical Tail lateral arm aft of CG",
"title": "Lateral Arm"
},
"vertical_arm": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Vertical Tail Moment Arm above CG",
"title": "Vertical Arm"
}
},
"title": "TwinVerticalTail",
"type": "object"
}
Config:
default:{'json_schema_extra': {'example': {'span_above': 1.5, 'total_span': 0.5, 'body_depth': 2.0, 'separation': 0.3, 'planform_area': 1.0, 'closure_angle': 0.8, 'lateral_arm': 0.2, 'vertical_arm': 0.1}}}
Fields:
-
span_above(Optional[float]) -
total_span(Optional[float]) -
body_depth(Optional[float]) -
separation(Optional[float]) -
planform_area(Optional[float]) -
closure_angle(Optional[float]) -
lateral_arm(Optional[float]) -
vertical_arm(Optional[float])
Validators:
-
check_values_not_negative→span_above,total_span,body_depth,separation,planform_area,closure_angle,lateral_arm,vertical_arm