Docs & rules

camUrban/PteraSoftwareGitHub

This is a public, read-only report. Striff reads this repository's docs, turns each sentence that makes a claim about the code into a rule, and checks the rule against the code on the default branch. How this works

mainba09159Last read 7h ago

Is this yours? Install to manage it

Once installed, Striff checks every pull request.

Documents
Rules
192
192
187
5
51 docs
camUrban/PteraSoftwareOpen repository

camUrban/PteraSoftware — documented rules

192 of 192 rules, printed October 30, 2026.

The sentence in your docs
When True, it triggers Wing._explode_wing to replace the supplied wing cross sections with single-strip cross sections.
Wing has _explode_wing
Holds
Every other callable (a custom spacing function, an AeroelasticWingMovement's spacingAnglesSecondDerivative_Gs_to_Wn_ixyz entry, or a FreeFlightUnsteadyProblem's external_loads_fn) serializes as an inert marker holding its qualified name, its dedented source text when inspect.getsource can retrieve it, and the SHA-256 hash of that text.
FreeFlightUnsteadyProblem has external_loads_fn
Holds
UnsteadyProblem extends CoreUnsteadyProblem.
UnsteadyProblem extends CoreUnsteadyProblem
Holds
Attribute movement, Type Movement, Defined On UnsteadyProblem, Notes Movement definition
UnsteadyProblem has a movement field
Holds
Attribute only_final_results, Type bool, Defined On CoreUnsteadyProblem, Notes Results flag
CoreUnsteadyProblem has an only_final_results field
Holds
Attribute num_steps, Type int, Defined On CoreUnsteadyProblem, Notes Copied from Movement
CoreUnsteadyProblem has a num_steps field
Holds
Attribute delta_time, Type float, Defined On CoreUnsteadyProblem, Notes Copied from Movement
CoreUnsteadyProblem has a delta_time field
Holds
Attribute first_averaging_step, Type int, Defined On CoreUnsteadyProblem, Notes Computed during init
CoreUnsteadyProblem has a first_averaging_step field
Holds
Attribute first_results_step, Type int, Defined On CoreUnsteadyProblem, Notes Computed during init
CoreUnsteadyProblem has a first_results_step field
Holds
Attribute max_wake_rows, Type int , Defined On None, Notes CoreUnsteadyProblem
CoreUnsteadyProblem has a max_wake_rows field
Holds
Attribute steady_problems, Type tuple[SteadyProblem, ...], Defined On UnsteadyProblem, Notes Generated during init
UnsteadyProblem has a steady_problems field
Holds
It is the base for concrete subclasses (AeroelasticUnsteadyProblem and FreeFlightUnsteadyProblem, both documented below) whose per-step SteadyProblem depends on the solver's results from the previous step: deformed wing geometry for aeroelasticity, updated rigid body state for free flight.
2 rules from this sentence
AeroelasticUnsteadyProblem extends CoupledUnsteadyProblem
Holds
FreeFlightUnsteadyProblem extends CoupledUnsteadyProblem
Holds
CoupledUnsteadyProblem is a private middle-layer class that extends CoreUnsteadyProblem.
CoupledUnsteadyProblem extends CoreUnsteadyProblem
Holds
Attribute movement, Type CoreMovement, Notes Source of delta_time , num_steps , max_wake_rows , and _lcm_period
CoupledUnsteadyProblem has a movement field
Holds
Attribute steady_problems, Type tuple[SteadyProblem, ...], Notes Read-only view of the _steady_problems backing list Returned tuple is frozen, but successive calls may return different-length tuples (see below)
CoupledUnsteadyProblem has a steady_problems field
Holds
On CoupledUnsteadyProblem, the first guarantee still holds (callers cannot mutate the tuple), but the second does not. The backing slot _steady_problems is a list[SteadyProblem] seeded at init with a single entry built from initial_airplanes and initial_operating_point.
CoupledUnsteadyProblem depends on SteadyProblem
Holds
Attribute wing_density, Type float, Notes Mass per unit span area (kg/m^2)
AeroelasticUnsteadyProblem has wing_density
Holds
Attribute spring_constant_rad, Type float, Notes Torsional spring stiffness (N m/rad)
AeroelasticUnsteadyProblem has spring_constant_rad
Holds
Attribute damping_constant_rad, Type float, Notes Torsional damping coefficient (N\ m\ s/rad)
AeroelasticUnsteadyProblem has damping_constant_rad
Holds
Attribute step_discards, Type int, Notes Number of initial steps discarded for stability
AeroelasticUnsteadyProblem has step_discards
Holds
Property movement, Depends On _movement, Notes Overrides the inherited property, casting the inherited _movement slot to AeroelasticMovement (recomputed, uncached)
AeroelasticUnsteadyProblem has movement
Holds
Attribute listDeformationAnglesYRad_Wcsp_to_Wcs_ixyz, Type list[list[np.ndarray]], Notes Cumulative torsional angle time series (radians), indexed wing , seeded
AeroelasticUnsteadyProblem has listDeformationAnglesYRad_Wcsp_to_Wcs_ixyz
Holds
Attribute _listDeformationAnglesDerivativeYRad_Wcsp_to_Wcs_ixyz, Type list[list[np.ndarray]], Notes Torsional angle time derivative time series (rad/s), indexed wing , seeded
AeroelasticUnsteadyProblem has _listDeformationAnglesDerivativeYRad_Wcsp_to_Wcs_ixyz
Holds
It couples aerodynamic loads with six-degree-of-freedom rigid body dynamics, integrated by a MuJoCoModel, so that the Airplane's position, orientation, and velocity at a given time step are driven by the previous step's aerodynamic loads, gravity, and any external loads.
FreeFlightUnsteadyProblem depends on MuJoCoModel
Holds
Attribute I_BP1_CgP1, Type np.ndarray, Notes Inertia matrix in the first Airplane 's body axes about its CG (kg m^2) The array itself is set read-only
FreeFlightUnsteadyProblem has I_BP1_CgP1
Holds
Attribute mass, Type float, Notes Mass of the first Airplane (kg)
FreeFlightUnsteadyProblem has mass
Holds
Attribute k_max, Type int, Notes Maximum strongly coupled sub-iterations per free-flight time step (a capped step is accepted with a warning)
FreeFlightUnsteadyProblem has k_max
Holds
The rigid body dynamics engine lives in the private _mujoco_model slot (a MuJoCoModel).
FreeFlightUnsteadyProblem has _mujoco_model
Holds
Property movement, Depends On _movement, Notes Overrides the inherited property, casting the inherited _movement slot to FreeFlightMovement (recomputed, uncached)
FreeFlightUnsteadyProblem has movement
Holds
Attribute _external_loads_validated, Type bool, Notes Once-only guard Flips to True after the external_loads_fn return is validated on its first invocation
FreeFlightUnsteadyProblem has a _external_loads_validated field
Holds
Movement extends CoreMovement.
Movement extends CoreMovement
Holds_movements _core.py
Movement adds cycle/chord counting, wake sizing parameters, and batch pre-generation of Airplanes and OperatingPoints.
2 rules from this sentence
Movement depends on Airplane
Holds_movements _geometry
Movement depends on OperatingPoint
Holds_movements _operating_point.py
FreeFlightMovement and AeroelasticMovement extend CoreMovement directly, as feature-specific siblings of Movement.
2 rules from this sentence
FreeFlightMovement extends CoreMovement
Holds_movements _core.py
AeroelasticMovement extends CoreMovement
Holds_movements _core.py
FreeFlightMovement pre-generates only Airplanes (the solver produces OperatingPoints from the rigid body dynamics), while AeroelasticMovement pre-generates only OperatingPoints (deformed Airplane geometry depends on the solver's structural response).
2 rules from this sentence
FreeFlightMovement depends on Airplane
checks “FreeFlightMovement pre-generates only Airplanes”
Holds_movements _geometry
AeroelasticMovement depends on OperatingPoint
checks “AeroelasticMovement pre-generates only OperatingPoints”
Holds_movements _operating_point.py
Attribute prescribed_num_steps, Type int, Defined On FreeFlightMovement, Notes Prescribed-flight time steps before the free-flight phase
FreeFlightMovement has prescribed_num_steps
Holds
Attribute free_num_steps, Type int, Defined On FreeFlightMovement, Notes Free-flight time steps after the prescribed phase
FreeFlightMovement has free_num_steps
Holds
Attribute _airplanes, Type tuple[tuple[Airplane, ...], ...], Defined On FreeFlightMovement, Notes Pre-generated prescribed Airplane geometry, indexed airplane_movement
FreeFlightMovement has _airplanes
Holds
Attribute _operating_points, Type tuple[OperatingPoint, ...], Defined On AeroelasticMovement, Notes Pre-generated prescribed OperatingPoint s
AeroelasticMovement has _operating_points
Holds
AirplaneMovement extends CoreAirplaneMovement.
AirplaneMovement extends CoreAirplaneMovement
Holds_movements _core.py
AirplaneMovement has empty __slots__ and only narrows the wing_movements type to require WingMovement children.
3 rules from this sentence
AirplaneMovement depends on WingMovement
Holds
AirplaneMovement has __slots__
checks “AirplaneMovement has empty __slots__”
Holds
AirplaneMovement has wing_movements
Holds
WingMovement extends CoreWingMovement.
WingMovement extends CoreWingMovement
Holds_movements _core.py
WingMovement has empty __slots__ and only narrows the wing_cross_section_movements type to require WingCrossSectionMovement children.
WingMovement has __slots__
Holds
AeroelasticWingMovement extends CoreWingMovement directly, as a feature-specific sibling of WingMovement.
AeroelasticWingMovement extends CoreWingMovement
Holds_movements _core.py
Attribute spacingAnglesSecondDerivative_Gs_to_Wn_ixyz, Type tuple[Callable , Notes None, ...]
AeroelasticWingMovement has spacingAnglesSecondDerivative_Gs_to_Wn_ixyz
Holds
WingCrossSectionMovement extends CoreWingCrossSectionMovement.
WingCrossSectionMovement extends CoreWingCrossSectionMovement
Holds_movements _core.py
Attribute base_wing_cross_section, Type WingCrossSection, Notes Base geometry
CoreWingCrossSectionMovement has a base_wing_cross_section field
Holds
Attribute ampLp_Wcsp_Lpp, Type np.ndarray, Notes Position amplitudes
CoreWingCrossSectionMovement has an ampLp_Wcsp_Lpp field
Holds
Attribute periodLp_Wcsp_Lpp, Type np.ndarray, Notes Position periods
CoreWingCrossSectionMovement has a periodLp_Wcsp_Lpp field
Holds
Attribute spacingLp_Wcsp_Lpp, Type tuple, Notes Position spacing
CoreWingCrossSectionMovement has a spacingLp_Wcsp_Lpp field
Holds
Attribute phaseLp_Wcsp_Lpp, Type np.ndarray, Notes Position phases
CoreWingCrossSectionMovement has a phaseLp_Wcsp_Lpp field
Holds
Attribute ampAngles_Wcsp_to_Wcs_ixyz, Type np.ndarray, Notes Angle amplitudes
CoreWingCrossSectionMovement has an ampAngles_Wcsp_to_Wcs_ixyz field
Holds
Attribute periodAngles_Wcsp_to_Wcs_ixyz, Type np.ndarray, Notes Angle periods
CoreWingCrossSectionMovement has a periodAngles_Wcsp_to_Wcs_ixyz field
Holds
Attribute spacingAngles_Wcsp_to_Wcs_ixyz, Type tuple, Notes Angle spacing
CoreWingCrossSectionMovement has a spacingAngles_Wcsp_to_Wcs_ixyz field
Holds
Attribute phaseAngles_Wcsp_to_Wcs_ixyz, Type np.ndarray, Notes Angle phases
CoreWingCrossSectionMovement has a phaseAngles_Wcsp_to_Wcs_ixyz field
Holds
Property _all_periods, Depends On Period arrays, Notes Tuple of unique non zero periods (cached)
WingCrossSectionMovement has _all_periods
Holds
Property _max_period, Depends On Period arrays, Notes Scalar float, longest period (cached)
WingCrossSectionMovement has _max_period
Holds
OperatingPointMovement extends CoreOperatingPointMovement.
OperatingPointMovement extends CoreOperatingPointMovement
Holds_movements _core.py
Attribute base_operating_point, Type OperatingPoint, Notes Base operating conditions
CoreOperatingPointMovement has a base_operating_point field
Holds
Attribute ampVCg__E, Type float, Notes Amplitude
CoreOperatingPointMovement has an ampVCg__E field
Holds
Attribute periodVCg__E, Type float, Notes Period
CoreOperatingPointMovement has a periodVCg__E field
Holds
Attribute spacingVCg__E, Type str , Notes Callable
CoreOperatingPointMovement has a spacingVCg__E field
Holds
Attribute phaseVCg__E, Type float, Notes Phase offset
CoreOperatingPointMovement has a phaseVCg__E field
Holds
Property _max_period, Depends On periodVCg__E, Notes Cached
OperatingPointMovement has _max_period
Holds
FreeFlightOperatingPointMovement extends CoreOperatingPointMovement directly, as a feature-specific sibling of OperatingPointMovement.
FreeFlightOperatingPointMovement extends CoreOperatingPointMovement
Holds_movements _core.py
Attribute rho, Type float, Notes Fluid density
OperatingPoint has a rho field
Holds
Attribute vCg__E, Type float, Notes CG speed
OperatingPoint has a vCg__E field
Holds
Attribute alpha, Type float, Notes Angle of attack
OperatingPoint has an alpha field
Holds
Attribute beta, Type float, Notes Sideslip angle
OperatingPoint has a beta field
Holds
Attribute angles_E_to_BP1_izyx, Type np.ndarray, Notes Earth-to-body orientation
OperatingPoint has an angles_E_to_BP1_izyx field
Holds
Attribute CgP1_E_Eo, Type np.ndarray, Notes CG position in Earth axes
OperatingPoint has a CgP1_E_Eo field
Holds
Attribute surfaceNormal_E, Type np.ndarray , Notes None
OperatingPoint has a surfaceNormal_E field
Holds
Attribute surfacePoint_E_Eo, Type np.ndarray , Notes None
OperatingPoint has a surfacePoint_E_Eo field
Holds
Attribute externalFX_W, Type float, Notes External force
OperatingPoint has an externalFX_W field
Holds
Attribute nu, Type float, Notes Kinematic viscosity
OperatingPoint has a nu field
Holds
Attribute g_E, Type np.ndarray, Notes Gravity in Earth axes
OperatingPoint has a g_E field
Holds
Attribute omegas_BP1__E, Type np.ndarray, Notes Body angular velocity
OperatingPoint has an omegas_BP1__E field
Holds
Attribute wings, Type tuple[Wing, ...], Notes Processed for symmetry during init (tuple prevents mutation)
Airplane has a wings field
Holds
Attribute name, Type str, Notes Airplane identifier
Airplane has a name field
Holds
Attribute Cg_GP1_CgP1, Type np.ndarray, Notes CG position in formation coordinates
Airplane has a Cg_GP1_CgP1 field
Holds
Attribute weight, Type float, Notes Aircraft weight in Newtons
Airplane has a weight field
Holds
Attribute s_ref, Type float, Notes Reference area (defaults to the reference planform's area)
Airplane has a s_ref field
Holds
Attribute c_ref, Type float, Notes Reference chord length (defaults to the reference planform's mean aerodynamic chord)
Airplane has a c_ref field
Holds
Attribute b_ref, Type float, Notes Reference span (defaults to the reference planform's extent along the y axis)
Airplane has a b_ref field
Holds
Property num_panels, Depends On wings, Notes Sum of wing panel counts
Airplane has num_panels
Holds
Property T_pas_G_Cg_to_GP1_CgP1, Depends On Cg_GP1_CgP1, Notes Transformation matrix
Airplane has T_pas_G_Cg_to_GP1_CgP1
Holds
Attribute forces_W, Type np.ndarray , Notes None
Airplane has a forces_W field
Holds
Attribute forceCoefficients_W, Type np.ndarray , Notes None
Airplane has a forceCoefficients_W field
Holds
Attribute moments_W_CgP1, Type np.ndarray , Notes None
Airplane has a moments_W_CgP1 field
Holds
Attribute momentCoefficients_W_CgP1, Type np.ndarray , Notes None
Airplane has a momentCoefficients_W_CgP1 field
Holds
Attribute forces_G, Type np.ndarray , Notes None
Airplane has a forces_G field
Holds
Attribute forceCoefficients_G, Type np.ndarray , Notes None
Airplane has a forceCoefficients_G field
Holds
Attribute moments_G_Cg, Type np.ndarray , Notes None
Airplane has a moments_G_Cg field
Holds
Attribute momentCoefficients_G_Cg, Type np.ndarray , Notes None
Airplane has a momentCoefficients_G_Cg field
Holds
Attribute moments_W_Cg, Type np.ndarray , Notes None
Airplane has a moments_W_Cg field
Holds
Attribute momentCoefficients_W_Cg, Type np.ndarray , Notes None
Airplane has a momentCoefficients_W_Cg field
Holds
Attribute wing_cross_sections, Type tuple[WingCrossSection, ...], Notes Wing cross sections (tuple prevents mutation)
2 rules from this sentence
Wing depends on WingCrossSection
Holds
Wing has a wing_cross_sections field
Holds
Attribute name, Type str, Notes Wing identifier
Wing has a name field
Holds
Attribute Ler_Gs_Cgs, Type np.ndarray, Notes Leading edge root position
Wing has a Ler_Gs_Cgs field
Holds
Attribute angles_Gs_to_Wn_ixyz, Type np.ndarray, Notes Rotation angles
Wing has an angles_Gs_to_Wn_ixyz field
Holds
Attribute num_chordwise_panels, Type int, Notes Chordwise panel count
Wing has a num_chordwise_panels field
Holds
Attribute chordwise_spacing, Type str, Notes "cosine" or "uniform"
Wing has a chordwise_spacing field
Holds
Attribute spanwise_mesh, Type str, Notes "trapezoidal" , "exploded" , or "edge_defined" , set by provenance during construction rather than as a constructor parameter
Wing has a spanwise_mesh field
Holds
Attribute leadingEdgePoints_Wn_Ler, Type np.ndarray , Notes None
Wing has a leadingEdgePoints_Wn_Ler field
Holds
Attribute trailingEdgePoints_Wn_Ler, Type np.ndarray , Notes None
Wing has a trailingEdgePoints_Wn_Ler field
Holds
Attribute tip_trim_fraction, Type float , Notes None
Wing has a tip_trim_fraction field
Holds
Property T_pas_G_Cg_to_Wn_Ler, Depends On Immutable attrs, Notes Transformation matrix
Wing has T_pas_G_Cg_to_Wn_Ler
Holds
Property T_pas_Wn_Ler_to_G_Cg, Depends On Above, Notes Inverse transformation
Wing has T_pas_Wn_Ler_to_G_Cg
Holds
Property WnX_G , WnY_G , WnZ_G, Depends On Above, Notes Basis vectors
3 rules from this sentence
Wing has WnX_G
checks “Property WnX_G”
Holds
Wing has WnY_G
checks “Property”
Holds
Wing has WnZ_G
checks “Property”
Holds
Attribute symmetry_type, Type int , Set By None, Notes _generate_mesh
Wing has a symmetry_type field
Holds
Attribute num_spanwise_panels, Type int , Set By None, Notes _generate_mesh
Wing has a num_spanwise_panels field
Holds
Attribute num_panels, Type int , Set By None, Notes _generate_mesh
Wing has a num_panels field
Holds
Attribute _panels, Type np.ndarray , Set By None, Notes _generate_mesh , via _attach_panels
Wing has a _panels field
Holds
Property projected_area, Depends On _panels, Notes Projected area
Wing has projected_area
Holds
Property wetted_area, Depends On _panels, Notes Deprecated total Panel area
Wing has wetted_area
Holds
Property average_panel_aspect_ratio, Depends On _panels, Notes Average aspect ratio
Wing has average_panel_aspect_ratio
Holds
Property span, Depends On Wing cross sections, symmetry_type, Notes Wing span
Wing has span
Holds
Property standard_mean_chord, Depends On projected_area , span, Notes Standard mean chord
Wing has standard_mean_chord
Holds
Property mean_aerodynamic_chord, Depends On projected_area , symmetry_type, Notes MAC
Wing has mean_aerodynamic_chord
Holds
Its value is the total area of the Wing's Panels, which lie on the mean camber surface, so it is not the Wing's wetted area.
Wing depends on Panel
Holds_geometry _panel.py
Attribute symmetric, Type bool, Notes Modified to False for type 5
Wing has a symmetric field
Holds
Attribute mirror_only, Type bool, Notes Modified to False for type 5
Wing has a mirror_only field
Holds
Attribute symmetryNormal_G, Type np.ndarray , Notes None
Wing has a symmetryNormal_G field
Holds
Attribute symmetryPoint_G_Cg, Type np.ndarray , Notes None
Wing has a symmetryPoint_G_Cg field
Holds
These are modified by Airplane._process_wing_symmetry() when type 5 symmetry is detected. The original Wing becomes a type 1 wing and a new reflected Wing is created with type 3 symmetry.
Airplane depends on Wing
Holds
Attribute gridWrvp_GP1_CgP1, Type np.ndarray , Notes None
Wing has a gridWrvp_GP1_CgP1 field
Holds
The from_edge_points classmethod is the third source of the spanwise_mesh marker.
Wing has from_edge_points
Holds
Attribute airfoil, Type Airfoil, Notes Wing cross section airfoil
2 rules from this sentence
WingCrossSection depends on Airfoil
Holds
WingCrossSection has an airfoil field
Holds
Attribute num_spanwise_panels, Type int , Notes None
WingCrossSection has a num_spanwise_panels field
Holds
Attribute chord, Type float, Notes Chord length
WingCrossSection has a chord field
Holds
Attribute Lp_Wcsp_Lpp, Type np.ndarray, Notes Position in parent axes
WingCrossSection has a Lp_Wcsp_Lpp field
Holds
Attribute angles_Wcsp_to_Wcs_ixyz, Type np.ndarray, Notes Rotation angles
WingCrossSection has an angles_Wcsp_to_Wcs_ixyz field
Holds
Attribute control_surface_hinge_point, Type float, Notes Hinge location (0-1)
WingCrossSection has a control_surface_hinge_point field
Holds
Attribute control_surface_deflection, Type float, Notes Deflection in degrees
WingCrossSection has a control_surface_deflection field
Holds
Attribute spanwise_spacing, Type str , Notes None
WingCrossSection has a spanwise_spacing field
Holds
Property T_pas_Wcsp_Lpp_to_Wcs_Lp, Depends On Lp_Wcsp_Lpp , angles_, Notes Transformation matrix
WingCrossSection has T_pas_Wcsp_Lpp_to_Wcs_Lp
Holds
Property T_pas_Wcs_Lp_to_Wcsp_Lpp, Depends On Above, Notes Inverse transformation
WingCrossSection has T_pas_Wcs_Lp_to_Wcsp_Lpp
Holds
Attribute _validated, Type bool, Set By Wing.init , via _mark_validated, Notes Internal validation flag
WingCrossSection has a _validated field
Holds
Attribute symmetry_type, Type int , Set By None, Notes Wing._generate_mesh , via _set_symmetry_type
WingCrossSection has a symmetry_type field
Holds
Attribute control_surface_symmetry_type, Type str , Notes None
WingCrossSection has a control_surface_symmetry_type field
Holds
Attribute name, Type str, Notes Airfoil identifier
Airfoil has a name field
Holds
Attribute outline_A_Lp, Type np.ndarray, Notes Outline coordinates
Airfoil has an outline_A_Lp field
Holds
Attribute resample, Type bool, Notes Resampling flag
Airfoil has a resample field
Holds
Attribute n_points_per_side, Type int, Notes Points per side for resampling
Airfoil has a n_points_per_side field
Holds
Attribute mcl_A_Lp, Type np.ndarray, Notes Mean camber line coordinates
Airfoil has a mcl_A_Lp field
Holds
outline_A_lp and mcl_A_lp are deprecated read-only aliases for outline_A_Lp and mcl_A_Lp, and the constructor accepts a deprecated outline_A_lp alias for its outline_A_Lp parameter.
2 rules from this sentence
Airfoil has outline_A_lp
Holds
Airfoil has mcl_A_lp
Holds
Attribute Frpp_G_Cg, Type np.ndarray, Notes Front right corner (geometry axes)
Panel has a Frpp_G_Cg field
Holds
Attribute Flpp_G_Cg, Type np.ndarray, Notes Front left corner (geometry axes)
Panel has a Flpp_G_Cg field
Holds
Attribute Blpp_G_Cg, Type np.ndarray, Notes Back left corner (geometry axes)
Panel has a Blpp_G_Cg field
Holds
Attribute Brpp_G_Cg, Type np.ndarray, Notes Back right corner (geometry axes)
Panel has a Brpp_G_Cg field
Holds
Attribute is_leading_edge, Type bool, Notes Edge flag
Panel has an is_leading_edge field
Holds
Attribute is_trailing_edge, Type bool, Notes Edge flag
Panel has an is_trailing_edge field
Holds
Property rightLeg_G, Depends On Frpp_G_Cg , Brpp_G_Cg, Notes Right leg vector
Panel has rightLeg_G
Holds
Property frontLeg_G, Depends On Flpp_G_Cg , Frpp_G_Cg, Notes Front leg vector
Panel has frontLeg_G
Holds
Property leftLeg_G, Depends On Blpp_G_Cg , Flpp_G_Cg, Notes Left leg vector
Panel has leftLeg_G
Holds
Property backLeg_G, Depends On Brpp_G_Cg , Blpp_G_Cg, Notes Back leg vector
Panel has backLeg_G
Holds
Property Frbvp_G_Cg, Depends On Brpp_G_Cg , rightLeg_G, Notes Front right bound vortex point
Panel has Frbvp_G_Cg
Holds
Property Flbvp_G_Cg, Depends On Flpp_G_Cg , leftLeg_G, Notes Front left bound vortex point
Panel has Flbvp_G_Cg
Holds
Property Cpp_G_Cg, Depends On Multiple corners, Notes Collocation point
Panel has Cpp_G_Cg
Holds
Property unitNormal_G, Depends On All corners, Notes Unit normal vector
Panel has unitNormal_G
Holds
Property area, Depends On All corners, Notes Panel area
Panel has area
Holds
Property aspect_ratio, Depends On All legs, Notes Aspect ratio
Panel has aspect_ratio
Holds
Attribute xml_str, Type str, Notes Generated MuJoCo XML
MuJoCoModel has xml_str
Holds
Attribute model, Type mujoco.MjModel, Notes Compiled MuJoCo model Its backing slot is rebuilt by rebuild_engine on deserialization
MuJoCoModel has model
Holds
Attribute body_id, Type int, Notes MuJoCo body ID for the Airplane
MuJoCoModel has body_id
Holds
Attribute initial_key_frame_id, Type int, Notes MuJoCo key frame ID for initial conditions
MuJoCoModel has initial_key_frame_id
Holds
Attribute initial_qpos, Type np.ndarray, Notes Initial generalized positions (computed during init)
MuJoCoModel has initial_qpos
Holds
Attribute initial_qvel, Type np.ndarray, Notes Initial generalized velocities (computed during init)
MuJoCoModel has initial_qvel
Holds
Attribute mujoco_assets, Type dict[str, bytes] , Notes None
MuJoCoModel has mujoco_assets
Holds
Attribute data, Type mujoco.MjData, Notes Plain slot Mutated by apply_loads , step , reset , restore_state , mj_forward , and rebuild_engine
MuJoCoModel has a data field
Holds
mujoco_assets, by contrast, is retained in the _mujoco_assets slot after being passed to MuJoCo's from_xml_string: an asset-based model cannot be rebuilt from xml_str alone, so the slot is serialized alongside the XML string (with the asset bytes encoded as base64) and rebuild_engine passes the restored dict back to MuJoCo, which keeps saved files self-contained and load off the filesystem.
MuJoCoModel has _mujoco_assets
Holds
When multiple public classes share the same private parent (e.g., Movement, FreeFlightMovement, and AeroelasticMovement all extending CoreMovement), each sibling maintains its own self-contained docstring.
3 rules from this sentence
Movement extends CoreMovement
Holds_movements _core.py
FreeFlightMovement extends CoreMovement
Holds_movements _core.py
AeroelasticMovement extends CoreMovement
Holds_movements _core.py
For a construction path that must skip the constructor's validation, allocate with object.__new__(Cls) and set the slots directly inside the class's own module, as Airfoil.__deepcopy__ and Airfoil._add_control_surface do.
2 rules from this sentence
Airfoil has __deepcopy__
checks “Airfoil.__deepcopy__”
Holds
Airfoil has _add_control_surface
checks “Airfoil._add_control_surface”
Holds
192 rules from 2 docs

More open-source reports

Every report →

Other public repositories whose docs Striff read and checked against their code.