Hello everyone...
I am working on a 6-DOF dynamic model of a Boeing 767-200ER using OpenVSP 3.46 (later on will export data to MATLAB), and I would appreciate guidance regarding an issue I am encountering with trim identification. I have attached the vsp3 file
What I have done so far:
I modeled the aircraft geometry (fuselage, wing, tails, engines, pylons, landing gear).
I assigned all aircraft masses explicitly using BlankGeoms (structure, engines, pylons, landing gears, systems, cabin & furnishings, APU, operational items), such that the total mass equals 82,300 kg.
Each BlankGeom mass was placed at a physically meaningful (X, Y, Z) location based on Boeing geometry data and standard mass-distribution assumptions.
I computed the actual mass-based CG using Analysis → Mass Properties → Compute, obtaining:
Xcg ≈ 22.134 m
Ycg = 0
Zcg ≈ −0.256 m
I then set the Moment Reference Position (Xref, Yref, Zref) in VSPAERO equal to this computed CG.
All simulations are run in STEADY mode, with β = 0°, Mach = 0.8.
The issue:
When performing an α sweep from 0° to 5° to identify the trim point:
The pitching moment coefficient CMytot remains negative for all α.
There is no zero-crossing, even though I expect trim near α ≈ 2–4° for cruise.
As a result, I cannot identify a trim α directly from the α sweep.
Previously, when using a manually selected reference CG (instead of the mass-based CG), I did obtain a trim point near α ≈ 2°. However, after switching to the actual mass-based CG (which I believe is the correct approach), the trim point disappears.
My questions:
Is it expected that, with a realistic mass-based CG, an α sweep alone may not produce CM_y = 0?
Is there anything specific in VSPAERO (moment reference, control group setup, or mass modeling) that commonly causes CM_y to remain one-sided?
I want to ensure that my trim, static derivatives, dynamic derivatives, and control derivatives are all computed about a physically consistent CG and trim condition.
Thanks