Combined lateral-longitudinal acceleration envelopes with speed dependency. Angle-parameterised bisection with Pacejka MF5.2, load transfer, aero maps, and friction ellipse coupling.
The GGV diagram maps the maximum achievable acceleration envelope (Ax, Ay) at each speed Vx. This module uses an angle-parameterised bisection approach:
θ ∈ [0, 2π] → ax = a·cos(θ), ay = a·sin(θ)(1)At each angle θ, the magnitude a is bisected until the vehicle reaches the combined tyre friction limit via Pacejka MF 5.2:
F = D · sin(C · arctan(B·x − E·(B·x − arctan(B·x))))(2)Load transfer from steady-state equilibrium:
ΔFz_lat = m · Ay · h_cg / track_width(3)ΔFz_lon = m · Ax · h_cg / wheelbase(4)Aerodynamic downforce grows with V² and shifts the friction limit upward at higher speeds — the defining feature of GGV vs. flat GG diagrams.
function [ax_bnd, ay_bnd] = GG_sweep(Vx, veh, tyre, N_theta)
% Angle-parameterised GGV envelope generation
% Bisects acceleration magnitude at each angle theta
%
% Inputs: Vx - forward speed (m/s)
% veh - struct: m, a, b, h_cg, CL, Cd, Aref
% tyre - struct: Pacejka coefficients
% N_theta - angular resolution (default 72)
if nargin < 4, N_theta = 72; end
theta = linspace(0, 2*pi, N_theta+1);
ax_bnd = zeros(size(theta));
ay_bnd = zeros(size(theta));
for i = 1:length(theta)
dir_ax = cos(theta(i));
dir_ay = sin(theta(i));
a_lo = 0; a_hi = 4.0;
for k = 1:20
a_mid = (a_lo + a_hi) / 2;
ax = a_mid * dir_ax;
ay = a_mid * dir_ay;
[feasible] = check_tyre_limits(ax, ay, Vx, veh, tyre);
if feasible, a_lo = a_mid;
else, a_hi = a_mid; end
end
ax_bnd(i) = a_lo * dir_ax;
ay_bnd(i) = a_lo * dir_ay;
end
addpath(genpath('T2T_GGV')). Requires MATLAB R2020a+ — no toolboxes needed.VehParam.m with your mass, wheelbase, CoG height, aero coefficients, and track widths. SI units throughout./tyres/. The loader auto-parses MF5.2 and MF6.1. Use the Tyre Fitting module first if you have raw TTC data.example_run.m to generate a full GGV surface. Output: .mat file + publication-ready plots.Full source code, documentation, and email support. Unlimited use within your FS team.
Get StartedFull source + 1hr setup call + priority support. Custom vehicle config and tyre fitting included.
Contact UsNo toolboxes required. All optimisation uses custom solvers — no Optimization Toolbox, no Curve Fitting Toolbox. Works on base MATLAB R2020a+ / Python 3.8+.