Name | Description |
---|---|
MacPhersonData | Data record for MacPhersonSuspension |
SimpleData | |
BodyData | Contains Body and Body shape data |
Multilink4Data | Data record for MultiLink4Suspension |
TrailingArmData | Data record for Simpletrailing arm4Suspension |
SimpleTwistBeamData | Data record for Simpletrailing arm4Suspension |
BumpBushingData | |
Table | |
SimpleDataFront | |
SimpleDataRear | |
PartData | Contains Body and Body shape dataRigid body with cylindrical shape (also used for animation) |
DoubleWishBoneData | |
DoubleWishBoneData2 | |
DoubleWishBoneData3 | |
RigidAxle4LinkData | Record with data for trailing arm suspensions |
FixedAxleData | Record with data for trailing arm suspensions |
FiveLinkData | Data record for FiveLinkSuspension |
Name | Default | Description |
---|---|---|
scaleFactor[3] | {1,1,1} | Use this to rescale the geometry, does not affec inertia properties and force elements |
rUW_1[3] | {-0.0001,0.727,0.040} | [m] |
rCU_1[3] | {0.00586,0.6905,-0.071} | [m] |
rUW_2[3] | Utilities.Functions.EWM({1,-1,1}, rUW_1) | [m] |
rCU_2[3] | Utilities.Functions.EWM({1,-1,1}, rCU_1) | [m] |
ratio | 0.05833 | Steering wheel to Ackermann angle |
q0S_1 | 0.1758*230/275*(1 - 0.396)*2*0.95 | [m] |
q0S_2 | q0S_1 | [m] |
wheelbase | 2.55 | Ackermann wheel base |
trackwidth | rUW_1[2] - rUW_2[2] | Ackermann track width |
rCMU_1[3] | {0.118,0.028,0.0776} | [m] |
mU_1 | 11.0 | [kg] |
i11U_1 | 0.299 | [kg.m2] |
i22U_1 | 0.287 | [kg.m2] |
i33U_1 | 0.093 | [kg.m2] |
i21U_1 | 0.03 | [kg.m2] |
i31U_1 | -0.12 | [kg.m2] |
i32U_1 | 0.01 | [kg.m2] |
rCMU_2[3] | Utilities.Functions.EWM({1,-1,1}, rCMU_1) | [m] |
mU_2 | mU_1 | [kg] |
i11U_2 | i11U_1 | [kg.m2] |
i22U_2 | i22U_1 | [kg.m2] |
i33U_2 | i33U_1 | [kg.m2] |
i21U_2 | i21U_1 | [kg.m2] |
i31U_2 | i31U_1 | [kg.m2] |
i32U_2 | i32U_1 | [kg.m2] |
data_S_1 | ||
data_S_2 | ||
data_A | ||
data_Link1_steering | ||
data_Link1_camber | ||
data_Link2_steering | ||
data_Link2_camber |
record SimpleDataFront // GEOMETRIC SETTINGS parameter Real[3] scaleFactor={1,1,1} "|Geometry|Scaling|Use this to rescale the geometry, does not affec inertia properties and force elements"; parameter SI.Position[3] rUW_1={-0.0001,0.727,0.040} "|Geometry||"; parameter SI.Position[3] rCU_1={0.00586,0.6905,-0.071} "|Geometry||"; parameter SI.Position[3] rUW_2=Utilities.Functions.EWM({1,-1,1}, rUW_1) "|Geometry||"; parameter SI.Position[3] rCU_2=Utilities.Functions.EWM({1,-1,1}, rCU_1) "|Geometry||"; parameter Real ratio=0.05833 "|Geometry|Steering|Steering wheel to Ackermann angle"; parameter SI.Position q0S_1=0.1758*230/275*(1 - 0.396)*2*0.95 "|Geometry||"; parameter SI.Position q0S_2=q0S_1 "|Geometry||"; //steering parameter Real wheelbase=2.55 "|Geometry|Steering|Ackermann wheel base"; parameter Real trackwidth=rUW_1[2] - rUW_2[2] "|Geometry|Steering|Ackermann track width"; parameter SI.Position[3] rCMU_1={0.118,0.028,0.0776} "|Mass and Inertia|left upright|"; parameter SI.Mass mU_1=11.0 "|Mass and Inertia|left upright|"; parameter SI.Inertia i11U_1=0.299 "|Mass and Inertia|left upright|"; parameter SI.Inertia i22U_1=0.287 "|Mass and Inertia|left upright|"; parameter SI.Inertia i33U_1=0.093 "|Mass and Inertia|left upright|"; parameter SI.Inertia i21U_1=0.03 "|Mass and Inertia|left upright|"; parameter SI.Inertia i31U_1=-0.12 "|Mass and Inertia|left upright|"; parameter SI.Inertia i32U_1=0.01 "|Mass and Inertia|left upright|"; parameter SI.Position[3] rCMU_2=Utilities.Functions.EWM({1,-1,1}, rCMU_1) "|Mass and Inertia|right upright|"; parameter SI.Mass mU_2=mU_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i11U_2=i11U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i22U_2=i22U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i33U_2=i33U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i21U_2=i21U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i31U_2=i31U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i32U_2=i32U_1 "|Mass and Inertia|right upright|"; parameter Utilities.Forces.Utilities.ForceTable1D data_S_1(fd=[-1.4950, -719; -0.996, -531; -0.518, -413; -0.389, -376; -0.260, -327; -0.130, -166; -0.052, -82; 0, 0; 0.052, 154; 0.130, 419; 0.260, 1122; 0.389, 1336; 0.518, 1466; 0.996, 1891; 1.495, 2263], fc=[-1, -20000; 1, 20000]) "|Forces|Strut|"; parameter Utilities.Forces.Utilities.ForceTable1D data_S_2(fc=data_S_1.fc, fd= data_S_1.fd) "|Forces|Strut|"; parameter Utilities.Forces.Utilities.ForceTable1D data_A(fd=[0, 0], fc=[-1, -51000; 0, 0; 1, 51000]) "|Forces|Anti Roll|"; parameter Utilities.Polynomial.ScaledPolynomial data_Link1_steering( redeclare type uType = SI.Position, redeclare type yType = SI.Angle, u_min=-0.082, u_max=0.078, y_min=-0.010297, y_max=0.0012217, c={6.30814489981295e+000,-1.63208206468340e+001,1.59971846025538e+001,-9.43372508316803e+000, 2.72106634745229e+000,7.28435761181664e-001}, y_umin=-0.0019065, der_y_umin=0.1959, y_umax=-0.010294, der_y_umax=-0.1366, original=[-8.20000000000000e-002, -1.91986217719376e-003; -6.20000000000000e-002, -4.20000000000000e-002; -2.20000000000000e-002, -1.60000000000000e-002; -2.00000000000000e-003, 0.00000000000000e+000; 1.80000000000000e-002, 3.80000000000000e-002; 5.80000000000000e-002, 7.80000000000000e-002; 6.98131700797732e-004, 1.22173047639603e-003; 1.22173047639603e-003, 8.72664625997165e-004; 1.74532925199433e-004, 0.00000000000000e+000; -1.57079632679490e-003, -4.01425727958696e-003; -7.15584993317675e-003, -1.02974425867665e-002]) "|Geometry|toe in as function of bounce|"; parameter Utilities.Polynomial.ScaledPolynomial data_Link1_camber( redeclare type uType = SI.Position, redeclare type yType = SI.Angle, u_min=-0.082, u_max=0.078, y_min=-0.0055851, y_max=0.027576, c={-4.98260440195846e+000,1.28215982847983e+001,-1.17916202644075e+001, 5.83708966179418e+000,-2.88532206648880e+000,9.99807679818011e-001}, y_umin=0.02757, der_y_umin=-0.59801, y_umax=-0.0056199, der_y_umax=-0.04407, original=[-8.20000000000000e-002, 2.75762021815104e-002; -6.20000000000000e-002, -4.20000000000000e-002; -2.20000000000000e-002, -1.60000000000000e-002; -2.00000000000000e-003, 0.00000000000000e+000; 1.80000000000000e-002, 3.80000000000000e-002; 5.80000000000000e-002, 7.80000000000000e-002; 1.79768912955416e-002, 1.09955742875643e-002; 5.75958653158129e-003, 4.01425727958696e-003; 5.23598775598299e-004, 0.00000000000000e+000; -2.96705972839036e-003, -4.71238898038469e-003; -5.58505360638185e-003, -5.58505360638185e-003]) "|Geometry|camber as function of bounce|"; parameter Utilities.Polynomial.ScaledPolynomial data_Link2_steering( redeclare type uType = SI.Position, redeclare type yType = SI.Angle, u_min=-0.082, u_max=0.078, y_min=-0.010297, y_max=0.0012217, c={6.30814489981295e+000,-1.63208206468340e+001,1.59971846025538e+001,-9.43372508316803e+000, 2.72106634745229e+000,7.28435761181664e-001}, y_umin=-0.0019065, der_y_umin=0.1959, y_umax=-0.010294, der_y_umax=-0.1366, original=[-8.20000000000000e-002, -1.91986217719376e-003; -6.20000000000000e-002, -4.20000000000000e-002; -2.20000000000000e-002, -1.60000000000000e-002; -2.00000000000000e-003, 0.00000000000000e+000; 1.80000000000000e-002, 3.80000000000000e-002; 5.80000000000000e-002, 7.80000000000000e-002; 6.98131700797732e-004, 1.22173047639603e-003; 1.22173047639603e-003, 8.72664625997165e-004; 1.74532925199433e-004, 0.00000000000000e+000; -1.57079632679490e-003, -4.01425727958696e-003; -7.15584993317675e-003, -1.02974425867665e-002]) "|Geometry|toe in as function of bounce|"; parameter Utilities.Polynomial.ScaledPolynomial data_Link2_camber( redeclare type uType = SI.Position, redeclare type yType = SI.Angle, u_min=-0.082, u_max=0.078, y_min=-0.0055851, y_max=0.027576, c={-4.98260440195846e+000,1.28215982847983e+001,-1.17916202644075e+001, 5.83708966179418e+000,-2.88532206648880e+000,9.99807679818011e-001}, y_umin=0.02757, der_y_umin=-0.59801, y_umax=-0.0056199, der_y_umax=-0.04407, original=[-8.20000000000000e-002, 2.75762021815104e-002; -6.20000000000000e-002, -4.20000000000000e-002; -2.20000000000000e-002, -1.60000000000000e-002; -2.00000000000000e-003, 0.00000000000000e+000; 1.80000000000000e-002, 3.80000000000000e-002; 5.80000000000000e-002, 7.80000000000000e-002; 1.79768912955416e-002, 1.09955742875643e-002; 5.75958653158129e-003, 4.01425727958696e-003; 5.23598775598299e-004, 0.00000000000000e+000; -2.96705972839036e-003, -4.71238898038469e-003; -5.58505360638185e-003, -5.58505360638185e-003]) "|Geometry|camber as function of bounce|"; end SimpleDataFront;
Name | Default | Description |
---|---|---|
scaleFactor[3] | {1,1,1} | Use this to rescale the geometry, does not affec inertia properties and force elements |
rCU_1[3] | {-2.53,0.71,0.030} | [m] |
rUW_1[3] | {-2.55,0.733,0.030} | [m] |
rUW_2[3] | Utilities.Functions.EWM({1,-1,1}, rUW_1) | [m] |
rCU_2[3] | Utilities.Functions.EWM({1,-1,1}, rCU_1) | [m] |
q0S_1 | 0.1758*230/275*(0.396)*2*0.84 | [m] |
q0S_2 | q0S_1 | [m] |
rCMU_1[3] | {0.118,0.028,0.0776} | [m] |
mU_1 | 11.0 | [kg] |
i11U_1 | 0.299 | [kg.m2] |
i22U_1 | 0.287 | [kg.m2] |
i33U_1 | 0.093 | [kg.m2] |
i21U_1 | 0.03 | [kg.m2] |
i31U_1 | -0.12 | [kg.m2] |
i32U_1 | 0.01 | [kg.m2] |
rCMU_2[3] | Utilities.Functions.EWM({1,-1,1}, rCMU_1) | [m] |
mU_2 | mU_1 | [kg] |
i11U_2 | i11U_1 | [kg.m2] |
i22U_2 | i22U_1 | [kg.m2] |
i33U_2 | i33U_1 | [kg.m2] |
i21U_2 | i21U_1 | [kg.m2] |
i31U_2 | i31U_1 | [kg.m2] |
i32U_2 | i32U_1 | [kg.m2] |
data_S_1 | Strut data | |
data_S_2 | Strut data | |
data_A | Anti Roll data | |
data_Link1_steering | ||
data_Link1_camber | ||
data_Link2_steering | data_Link1_steering | |
data_Link2_camber | data_Link1_camber |
record SimpleDataRear // GEOMETRIC SETTINGS parameter Real[3] scaleFactor={1,1,1} "|Geometry|Scaling|Use this to rescale the geometry, does not affec inertia properties and force elements"; parameter SI.Position[3] rCU_1={-2.53,0.71,0.030} "|Geometry||"; parameter SI.Position[3] rUW_1={-2.55,0.733,0.030} "|Geometry||"; parameter SI.Position[3] rUW_2=Utilities.Functions.EWM({1,-1,1}, rUW_1) "|Geometry||"; parameter SI.Position[3] rCU_2=Utilities.Functions.EWM({1,-1,1}, rCU_1) "|Geometry||"; parameter SI.Position q0S_1=0.1758*230/275*(0.396)*2*0.84 "|Geometry||"; parameter SI.Position q0S_2=q0S_1 "|Geometry||"; parameter SI.Position[3] rCMU_1={0.118,0.028,0.0776} "|Mass and Inertia|left upright|"; parameter SI.Mass mU_1=11.0 "|Mass and Inertia|left upright|"; parameter SI.Inertia i11U_1=0.299 "|Mass and Inertia|left upright|"; parameter SI.Inertia i22U_1=0.287 "|Mass and Inertia|left upright|"; parameter SI.Inertia i33U_1=0.093 "|Mass and Inertia|left upright|"; parameter SI.Inertia i21U_1=0.03 "|Mass and Inertia|left upright|"; parameter SI.Inertia i31U_1=-0.12 "|Mass and Inertia|left upright|"; parameter SI.Inertia i32U_1=0.01 "|Mass and Inertia|left upright|"; parameter SI.Position[3] rCMU_2=Utilities.Functions.EWM({1,-1,1}, rCMU_1) "|Mass and Inertia|right upright|"; parameter SI.Mass mU_2=mU_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i11U_2=i11U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i22U_2=i22U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i33U_2=i33U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i21U_2=i21U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i31U_2=i31U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i32U_2=i32U_1 "|Mass and Inertia|right upright|"; parameter Utilities.Forces.Utilities.ForceTable1D data_S_1(fc=[-1, -24000; 1, 24000], fd=[-1.4950, -719; -0.996, -531; -0.518, -413; -0.389, -376; -0.260, -327; -0.130, -166; -0.052, -82; 0, 0; 0.052, 154; 0.130, 419; 0.260, 1122; 0.389, 1336; 0.518, 1466; 0.996, 1891; 1.495, 2263]) "|Forces|Left multilink|Strut data"; parameter Utilities.Forces.Utilities.ForceTable1D data_S_2(fc=data_S_1.fc, fd= data_S_1.fd) "|Forces|Left multilink|Strut data"; parameter Utilities.Forces.Utilities.ForceTable1D data_A(fd=[0, 0], fc=[-1, -27000; 1, 27000]) "|Forces|Left multilink|Anti Roll data"; parameter Utilities.Polynomial.ScaledPolynomial data_Link1_steering( redeclare type uType = SI.Position, redeclare type yType = SI.Angle, u_min=-0.088, u_max=0.072, y_min=-0.0071209, y_max=0.0046949, c={-4.08651809141416e+000,-2.61358219299911e+001,1.58089719564480e+002,-2.88178014646844e+002, 2.43334996812024e+002,-9.95716531245717e+001,1.71349749888266e+001, 4.37595591060174e-004}, y_umin=-0.0071158, der_y_umin=1.2654, y_umax=-0.00017177, der_y_umax=0.023088, original=[-8.80000000000000e-002, -7.12094334813686e-003; -6.80000000000000e-002, -4.80000000000000e-002; -2.80000000000000e-002, -2.00000000000000e-002; -8.00000000000000e-003, 0.00000000000000e+000; 1.20000000000000e-002, 3.20000000000000e-002; 5.20000000000000e-002, 7.20000000000000e-002; 4.69493568786475e-003, 3.14159265358979e-003; 1.39626340159546e-003, -8.55211333477221e-004; -1.74532925199433e-004, 0.00000000000000e+000; 1.74532925199433e-004, 3.49065850398866e-004; 0.00000000000000e+000, -1.74532925199433e-004]); parameter Utilities.Polynomial.ScaledPolynomial data_Link1_camber( redeclare type uType = SI.Position, redeclare type yType = SI.Angle, u_min=-0.088, u_max=0.072, y_min=-0.039095, y_max=0.013788, c={7.73060054654145e+000,-1.81856097590213e+001,1.38416784600087e+001,-4.61422796271159e+000, 2.24932992091360e-001,9.97996235422114e-001}, y_umin=0.013682, der_y_umin=0.074345, y_umax=-0.03934, der_y_umax=-0.51823, original=[-8.80000000000000e-002, 1.37881010907552e-002; -6.80000000000000e-002, -4.80000000000000e-002; -2.80000000000000e-002, -2.00000000000000e-002; -8.00000000000000e-003, 0.00000000000000e+000; 1.20000000000000e-002, 3.20000000000000e-002; 5.20000000000000e-002, 7.20000000000000e-002; 1.22173047639603e-002, 9.59931088596881e-003; 6.98131700797732e-003, 5.41052068118242e-003; 2.61799387799149e-003, 0.00000000000000e+000; -4.01425727958696e-003, -1.11701072127637e-002; -2.75762021815104e-002, -3.90953752446730e-002]); parameter Utilities.Polynomial.ScaledPolynomial data_Link2_steering= data_Link1_steering; parameter Utilities.Polynomial.ScaledPolynomial data_Link2_camber=data_Link1_camber; end SimpleDataRear;
Name | Default | Description |
---|---|---|
scaleFactor[3] | {1,1,1} | Use this to rescale the geometry, does not affec inertia properties and force elements |
rCL1_1[3] | {-0.0075,0.3753,-0.0358} | [m] |
rCL2_1[3] | {-0.3175,0.3535,-0.02735} | [m] |
rUL1L2_1[3] | {0.0058556,0.69905,-0.0725} | [m] |
rUW_1[3] | {-0.00013,0.725,0.0450} | [m] |
rCS_1[3] | {-0.0291,0.541,0.561} | [m] |
rUS_1[3] | {-0.00012,0.5791,0.042} | [m] |
q0S_1 | 3516/20000 | [m] |
rCL1_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL1_1) | [m] |
rCL2_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL2_1) | [m] |
rUL1L2_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL1L2_1) | [m] |
rUW_2[3] | Utilities.Functions.EWM({1,-1,1}, rUW_1) | [m] |
rCS_2[3] | Utilities.Functions.EWM({1,-1,1}, rCS_1) | [m] |
rUS_2[3] | Utilities.Functions.EWM({1,-1,1}, rUS_1) | [m] |
q0S_2 | q0S_1 | [m] |
rUL3_1[3] | {-0.1283,0.643,0.07344} | [m] |
rRL3_1[3] | {-0.164,0.3047,0.0945} | [m] |
rUL3_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL3_1) | [m] |
rRL3_2[3] | Utilities.Functions.EWM({1,-1,1}, rRL3_1) | [m] |
ratioWheelToRack | 0.03/4 | rotatational to translational ratio [m/rad] |
iSW | 0.04 | [kg.m2] |
rUL4_1[3] | {-0.05624,0.54401,0.25183} | [m] |
rAL4_1[3] | {-0.04359,0.55115,0.02503} | [m] |
rCA_1[3] | {-0.24055,0.3452,0.0353} | [m] |
rUL4_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL4_1) | [m] |
rAL4_2[3] | Utilities.Functions.EWM({1,-1,1}, rAL4_1) | [m] |
rCA_2[3] | Utilities.Functions.EWM({1,-1,1}, rCA_1) | [m] |
rCMU_1[3] | {0.118,0.028,0.0776} - rUL1L2_1 | [m] |
mU_1 | 11.4 | [kg] |
i11U_1 | 0.2959 | [kg.m2] |
i22U_1 | 0.2867 | [kg.m2] |
i33U_1 | 0.0963 | [kg.m2] |
i21U_1 | 0.036 | [kg.m2] |
i31U_1 | -0.126 | [kg.m2] |
i32U_1 | 0.016 | [kg.m2] |
rCMU_2[3] | Utilities.Functions.EWM({1,-1,1}, rCMU_1) | [m] |
mU_2 | mU_1 | [kg] |
i11U_2 | i11U_1 | [kg.m2] |
i22U_2 | i22U_1 | [kg.m2] |
i33U_2 | i33U_1 | [kg.m2] |
i21U_2 | i21U_1 | [kg.m2] |
i31U_2 | i31U_1 | [kg.m2] |
i32U_2 | i32U_1 | [kg.m2] |
data_S_1 | Strut data | |
data_A | Anti Roll data | |
data_S_2 | Strut data | |
data_CL1_1 | Bushing data, chassis to link1 | |
data_CL1_2 | Bushing data, chassis to link1 | |
data_CL2_1 | Bushing data, chassis to link2 | |
data_CL2_2 | Bushing data, chassis to link2 | |
data_R | Steering wheel axis compliance |
record MacPhersonData "Data record for MacPhersonSuspension" parameter Real[3] scaleFactor={1,1,1} "|Geometry|Scaling|Use this to rescale the geometry, does not affec inertia properties and force elements"; //mcpherson parameter SI.Position[3] rCL1_1={-0.0075,0.3753,-0.0358} "|Geometry|Left MacPherson|"; parameter SI.Position[3] rCL2_1={-0.3175,0.3535,-0.02735} "|Geometry|Left MacPherson|"; parameter SI.Position[3] rUL1L2_1={0.0058556,0.69905,-0.0725} "|Geometry|Left MacPherson|"; parameter SI.Position[3] rUW_1={-0.00013,0.725,0.0450} "|Geometry|Left MacPherson|"; parameter SI.Position[3] rCS_1={-0.0291,0.541,0.561} "|Geometry|Left MacPherson|"; parameter SI.Position[3] rUS_1={-0.00012,0.5791,0.042} "|Geometry|Left MacPherson|"; parameter SI.Distance q0S_1=3516/20000 "|Geometry|Left MacPherson|"; parameter SI.Position[3] rCL1_2=Utilities.Functions.EWM({1,-1,1}, rCL1_1) "|Geometry|Right MacPherson|"; parameter SI.Position[3] rCL2_2=Utilities.Functions.EWM({1,-1,1}, rCL2_1) "|Geometry|Right MacPherson|"; parameter SI.Position[3] rUL1L2_2=Utilities.Functions.EWM({1,-1,1}, rUL1L2_1) "|Geometry|Right MacPherson|"; parameter SI.Position[3] rUW_2=Utilities.Functions.EWM({1,-1,1}, rUW_1) "|Geometry|Right MacPherson|"; parameter SI.Position[3] rCS_2=Utilities.Functions.EWM({1,-1,1}, rCS_1) "|Geometry|Right MacPherson|"; parameter SI.Position[3] rUS_2=Utilities.Functions.EWM({1,-1,1}, rUS_1) "|Geometry|Right MacPherson|"; parameter SI.Distance q0S_2=q0S_1 "|Geometry|Right MacPherson|"; //steering rack parameter SI.Position[3] rUL3_1={-0.1283,0.643,0.07344} "|Geometry|Steering|"; parameter SI.Position[3] rRL3_1={-0.164,0.3047,0.0945} "|Geometry|Steering|"; parameter SI.Position[3] rUL3_2=Utilities.Functions.EWM({1,-1,1}, rUL3_1) "|Geometry|Steering|"; parameter SI.Position[3] rRL3_2=Utilities.Functions.EWM({1,-1,1}, rRL3_1) "|Geometry|Steering|"; parameter Real ratioWheelToRack=0.03/4 "|Geometry|Steering| rotatational to translational ratio [m/rad]"; parameter SI.Inertia iSW=0.04 "|Mass and Inertia|Steering|"; //torsion anti roll parameter SI.Position[3] rUL4_1={-0.05624,0.54401,0.25183} "|Geometry|Anti roll|"; parameter SI.Position[3] rAL4_1={-0.04359,0.55115,0.02503} "|Geometry|Anti roll|"; parameter SI.Position[3] rCA_1={-0.24055,0.3452,0.0353} "|Geometry|Anti roll|"; parameter SI.Position[3] rUL4_2=Utilities.Functions.EWM({1,-1,1}, rUL4_1) "|Geometry|Anti roll|"; parameter SI.Position[3] rAL4_2=Utilities.Functions.EWM({1,-1,1}, rAL4_1) "|Geometry|Anti roll|"; parameter SI.Position[3] rCA_2=Utilities.Functions.EWM({1,-1,1}, rCA_1) "|Geometry|Anti roll|"; parameter SI.Position[3] rCMU_1={0.118,0.028,0.0776} - rUL1L2_1 "|Mass and Inertia|left upright|"; parameter SI.Mass mU_1=11.4 "|Mass and Inertia|left upright|"; parameter SI.Inertia i11U_1=0.2959 "|Mass and Inertia|left upright|"; parameter SI.Inertia i22U_1=0.2867 "|Mass and Inertia|left upright|"; parameter SI.Inertia i33U_1=0.0963 "|Mass and Inertia|left upright|"; parameter SI.Inertia i21U_1=0.036 "|Mass and Inertia|left upright|"; parameter SI.Inertia i31U_1=-0.126 "|Mass and Inertia|left upright|"; parameter SI.Inertia i32U_1=0.016 "|Mass and Inertia|left upright|"; parameter SI.Position[3] rCMU_2=Utilities.Functions.EWM({1,-1,1}, rCMU_1) "|Mass and Inertia|right upright|"; parameter SI.Mass mU_2=mU_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i11U_2=i11U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i22U_2=i22U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i33U_2=i33U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i21U_2=i21U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i31U_2=i31U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i32U_2=i32U_1 "|Mass and Inertia|right upright|"; parameter Utilities.Forces.Utilities.ForceTable1D data_S_1(fc=[-1, -20000; 1, 20000], fd=[-1.4950, -719; -0.996, -531; -0.518, -413; -0.389, -376; -0.260, -327; -0.130, -166; -0.052, -82; 0, 0; 0.052, 154; 0.130, 419; 0.260, 1122; 0.385, 1336; 0.518, 1455; 0.995, 1851; 1.455, 2255]) "|Forces|Left MacPherson|Strut data"; parameter Utilities.Forces.Utilities.ForceTable1D data_A(fd=[-1, -100; 0, 0; 1, 100], fc=[-1, -33626; 0, 0; 1, 33626]) "|Forces|Anti Roll|Anti Roll data"; parameter Utilities.Forces.Utilities.ForceTable1D data_S_2(fc=data_S_1.fc, fd= data_S_1.fd) "|Forces|Right MacPherson|Strut data"; parameter Chassis.Data.BumpBushingData data_CL1_1( r_min=-0.001*{0.2,0.2,2}, r_max=0.001*{0.2,0.2,2}, bumpFactor=10, nx=cross(rCL2_1 - rCL1_1, {0,0,1}), ny=cross(rCL2_1 - rCL1_1, {1,0,0}), Cdeg=diagonal({19500,19500,1050,11500,115000,3500}), Ddeg=diagonal({254,254,35,175,175,45})) "|Forces|Left MacPherson|Bushing data, chassis to link1"; parameter Chassis.Data.BumpBushingData data_CL1_2( r_rela0=data_CL1_1.r_rela0, r_min=data_CL1_1.r_min, r_max=data_CL1_1.r_max, phi_rela0=data_CL1_1.phi_rela0, phi_min=data_CL1_1.phi_min, phi_max=data_CL1_1.phi_max, bumpFactor=data_CL1_1.bumpFactor, Cdeg=data_CL1_1.Cdeg, Ddeg=data_CL1_1.Ddeg, C=data_CL1_1.C, D=data_CL1_1.D, linear=data_CL1_1.linear, eps=data_CL1_1.eps, nx=cross(rCL2_2 - rCL1_2, {0,0,1}), ny=cross(rCL2_2 - rCL1_2, {1,0,0})) "|Forces|Right MacPherson|Bushing data, chassis to link1"; parameter Chassis.Data.BumpBushingData data_CL2_1( r_min=-0.001*{2.5,2.5,10}, r_max=0.001*{2.5,2.5,10}, bumpFactor=10, nx=cross(rCL2_1 - rCL1_1, {0,0,1}), ny=cross(rCL2_1 - rCL1_1, {1,0,0}), Cdeg=diagonal({1150,1150,200,1775,1775,1215}), Ddeg=diagonal({12,12,2.3,17.5,17.5,13})) "|Forces|Left MacPherson|Bushing data, chassis to link2"; parameter Chassis.Data.BumpBushingData data_CL2_2( r_rela0=data_CL1_1.r_rela0, r_min=data_CL2_1.r_min, r_max=data_CL2_1.r_max, phi_rela0=data_CL2_1.phi_rela0, phi_min=data_CL2_1.phi_min, phi_max=data_CL2_1.phi_max, bumpFactor=data_CL2_1.bumpFactor, Cdeg=data_CL2_1.Cdeg, Ddeg=data_CL2_1.Ddeg, C=data_CL2_1.C, D=data_CL2_1.D, linear=data_CL2_1.linear, eps=data_CL2_1.eps, nx=cross(rCL2_2 - rCL1_2, {0,0,1}), ny=cross(rCL2_2 - rCL1_2, {1,0,0})) "|Forces|Right MacPherson|Bushing data, chassis to link2"; parameter Utilities.Forces.Utilities.ForceTable1D data_R(fd=[-1, -25.2; 0, 0; 1, 25.2], fc=[-1, -1.72*0.3*180/3.14159; 0, 0; 1, 1.72*0.3*180/3.14159]) "|Forces|Steering|Steering wheel axis compliance"; end MacPhersonData;
Name | Default | Description |
---|---|---|
scaleFactor[3] | {1,1,1} | Use this to rescale the geometry, does not affec inertia properties and force elements |
rCU_1[3] | {-2.085,0.600,0.010} | Trailing arm to chassis/body [m] |
nCU_1[3] | {0,1,0} | Trailing arm to chassis/body |
rUW_1[3] | {-2.55,0.733,0.030} | Wheel centre [m] |
rCU_2[3] | Utilities.Functions.EWM({1,-1,1}, rCU_1) | Trailing arm to chassis/body [m] |
nCU_2[3] | Utilities.Functions.EWM({1,-1,1}, nCU_1) | Trailing arm to chassis/body |
rUW_2[3] | Utilities.Functions.EWM({1,-1,1}, rUW_1) | Wheel centre [m] |
rCS_1[3] | {-2.55 - 0.061,0.518,0.450} | Strut to chassis/body [m] |
rUS_1[3] | {-2.55 - 0.0605,0.581,-0.046} | Strut ot trailing arm [m] |
q0S_1 | 0.116 | Additional length for unloaded strut [m] |
rCS_2[3] | Utilities.Functions.EWM({1,-1,1}, rCS_1) | Strut to chassis/body [m] |
rUS_2[3] | Utilities.Functions.EWM({1,-1,1}, rUS_1) | Strut ot trailing arm [m] |
q0S_2 | q0S_1 | Additional length for unloaded strut [m] |
rUL1_1[3] | {-2.55 - 0.0395,0.490,0.002} | Anti roll bar link to trailing arm [m] |
rAL1_1[3] | {-2.55 - 0.040,0.491,0.0775} | Anti roll bar link to anti roll bar [m] |
rCA_1[3] | {-2.55 - 0.210,0.463,0.060} | Anti roll bar to chassis/body [m] |
rUL1_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL1_1) | Anti roll bar link to trailing arm [m] |
rAL1_2[3] | Utilities.Functions.EWM({1,-1,1}, rAL1_1) | Anti roll bar link to anti roll bar [m] |
rCA_2[3] | Utilities.Functions.EWM({1,-1,1}, rCA_1) | Anti roll bar to chassis/body [m] |
rCMU_1[3] | {-0.418,0.028,0.0776} | [m] |
mU_1 | 11.0 | [kg] |
i11U_1 | 0.099 | [kg.m2] |
i22U_1 | 0.287 | [kg.m2] |
i33U_1 | 0.293 | [kg.m2] |
i21U_1 | 0.03 | [kg.m2] |
i31U_1 | -0.12 | [kg.m2] |
i32U_1 | 0.01 | [kg.m2] |
rCMU_2[3] | Utilities.Functions.EWM({1,-1,1}, rCMU_1) | [m] |
mU_2 | mU_1 | [kg] |
i11U_2 | i11U_1 | [kg.m2] |
i22U_2 | i22U_1 | [kg.m2] |
i33U_2 | i33U_1 | [kg.m2] |
i21U_2 | i21U_1 | [kg.m2] |
i31U_2 | i31U_1 | [kg.m2] |
i32U_2 | i32U_1 | [kg.m2] |
data_A | Anti Roll data | |
data_S_2 | Strut data | |
data_S_1 | Strut data |
record TrailingArmData "Data record for Simpletrailing arm4Suspension" // GEOMETRIC SETTINGS parameter Real[3] scaleFactor={1,1,1} "|Geometry|Scaling|Use this to rescale the geometry, does not affec inertia properties and force elements"; //trailing arm parameter SI.Position[3] rCU_1={-2.085,0.600,0.010} "|Geometry|Left trailing arm|Trailing arm to chassis/body"; parameter Real[3] nCU_1={0,1,0} "|Geometry|Left trailing arm|Trailing arm to chassis/body"; parameter SI.Position[3] rUW_1={-2.55,0.733,0.030} "|Geometry|Left trailing arm|Wheel centre"; parameter SI.Position[3] rCU_2=Utilities.Functions.EWM({1,-1,1}, rCU_1) "|Geometry|Right trailing arm|Trailing arm to chassis/body"; parameter Real[3] nCU_2=Utilities.Functions.EWM({1,-1,1}, nCU_1) "|Geometry|Right trailing arm|Trailing arm to chassis/body"; parameter SI.Position[3] rUW_2=Utilities.Functions.EWM({1,-1,1}, rUW_1) "|Geometry|Right trailing arm|Wheel centre"; // strut parameter SI.Position[3] rCS_1={-2.55 - 0.061,0.518,0.450} "|Geometry|Left strut|Strut to chassis/body"; parameter SI.Position[3] rUS_1={-2.55 - 0.0605,0.581,-0.046} "|Geometry|Left strut|Strut ot trailing arm"; parameter SI.Position q0S_1=0.116 "|Geometry|Left strut|Additional length for unloaded strut"; parameter SI.Position[3] rCS_2=Utilities.Functions.EWM({1,-1,1}, rCS_1) "|Geometry|Right strut|Strut to chassis/body"; parameter SI.Position[3] rUS_2=Utilities.Functions.EWM({1,-1,1}, rUS_1) "|Geometry|Right strut|Strut ot trailing arm"; parameter SI.Position q0S_2=q0S_1 "|Geometry|Right strut|Additional length for unloaded strut"; //torsion anti roll parameter SI.Position[3] rUL1_1={-2.55 - 0.0395,0.490,0.002} "|Geometry|Anti roll, left|Anti roll bar link to trailing arm"; parameter SI.Position[3] rAL1_1={-2.55 - 0.040,0.491,0.0775} "|Geometry|Anti roll, left|Anti roll bar link to anti roll bar"; parameter SI.Position[3] rCA_1={-2.55 - 0.210,0.463,0.060} "|Geometry|Anti roll, left|Anti roll bar to chassis/body"; parameter SI.Position[3] rUL1_2=Utilities.Functions.EWM({1,-1,1}, rUL1_1) "|Geometry|Anti roll, right|Anti roll bar link to trailing arm"; parameter SI.Position[3] rAL1_2=Utilities.Functions.EWM({1,-1,1}, rAL1_1) "|Geometry|Anti roll, right|Anti roll bar link to anti roll bar"; parameter SI.Position[3] rCA_2=Utilities.Functions.EWM({1,-1,1}, rCA_1) "|Geometry|Anti roll, right|Anti roll bar to chassis/body"; parameter SI.Position[3] rCMU_1={-0.418,0.028,0.0776} "|Mass and Inertia|left upright|"; parameter SI.Mass mU_1=11.0 "|Mass and Inertia|left upright|"; parameter SI.Inertia i11U_1=0.099 "|Mass and Inertia|left upright|"; parameter SI.Inertia i22U_1=0.287 "|Mass and Inertia|left upright|"; parameter SI.Inertia i33U_1=0.293 "|Mass and Inertia|left upright|"; parameter SI.Inertia i21U_1=0.03 "|Mass and Inertia|left upright|"; parameter SI.Inertia i31U_1=-0.12 "|Mass and Inertia|left upright|"; parameter SI.Inertia i32U_1=0.01 "|Mass and Inertia|left upright|"; parameter SI.Position[3] rCMU_2=Utilities.Functions.EWM({1,-1,1}, rCMU_1) "|Mass and Inertia|right upright|"; parameter SI.Mass mU_2=mU_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i11U_2=i11U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i22U_2=i22U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i33U_2=i33U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i21U_2=i21U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i31U_2=i31U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i32U_2=i32U_1 "|Mass and Inertia|right upright|"; parameter Utilities.Forces.Utilities.ForceTable1D data_A(fd=[0, 0], fc=[-1, -5432; 1, 5432]) "|Forces|Left multilink|Anti Roll data"; parameter Utilities.Forces.Utilities.ForceTable1D data_S_2(fc=data_S_1.fc, fd= data_S_1.fd) "|Forces|Left multilink|Strut data"; parameter Utilities.Forces.Utilities.ForceTable1D data_S_1(fd=[-1.4950, -719; -0.996, -531; -0.518, -413; -0.389, -376; -0.260, -327; -0.130, -166; -0.052, -82; 0, 0; 0.052, 154; 0.130, 419; 0.260, 1122; 0.389, 1336; 0.518, 1466; 0.996, 1891; 1.495, 2263], fc=[-1, -20000; 1, 20000]) "|Forces|Left multilink|Strut data"; end TrailingArmData;
Name | Default | Description |
---|---|---|
scaleFactor[3] | {1,1,1} | Use this to rescale the geometry, does not affec inertia properties and force elements |
rCL1_1[3] | {-2.6430,0.231,-0.022} | Lower link to chassis/body [m] |
rCL2_1[3] | {-2.5039,0.4150,0.174} | Upper link to chassis/body [m] |
rCL3_1[3] | {-2.4617,0.4750,0.0637} | Steering link to chassis/body [m] |
rCU_1[3] | {-2.0825,0.6200,0.0105} | Trailing arm to chassis/body [m] |
rUL1_1[3] | {-2.6170,0.6672,-0.05327} | Lower link to trailing arm [m] |
rUL2_1[3] | {-2.5178,0.6678,0.1607} | Upper link to trailing arm [m] |
rUL3_1[3] | {-2.4270,0.612,0.050} | Steering link to trailing arm [m] |
rUW_1[3] | {-2.557,0.7373,0.0290} | Wheel centre [m] |
rCL1_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL1_1) | Lower link to chassis/body [m] |
rCL2_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL2_1) | Upper link to chassis/body [m] |
rCL3_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL3_1) | Steering link to chassis/body [m] |
rCU_2[3] | Utilities.Functions.EWM({1,-1,1}, rCU_1) | Trailing arm to chassis/body [m] |
rUL1_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL1_1) | Lower link to trailing arm [m] |
rUL2_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL2_1) | Upper link to trailing arm [m] |
rUL3_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL3_1) | Steering link to trailing arm [m] |
rUW_2[3] | Utilities.Functions.EWM({1,-1,1}, rUW_1) | Wheel centre [m] |
rCS_1[3] | {-2.55 - 0.0621,0.518,0.450} | Strut to chassis/body [m] |
rUS_1[3] | {-2.55 - 0.063305,0.581,-0.046} | Strut ot trailing arm [m] |
q0S_1 | 0.116 | Additional length for unloaded strut [m] |
rCS_2[3] | Utilities.Functions.EWM({1,-1,1}, rCS_1) | Strut to chassis/body [m] |
rUS_2[3] | Utilities.Functions.EWM({1,-1,1}, rUS_1) | Strut ot trailing arm [m] |
q0S_2 | q0S_1 | Additional length for unloaded strut [m] |
rUL4_1[3] | {-2.55 - 0.03595,0.4590,0.0021} | Anti roll bar link to trailing arm [m] |
rAL4_1[3] | {-2.55 - 0.040,0.4951,0.07755} | Anti roll bar link to anti roll bar [m] |
rCA_1[3] | {-2.55 - 0.2510,0.4653,0.0630} | Anti roll bar to chassis/body [m] |
rUL4_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL4_1) | Anti roll bar link to trailing arm [m] |
rAL4_2[3] | Utilities.Functions.EWM({1,-1,1}, rAL4_1) | Anti roll bar link to anti roll bar [m] |
rCA_2[3] | Utilities.Functions.EWM({1,-1,1}, rCA_1) | Anti roll bar to chassis/body [m] |
rCMU_1[3] | {0.118,0.028,0.0776} | [m] |
mU_1 | 11.0 | [kg] |
i11U_1 | 0.0929 | [kg.m2] |
i22U_1 | 0.287 | [kg.m2] |
i33U_1 | 0.293 | [kg.m2] |
i21U_1 | -0.03 | [kg.m2] |
i31U_1 | 0.12 | [kg.m2] |
i32U_1 | 0.01 | [kg.m2] |
rCMU_2[3] | Utilities.Functions.EWM({1,-1,1}, rCMU_1) | [m] |
mU_2 | mU_1 | [kg] |
i11U_2 | i11U_1 | [kg.m2] |
i22U_2 | i22U_1 | [kg.m2] |
i33U_2 | i33U_1 | [kg.m2] |
i21U_2 | i21U_1 | [kg.m2] |
i31U_2 | i31U_1 | [kg.m2] |
i32U_2 | i32U_1 | [kg.m2] |
data_CU_1 | Bushing data, Trailing arm to chassis/body | |
data_CU_2 | Bushing data, Trailing arm to chassis/body | |
data_CL1_1 | Bushing data, chassis to link1 | |
data_CL1_2 | Bushing data, chassis to link1 | |
data_UL1_1 | Bushing data, trailing arm to link1 | |
data_UL1_2 | Bushing data, trailing arm to link1 | |
data_CL2_1 | Bushing data, chassis to link2 | |
data_CL2_2 | Bushing data, chassis to link2 | |
data_UL2_1 | Bushing data, trailing arm to link2 | |
data_UL2_2 | Bushing data, trailing arm to link2 | |
data_CL3_1 | Bushing data, chassis to link3 | |
data_CL3_2 | Bushing data, chassis to link3 | |
data_UL3_1 | Bushing data, trailing arm to link3 | |
data_UL3_2 | Bushing data, trailing arm to link3 | |
data_A | Anti Roll data | |
data_S_2 | Strut data | |
data_S_1 | Strut data |
record Multilink4Data "Data record for MultiLink4Suspension" // GEOMETRIC SETTINGS parameter Real[3] scaleFactor={1,1,1} "|Geometry|Scaling|Use this to rescale the geometry, does not affec inertia properties and force elements"; //multilink4 parameter SI.Position[3] rCL1_1={-2.6430,0.231,-0.022} "|Geometry|Left multilink|Lower link to chassis/body"; parameter SI.Position[3] rCL2_1={-2.5039,0.4150,0.174} "|Geometry|Left multilink|Upper link to chassis/body"; parameter SI.Position[3] rCL3_1={-2.4617,0.4750,0.0637} "|Geometry|Left multilink|Steering link to chassis/body"; parameter SI.Position[3] rCU_1={-2.0825,0.6200,0.0105} "|Geometry|Left multilink|Trailing arm to chassis/body"; parameter SI.Position[3] rUL1_1={-2.6170,0.6672,-0.05327} "|Geometry|Left multilink|Lower link to trailing arm"; parameter SI.Position[3] rUL2_1={-2.5178,0.6678,0.1607} "|Geometry|Left multilink|Upper link to trailing arm"; parameter SI.Position[3] rUL3_1={-2.4270,0.612,0.050} "|Geometry|Left multilink|Steering link to trailing arm"; parameter SI.Position[3] rUW_1={-2.557,0.7373,0.0290} "|Geometry|Left multilink|Wheel centre"; parameter SI.Position[3] rCL1_2=Utilities.Functions.EWM({1,-1,1}, rCL1_1) "|Geometry|Right multilink|Lower link to chassis/body"; parameter SI.Position[3] rCL2_2=Utilities.Functions.EWM({1,-1,1}, rCL2_1) "|Geometry|Right multilink|Upper link to chassis/body"; parameter SI.Position[3] rCL3_2=Utilities.Functions.EWM({1,-1,1}, rCL3_1) "|Geometry|Right multilink|Steering link to chassis/body"; parameter SI.Position[3] rCU_2=Utilities.Functions.EWM({1,-1,1}, rCU_1) "|Geometry|Right multilink|Trailing arm to chassis/body"; parameter SI.Position[3] rUL1_2=Utilities.Functions.EWM({1,-1,1}, rUL1_1) "|Geometry|Right multilink|Lower link to trailing arm"; parameter SI.Position[3] rUL2_2=Utilities.Functions.EWM({1,-1,1}, rUL2_1) "|Geometry|Right multilink|Upper link to trailing arm"; parameter SI.Position[3] rUL3_2=Utilities.Functions.EWM({1,-1,1}, rUL3_1) "|Geometry|Right multilink|Steering link to trailing arm"; parameter SI.Position[3] rUW_2=Utilities.Functions.EWM({1,-1,1}, rUW_1) "|Geometry|Right multilink|Wheel centre"; // strut parameter SI.Position[3] rCS_1={-2.55 - 0.0621,0.518,0.450} "|Geometry|Left strut|Strut to chassis/body"; parameter SI.Position[3] rUS_1={-2.55 - 0.063305,0.581,-0.046} "|Geometry|Left strut|Strut ot trailing arm"; parameter SI.Position q0S_1=0.116 "|Geometry|Left strut|Additional length for unloaded strut"; parameter SI.Position[3] rCS_2=Utilities.Functions.EWM({1,-1,1}, rCS_1) "|Geometry|Right strut|Strut to chassis/body"; parameter SI.Position[3] rUS_2=Utilities.Functions.EWM({1,-1,1}, rUS_1) "|Geometry|Right strut|Strut ot trailing arm"; parameter SI.Position q0S_2=q0S_1 "|Geometry|Right strut|Additional length for unloaded strut"; //torsion anti roll parameter SI.Position[3] rUL4_1={-2.55 - 0.03595,0.4590,0.0021} "|Geometry|Anti roll, left|Anti roll bar link to trailing arm"; parameter SI.Position[3] rAL4_1={-2.55 - 0.040,0.4951,0.07755} "|Geometry|Anti roll, left|Anti roll bar link to anti roll bar"; parameter SI.Position[3] rCA_1={-2.55 - 0.2510,0.4653,0.0630} "|Geometry|Anti roll, left|Anti roll bar to chassis/body"; parameter SI.Position[3] rUL4_2=Utilities.Functions.EWM({1,-1,1}, rUL4_1) "|Geometry|Anti roll, right|Anti roll bar link to trailing arm"; parameter SI.Position[3] rAL4_2=Utilities.Functions.EWM({1,-1,1}, rAL4_1) "|Geometry|Anti roll, right|Anti roll bar link to anti roll bar"; parameter SI.Position[3] rCA_2=Utilities.Functions.EWM({1,-1,1}, rCA_1) "|Geometry|Anti roll, right|Anti roll bar to chassis/body"; parameter SI.Position[3] rCMU_1={0.118,0.028,0.0776} "|Mass and Inertia|left upright|"; parameter SI.Mass mU_1=11.0 "|Mass and Inertia|left upright|"; parameter SI.Inertia i11U_1=0.0929 "|Mass and Inertia|left upright|"; parameter SI.Inertia i22U_1=0.287 "|Mass and Inertia|left upright|"; parameter SI.Inertia i33U_1=0.293 "|Mass and Inertia|left upright|"; parameter SI.Inertia i21U_1=-0.03 "|Mass and Inertia|left upright|"; parameter SI.Inertia i31U_1=0.12 "|Mass and Inertia|left upright|"; parameter SI.Inertia i32U_1=0.01 "|Mass and Inertia|left upright|"; parameter SI.Position[3] rCMU_2=Utilities.Functions.EWM({1,-1,1}, rCMU_1) "|Mass and Inertia|right upright|"; parameter SI.Mass mU_2=mU_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i11U_2=i11U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i22U_2=i22U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i33U_2=i33U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i21U_2=i21U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i31U_2=i31U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i32U_2=i32U_1 "|Mass and Inertia|right upright|"; parameter Chassis.Data.BumpBushingData data_CU_1( r_min=-0.001*{6.82,2.52,4.87}, r_max=0.001*{6.57,2.53,4.7}, Cdeg=diagonal({456,179,643,1526,1720,1875}), Ddeg=diagonal({7,4,10,22,228,321})) "|Forces|Left multilink|Bushing data, Trailing arm to chassis/body"; parameter Chassis.Data.BumpBushingData data_CU_2( nx=Utilities.Functions.EWM(data_CU_1.nx, {1,-1,1}), ny=Utilities.Functions.EWM(data_CU_1.ny, {1,-1,1}), r_rela0=data_CU_1.r_rela0, r_min=data_CU_1.r_min, r_max=data_CU_1.r_max, phi_rela0=data_CU_1.phi_rela0, phi_min=data_CU_1.phi_min, phi_max=data_CU_1.phi_max, bumpFactor=data_CU_1.bumpFactor, Cdeg=data_CU_1.Cdeg, Ddeg=data_CU_1.Ddeg, C=data_CU_1.C, D=data_CU_1.D, linear=data_CU_1.linear, eps=data_CU_1.eps) "|Forces|Right multilink|Bushing data, Trailing arm to chassis/body"; parameter Chassis.Data.BumpBushingData data_CL1_1( bumpFactor=10, Ddeg=diagonal({64,64,4,61,61,10}), nx={0,0,1}, r_min=-0.001*{4,4,6}, r_max=0.001*{4,4,6}, Cdeg=diagonal({6310,6310,447,6230,6230,1030})) "|Forces|Left multilink|Bushing data, chassis to link1"; parameter Chassis.Data.BumpBushingData data_CL1_2( nx=Utilities.Functions.EWM(data_CL1_1.nx, {1,-1,1}), ny=Utilities.Functions.EWM(data_CL1_1.ny, {1,-1,1}), r_rela0=data_CL1_1.r_rela0, r_min=data_CL1_1.r_min, r_max=data_CL1_1.r_max, phi_rela0=data_CL1_1.phi_rela0, phi_min=data_CL1_1.phi_min, phi_max=data_CL1_1.phi_max, bumpFactor=data_CL1_1.bumpFactor, Cdeg=data_CL1_1.Cdeg, Ddeg=data_CL1_1.Ddeg, C=data_CL1_1.C, D=data_CL1_1.D, linear=data_CL1_1.linear, eps=data_CL1_1.eps) "|Forces|Right multilink|Bushing data, chassis to link1"; parameter Chassis.Data.BumpBushingData data_UL1_1( bumpFactor=10, Ddeg=diagonal({15,15,206,180,180,31.5}), nx={0,0,1}, r_min=-0.001*{4,4,4}, r_max=0.001*{4,4,4}, Cdeg=diagonal({11600,10600,7512,9373,9373,1625})) "|Forces|left multilink|Bushing data, trailing arm to link1"; parameter Chassis.Data.BumpBushingData data_UL1_2( nx=Utilities.Functions.EWM(data_UL1_1.nx, {1,-1,1}), ny=Utilities.Functions.EWM(data_UL1_1.ny, {1,-1,1}), r_rela0=data_UL1_1.r_rela0, r_min=data_UL1_1.r_min, r_max=data_UL1_1.r_max, phi_rela0=data_UL1_1.phi_rela0, phi_min=data_UL1_1.phi_min, phi_max=data_UL1_1.phi_max, bumpFactor=data_UL1_1.bumpFactor, Cdeg=data_UL1_1.Cdeg, Ddeg=data_UL1_1.Ddeg, C=data_UL1_1.C, D=data_UL1_1.D, linear=data_UL1_1.linear, eps=data_UL1_1.eps) "|Forces|Right multilink|Bushing data, trailing arm to link1"; parameter Chassis.Data.BumpBushingData data_CL2_1( Ddeg=diagonal({75,75,7,31,31,14}), nx={0,0,1}, r_min=-0.001*{4,4,6}, r_max=0.001*{4,4,6}, bumpFactor=10, Cdeg=diagonal({25413,25413,3112,2.122,2.122,1.011})) "|Forces|Left multilink|Bushing data, chassis to link2"; parameter Chassis.Data.BumpBushingData data_CL2_2( nx=Utilities.Functions.EWM(data_CL2_1.nx, {1,-1,1}), ny=Utilities.Functions.EWM(data_CL2_1.ny, {1,-1,1}), r_rela0=data_CL2_1.r_rela0, r_min=data_CL2_1.r_min, r_max=data_CL2_1.r_max, phi_rela0=data_CL2_1.phi_rela0, phi_min=data_CL2_1.phi_min, phi_max=data_CL2_1.phi_max, bumpFactor=data_CL2_1.bumpFactor, Cdeg=data_CL2_1.Cdeg, Ddeg=data_CL2_1.Ddeg, C=data_CL2_1.C, D=data_CL2_1.D, linear=data_CL2_1.linear, eps=data_CL2_1.eps) "|Forces|Right multilink|Bushing data, chassis to link2"; parameter Chassis.Data.BumpBushingData data_UL2_1( nx={0,0,1}, r_min=-0.001*{4,4,6}, r_max=0.001*{4,4,6}, Cdeg=diagonal({11900,11900,301,3.239,3.239,0.839}), Ddeg=diagonal({2715,2715,10,813,813,222})) "|Forces|left multilink|Bushing data, trailing arm to link2"; parameter Chassis.Data.BumpBushingData data_UL2_2( nx=Utilities.Functions.EWM(data_UL2_1.nx, {1,-1,1}), ny=Utilities.Functions.EWM(data_UL2_1.ny, {1,-1,1}), r_rela0=data_UL2_1.r_rela0, r_min=data_UL2_1.r_min, r_max=data_UL2_1.r_max, phi_rela0=data_UL2_1.phi_rela0, phi_min=data_UL2_1.phi_min, phi_max=data_UL2_1.phi_max, bumpFactor=data_UL2_1.bumpFactor, Cdeg=data_UL2_1.Cdeg, Ddeg=data_UL2_1.Ddeg, C=data_UL2_1.C, D=data_UL2_1.D, linear=data_UL2_1.linear, eps=data_UL2_1.eps) "|Forces|Right multilink|Bushing data, trailing arm to link2"; parameter Chassis.Data.BumpBushingData data_CL3_1( nx={0,0,1}, r_min=-0.001*{4,4,6}, r_max=0.001*{4,4,6}, bumpFactor=10, Cdeg=diagonal({25422,25422,327,2.22,2.22,1.01}), Ddeg=diagonal({627,627,6,31,31,14})) "|Forces|Left multilink|Bushing data, chassis to link3"; parameter Chassis.Data.BumpBushingData data_CL3_2( nx=Utilities.Functions.EWM(data_CL3_1.nx, {1,-1,1}), ny=Utilities.Functions.EWM(data_CL3_1.ny, {1,-1,1}), r_rela0=data_CL3_1.r_rela0, r_min=data_CL3_1.r_min, r_max=data_CL3_1.r_max, phi_rela0=data_CL3_1.phi_rela0, phi_min=data_CL3_1.phi_min, phi_max=data_CL3_1.phi_max, bumpFactor=data_CL3_1.bumpFactor, Cdeg=data_CL3_1.Cdeg, Ddeg=data_CL3_1.Ddeg, C=data_CL3_1.C, D=data_CL3_1.D, linear=data_CL3_1.linear, eps=data_CL3_1.eps) "|Forces|Right multilink|Bushing data, chassis to link3"; parameter Chassis.Data.BumpBushingData data_UL3_1( nx={0,0,1}, r_min=-0.001*{4,4,6}, r_max=0.001*{4,4,6}, bumpFactor=10, Cdeg=diagonal({27625,27625,312,4143,4143,1236}), Ddeg=diagonal({485,485,9.2,84.5,84.5,26})) "|Forces|left multilink|Bushing data, trailing arm to link3"; parameter Chassis.Data.BumpBushingData data_UL3_2( nx=Utilities.Functions.EWM(data_UL3_1.nx, {1,-1,1}), ny=Utilities.Functions.EWM(data_UL3_1.ny, {1,-1,1}), r_rela0=data_UL3_1.r_rela0, r_min=data_UL3_1.r_min, r_max=data_UL3_1.r_max, phi_rela0=data_UL3_1.phi_rela0, phi_min=data_UL3_1.phi_min, phi_max=data_UL3_1.phi_max, bumpFactor=data_UL3_1.bumpFactor, Cdeg=data_UL3_1.Cdeg, Ddeg=data_UL3_1.Ddeg, C=data_UL3_1.C, D=data_UL3_1.D, linear=data_UL3_1.linear, eps=data_UL3_1.eps) "|Forces|Right multilink|Bushing data, trailing arm to link3"; parameter Utilities.Forces.Utilities.ForceTable1D data_A(fd=[0, 0], fc=[-1, -5432; 1, 5432]) "|Forces|Left multilink|Anti Roll data"; parameter Utilities.Forces.Utilities.ForceTable1D data_S_2(fc=data_S_1.fc, fd= data_S_1.fd) "|Forces|Left multilink|Strut data"; parameter Utilities.Forces.Utilities.ForceTable1D data_S_1(fc=[-1, -24000; 1, 24000], fd=[-1.4950, -719; -0.996, -531; -0.518, -413; -0.389, -376; -0.260, -327; -0.130, -166; -0.052, -82; 0, 0; 0.052, 154; 0.130, 419; 0.260, 1122; 0.389, 1336; 0.518, 1466; 0.996, 1891; 1.495, 2263]) "|Forces|Left multilink|Strut data"; end Multilink4Data;
Name | Default | Description |
---|---|---|
scaleFactor[3] | {1,1,1} | Use this to rescale the geometry, does not affec inertia properties and force elements |
rCL1_1[3] | {-0.005,0.375,0.230} | |
rCL2_1[3] | {-0.315,0.355,0.230} | |
rUL1L2_1[3] | {0.005,0.690,0.230} | |
rCL3_1[3] | {-0.005,0.375,-0.040} | |
rCL4_1[3] | {-0.315,0.355,-0.030} | |
rUL3L4_1[3] | {0.005,0.690,-0.070} | |
rUW_1[3] | {-0.000,0.727,0.040} | |
rCL1_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL1_1) | |
rCL2_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL2_1) | |
rCL3_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL3_1) | |
rCL4_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL4_1) | |
rUL1L2_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL1L2_1) | |
rUL3L4_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL3L4_1) | |
rUW_2[3] | Utilities.Functions.EWM({1,-1,1}, rUW_1) | |
rCS_1[3] | {-0.030,0.545,0.565} | |
rSL3L4_1[3] | {-0.000,0.580,0.040} | |
q0S_1 | 3516/20000 | |
rCS_2[3] | Utilities.Functions.EWM({1,-1,1}, rCS_1) | |
rSL3L4_2[3] | Utilities.Functions.EWM({1,-1,1}, rSL3L4_1) | |
q0S_2 | q0S_1 | |
rUL5_1[3] | {-0.130,0.645,0.075} | |
rRL5_1[3] | {-0.160,0.305,0.095} | |
rUL5_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL5_1) | |
rRL5_2[3] | Utilities.Functions.EWM({1,-1,1}, rRL5_1) | |
ratioWheelToRack | 0.03 | rotatational to translational ratio [m/rad] |
iSW | 0.2 | |
rUL6_1[3] | {-0.055,0.540,0.220} | |
rAL6_1[3] | {-0.045,0.510,0.020} | |
rCA_1[3] | {-0.240,0.340,0.035} | |
rUL6_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL6_1) | |
rAL6_2[3] | Utilities.Functions.EWM({1,-1,1}, rAL6_1) | |
rCA_2[3] | Utilities.Functions.EWM({1,-1,1}, rCA_1) | |
data_A | ||
data_SW | Steering wheel axis compliance | |
data_S_1 | Strut data | |
data_S_2 | Strut data |
record DoubleWishBoneData // GEOMETRIC SETTINGS parameter Real[3] scaleFactor={1,1,1} "|Geometry|Scaling|Use this to rescale the geometry, does not affec inertia properties and force elements"; //double wishbone parameter Real[3] rCL1_1={-0.005,0.375,0.230} "|Geometry|Double wish bone|"; parameter Real[3] rCL2_1={-0.315,0.355,0.230} "|Geometry|Double wish bone|"; parameter Real[3] rUL1L2_1={0.005,0.690,0.230} "|Geometry|Double wish bone|"; parameter Real[3] rCL3_1={-0.005,0.375,-0.040} "|Geometry|Double wish bone|"; parameter Real[3] rCL4_1={-0.315,0.355,-0.030} "|Geometry|Double wish bone|"; parameter Real[3] rUL3L4_1={0.005,0.690,-0.070} "|Geometry|Double wish bone|"; parameter Real[3] rUW_1={-0.000,0.727,0.040} "|Geometry|Double wish bone|"; parameter Real[3] rCL1_2=Utilities.Functions.EWM({1,-1,1}, rCL1_1) "|Geometry|Double wish bone|"; parameter Real[3] rCL2_2=Utilities.Functions.EWM({1,-1,1}, rCL2_1) "|Geometry|Double wish bone|"; parameter Real[3] rCL3_2=Utilities.Functions.EWM({1,-1,1}, rCL3_1) "|Geometry|Double wish bone|"; parameter Real[3] rCL4_2=Utilities.Functions.EWM({1,-1,1}, rCL4_1) "|Geometry|Double wish bone|"; parameter Real[3] rUL1L2_2=Utilities.Functions.EWM({1,-1,1}, rUL1L2_1) "|Geometry|Double wish bone|"; parameter Real[3] rUL3L4_2=Utilities.Functions.EWM({1,-1,1}, rUL3L4_1) "|Geometry|Double wish bone|"; parameter Real[3] rUW_2=Utilities.Functions.EWM({1,-1,1}, rUW_1) "|Geometry|Double wish bone|"; // strut parameter Real[3] rCS_1={-0.030,0.545,0.565} "|Geometry|Strut|"; parameter Real[3] rSL3L4_1={-0.000,0.580,0.040} "|Geometry|Strut|"; parameter Real q0S_1=3516/20000 "|Geometry|Strut|"; parameter Real[3] rCS_2=Utilities.Functions.EWM({1,-1,1}, rCS_1) "|Geometry|Strut|"; parameter Real[3] rSL3L4_2=Utilities.Functions.EWM({1,-1,1}, rSL3L4_1) "|Geometry|Strut|"; parameter Real q0S_2=q0S_1 "|Geometry|Strut|"; //steering rack parameter Real[3] rUL5_1={-0.130,0.645,0.075} "|Geometry|Steering|"; parameter Real[3] rRL5_1={-0.160,0.305,0.095} "|Geometry|Steering|"; parameter Real[3] rUL5_2=Utilities.Functions.EWM({1,-1,1}, rUL5_1) "|Geometry|Steering|"; parameter Real[3] rRL5_2=Utilities.Functions.EWM({1,-1,1}, rRL5_1) "|Geometry|Steering|"; parameter Real ratioWheelToRack=0.03 "|Geometry|Steering| rotatational to translational ratio [m/rad]"; parameter Real iSW=0.2 "|steering|masses and inertias|"; //torsion anti roll parameter Real[3] rUL6_1={-0.055,0.540,0.220} "|Geometry|Anti roll|"; parameter Real[3] rAL6_1={-0.045,0.510,0.020} "|Geometry|Anti roll|"; parameter Real[3] rCA_1={-0.240,0.340,0.035} "|Geometry|Anti roll|"; parameter Real[3] rUL6_2=Utilities.Functions.EWM({1,-1,1}, rUL6_1) "|Geometry|Anti roll|"; parameter Real[3] rAL6_2=Utilities.Functions.EWM({1,-1,1}, rAL6_1) "|Geometry|Anti roll|"; parameter Real[3] rCA_2=Utilities.Functions.EWM({1,-1,1}, rCA_1) "|Geometry|Anti roll|"; parameter Utilities.Forces.Utilities.ForceTable1D data_A(fd=[-1, -20; -0.5, -6; 0, 0; 0.5, 6; 1, 20], fc=[-1, 300; -0.5, 110; 0, 0; 0.5, -110; 1, -300]) "|Forces|Anti roll|"; parameter Utilities.Forces.Utilities.ForceTable1D data_SW(fc=[-1, 40000; 0, 0; 1, -40000], fd=[-1, 2000; 0, 0; 1, -2000]) "|Forces|Steering|Steering wheel axis compliance"; parameter Utilities.Forces.Utilities.ForceTable1D data_S_1(fc=[-1, -20000; 1, 20000], fd=[-1.4950, -719; -0.996, -531; -0.518, -413; -0.389, -376; -0.260, -327; -0.130, -166; -0.052, -82; 0, 0; 0.052, 154; 0.130, 419; 0.260, 1122; 0.385, 1336; 0.518, 1455; 0.995, 1851; 1.455, 2255]) "|Forces|Left double wish bone|Strut data"; parameter Utilities.Forces.Utilities.ForceTable1D data_S_2(fc=[-1, -20000; 1, 20000], fd=[-1.4950, -719; -0.996, -531; -0.518, -413; -0.389, -376; -0.260, -327; -0.130, -166; -0.052, -82; 0, 0; 0.052, 154; 0.130, 419; 0.260, 1122; 0.385, 1336; 0.518, 1455; 0.995, 1851; 1.455, 2255]) "|Forces|Left double wish bone|Strut data"; end DoubleWishBoneData;
Name | Default | Description |
---|---|---|
scaleFactor[3] | {1,1,1} | Use this to rescale the geometry, does not affec inertia properties and force elements |
rCL1_1[3] | {0.223,0.167,0.121} | |
rCL2_1[3] | {-0.211,0.177,0.121} | |
rCL3_1[3] | {0.210,0.165,-0.113} | |
rCL4_1[3] | {-0.209,0.171,-0.114} | |
rUL1L2_1[3] | {0.002,0.750,0.128} | |
rUL3L4_1[3] | {0.002,0.753,-0.117} | |
rUW_1[3] | {0.013,0.763,0.001} | |
rCL1_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL1_1) | |
rCL2_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL2_1) | |
rCL3_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL3_1) | |
rCL4_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL4_1) | |
rUL1L2_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL1L2_1) | |
rUL3L4_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL3L4_1) | |
rUW_2[3] | Utilities.Functions.EWM({1,-1,1}, rUW_1) | |
rUL5_1[3] | {-0.130,0.755,0.075} | |
rRL5_1[3] | {-0.160,0.305,0.095} | |
rUL5_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL5_1) | |
rRL5_2[3] | Utilities.Functions.EWM({1,-1,1}, rRL5_1) | |
ratioWheelToRack | 0.03 | |Geometry|Steering| rotatational to translational ratio [m/rad] |
iSW | 0.2 | |
tcSW[:, 2] | [-1, 60000; 0, 0; 1, -60000] | |
tdSW[:, 2] | [-1, 2000; 0, 0; 1, -2000] | |
rCP[3] | {-0.080,0.000,0.141} | |
rCS[3] | {-0.401,0.000,0.211} | |
rPS[3] | {-0.062,0.000,0.201} | |
rPL6_1[3] | {-0.021,0.05,0.169} | |
rUL6_1[3] | {0.001,0.732,-0.167} | |
nCP[3] | {0,1,0} | |
q0S | 0.02 | |
rPL6_2[3] | Utilities.Functions.EWM({1,-1,1}, rPL6_1) | |
rUL6_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL6_1) | |
data_S | ||
data_A |
record DoubleWishBoneData2 // GEOMETRIC SETTINGS parameter Real[3] scaleFactor={1,1,1} "|Geometry|Scaling|Use this to rescale the geometry, does not affec inertia properties and force elements"; //double wishbone parameter Real[3] rCL1_1={0.223,0.167,0.121} "|Geometry|Double wish bone|"; //{0.22,.51,.21}; parameter Real[3] rCL2_1={-0.211,0.177,0.121} "|Geometry|Double wish bone|"; //{-0.23,.5,.2}; parameter Real[3] rCL3_1={0.210,0.165,-0.113} "|Geometry|Double wish bone|"; //{0.23,.5,-.2}; parameter Real[3] rCL4_1={-0.209,0.171,-0.114} "|Geometry|Double wish bone|"; //{-0.231,.51,-.22}; parameter Real[3] rUL1L2_1={0.002,0.750,0.128} "|Geometry|Double wish bone|"; //{-0.02,0.8,0.2}; parameter Real[3] rUL3L4_1={0.002,0.753,-0.117} "|Geometry|Double wish bone|"; //{0.01,0.82,-0.2}; parameter Real[3] rUW_1={0.013,0.763,0.001} "|Geometry|Double wish bone|"; //{0,0.87,0}; parameter Real[3] rCL1_2=Utilities.Functions.EWM({1,-1,1}, rCL1_1) "|Geometry|Double wish bone|"; parameter Real[3] rCL2_2=Utilities.Functions.EWM({1,-1,1}, rCL2_1) "|Geometry|Double wish bone|"; parameter Real[3] rCL3_2=Utilities.Functions.EWM({1,-1,1}, rCL3_1) "|Geometry|Double wish bone|"; parameter Real[3] rCL4_2=Utilities.Functions.EWM({1,-1,1}, rCL4_1) "|Geometry|Double wish bone|"; parameter Real[3] rUL1L2_2=Utilities.Functions.EWM({1,-1,1}, rUL1L2_1) "|Geometry|Double wish bone|"; parameter Real[3] rUL3L4_2=Utilities.Functions.EWM({1,-1,1}, rUL3L4_1) "|Geometry|Double wish bone|"; parameter Real[3] rUW_2=Utilities.Functions.EWM({1,-1,1}, rUW_1) "|Geometry|Double wish bone|"; //steering rack parameter Real[3] rUL5_1={-0.130,0.755,0.075} "|Geometry|Steering|"; parameter Real[3] rRL5_1={-0.160,0.305,0.095} "|Geometry|Steering|"; //parameter Real[3] rUL5_1={0.180,0.761,0.101} "|Geometry|Steering|"; //{0.1,0.82,0.1}; //parameter Real[3] rRL5_1={0.211,0.171,0.110} "|Geometry|Steering|"; //{0.11,0.34,0.19}; parameter Real[3] rUL5_2=Utilities.Functions.EWM({1,-1,1}, rUL5_1) "|Geometry|Steering|"; parameter Real[3] rRL5_2=Utilities.Functions.EWM({1,-1,1}, rRL5_1) "|Geometry|Steering|"; parameter Real ratioWheelToRack=0.03 " |Geometry|Steering| rotatational to translational ratio [m/rad]"; parameter Real iSW=0.2 "|steering|masses and inertias|"; parameter Real[:, 2] tcSW=[-1, 60000; 0, 0; 1, -60000] "|Forces|Steering|"; parameter Real[:, 2] tdSW=[-1, 2000; 0, 0; 1, -2000] "|Forces|Steering|"; //mono-damper belleville anti roll parameter Real[3] rCP={-0.080,0.000,0.141} "|Geometry|BelleVille|"; parameter Real[3] rCS={-0.401,0.000,0.211} "|Geometry|BelleVille|"; parameter Real[3] rPS={-0.062,0.000,0.201} "|Geometry|BelleVille|"; parameter Real[3] rPL6_1={-0.021,0.05,0.169} "|Geometry|BelleVille|"; parameter Real[3] rUL6_1={0.001,0.732,-0.167} "|Geometry|BelleVille|"; //{0,0.8,-0.1}; parameter Real[3] nCP={0,1,0} "|Geometry|BelleVille|"; parameter Real q0S=0.02 "|Geometry|BelleVille|"; parameter Real[3] rPL6_2=Utilities.Functions.EWM({1,-1,1}, rPL6_1) "|Geometry|BelleVille|"; parameter Real[3] rUL6_2=Utilities.Functions.EWM({1,-1,1}, rUL6_1) "|Geometry|BelleVille|"; parameter Utilities.Forces.Utilities.ForceTable1D data_S(fc=[-1, -80000; -0.5, -50000; 0, 0; 0.5, 50000; 1, 80000], fd=[-1, -10000; -0.5, -4000; 0, 0; 0.5, 3000; 1, 8000]) "|Forces|BelleVille|"; parameter Utilities.Forces.Utilities.ForceTable1D data_A(fc=[-1, -250000; -0.5, -110000; 0, 0; 0.5, 110000; 1, 250000], fd=[-1, -20; -0.5, -6; 0, 0; 0.5, 6; 1, 20]) "|Forces|BelleVille|"; end DoubleWishBoneData2;
Name | Default | Description |
---|---|---|
scaleFactor[3] | {1,1,1} | Use this to rescale the geometry, does not affec inertia properties and force elements |
rCL1_1[3] | {-2.6 + 0.18,0.17,0.09} | |
rCL2_1[3] | {-2.6 - 0.18,0.17,0.09} | |
rCL3_1[3] | {-2.6 + 0.18,0.17,-0.1} | |
rCL4_1[3] | {-2.6 - 0.18,0.17,-0.1} | |
rUL1L2_1[3] | {-2.6 + 0,0.67,0.09} | |
rUL3L4_1[3] | {-2.6 + 0,0.67,-0.1} | |
rUW_1[3] | {-2.6 + 0,0.70,0} | |
rCL1_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL1_1) | |
rCL2_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL2_1) | |
rCL3_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL3_1) | |
rCL4_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL4_1) | |
rUL1L2_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL1L2_1) | |
rUL3L4_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL3L4_1) | |
rUW_2[3] | Utilities.Functions.EWM({1,-1,1}, rUW_1) | |
rUL5_1[3] | {-2.6 - 0.18,0.67,0.09} | |
rRL5_1[3] | {-2.6 - 0.18,0.17,0.09} | |
rUL5_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL5_1) | |
rRL5_2[3] | Utilities.Functions.EWM({1,-1,1}, rRL5_1) | |
ratioWheelToRack | 0.03 | rotatational to translational ratio [m/rad] |
rCP_1[3] | {-2.6 + 0.04,0.17,0.15} | |
rCS_1[3] | {-2.6 + 0.33,0.11,0.15} | |
rPS_1[3] | {-2.6 + 0.045,0.05,0.185} | |
rPL6_1[3] | {-2.6 - 0.045,0.17,0.15} | |
rUL6_1[3] | {-2.6 + 0,0.67,-0.1} | |
rPL7_1[3] | {-2.6 + 0,0.13,0.125} | |
rAL7_1[3] | {-2.6 + 0.25,0.17,0.13} | |
rCA_1[3] | {-2.6 + 0.25,0.17,0.05} | |
nP_1[3] | cross((rPL6_1 - rUL6_1), (rPL7_1 - rAL7_1)) | |
q0S_1 | 0.04 | |
rCP_2[3] | Utilities.Functions.EWM({1,-1,1}, rCP_1) | |
rCS_2[3] | Utilities.Functions.EWM({1,-1,1}, rCS_1) | |
rPS_2[3] | Utilities.Functions.EWM({1,-1,1}, rPS_1) | |
rPL6_2[3] | Utilities.Functions.EWM({1,-1,1}, rPL6_1) | |
rUL6_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL6_1) | |
rPL7_2[3] | Utilities.Functions.EWM({1,-1,1}, rPL7_1) | |
rAL7_2[3] | Utilities.Functions.EWM({1,-1,1}, rAL7_1) | |
rCA_2[3] | Utilities.Functions.EWM({1,-1,1}, rCA_1) | |
nP_2[3] | Utilities.Functions.EWM({1,-1,1}, nP_1) | |
q0S_2 | q0S_1 | |
data_S_1 | ||
data_S_2 | ||
data_A |
record DoubleWishBoneData3 parameter Real[3] scaleFactor={1,1,1} "|Geometry|Scaling|Use this to rescale the geometry, does not affec inertia properties and force elements"; //double wishbone parameter Real[3] rCL1_1={-2.6 + 0.18,0.17,0.09} "|Geometry|Double wish bone|"; //{0.22,.51,.21}; parameter Real[3] rCL2_1={-2.6 - 0.18,0.17,0.09} "|Geometry|Double wish bone|"; //{-0.23,.5,.2}; parameter Real[3] rCL3_1={-2.6 + 0.18,0.17,-0.1} "|Geometry|Double wish bone|"; //{0.23,.5,-.2}; parameter Real[3] rCL4_1={-2.6 - 0.18,0.17,-0.1} "|Geometry|Double wish bone|"; //{-0.231,.51,-.22}; parameter Real[3] rUL1L2_1={-2.6 + 0,0.67,0.09} "|Geometry|Double wish bone|"; //{-0.02,0.8,0.2}; parameter Real[3] rUL3L4_1={-2.6 + 0,0.67,-0.1} "|Geometry|Double wish bone|"; //{0.01,0.82,-0.2}; parameter Real[3] rUW_1={-2.6 + 0,0.70,0} "|Geometry|Double wish bone|"; //{0,0.87,0}; parameter Real[3] rCL1_2=Utilities.Functions.EWM({1,-1,1}, rCL1_1) "|Geometry|Double wish bone|"; parameter Real[3] rCL2_2=Utilities.Functions.EWM({1,-1,1}, rCL2_1) "|Geometry|Double wish bone|"; parameter Real[3] rCL3_2=Utilities.Functions.EWM({1,-1,1}, rCL3_1) "|Geometry|Double wish bone|"; parameter Real[3] rCL4_2=Utilities.Functions.EWM({1,-1,1}, rCL4_1) "|Geometry|Double wish bone|"; parameter Real[3] rUL1L2_2=Utilities.Functions.EWM({1,-1,1}, rUL1L2_1) "|Geometry|Double wish bone|"; parameter Real[3] rUL3L4_2=Utilities.Functions.EWM({1,-1,1}, rUL3L4_1) "|Geometry|Double wish bone|"; parameter Real[3] rUW_2=Utilities.Functions.EWM({1,-1,1}, rUW_1) "|Geometry|Double wish bone|"; //steering rack parameter Real[3] rUL5_1={-2.6 - 0.18,0.67,0.09} "|Geometry|Steering|"; //{0.1,0.82,0.1}; parameter Real[3] rRL5_1={-2.6 - 0.18,0.17,0.09} "|Geometry|Steering|"; //{0.11,0.34,0.19}; parameter Real[3] rUL5_2=Utilities.Functions.EWM({1,-1,1}, rUL5_1) "|Geometry|Steering|"; parameter Real[3] rRL5_2=Utilities.Functions.EWM({1,-1,1}, rRL5_1) "|Geometry|Steering|"; parameter Real ratioWheelToRack=0.03 "|Geometry|Steering| rotatational to translational ratio [m/rad]"; //twindamper torsion anti roll parameter Real[3] rCP_1={-2.6 + 0.04,0.17,0.15} "|Geometry|Twin damper|"; //{0.1,0.3,0.2}; parameter Real[3] rCS_1={-2.6 + 0.33,0.11,0.15} "|Geometry|Twin damper|"; //{0.41,0.1,0.2}; parameter Real[3] rPS_1={-2.6 + 0.045,0.05,0.185} "|Geometry|Twin damper|"; //{0.1,0.1,0.21}; parameter Real[3] rPL6_1={-2.6 - 0.045,0.17,0.15} "|Geometry|Twin damper|"; //{0,0.3,0.22}; parameter Real[3] rUL6_1={-2.6 + 0,0.67,-0.1} "|Geometry|Twin damper|"; //{0,0.8,-0.1}; parameter Real[3] rPL7_1={-2.6 + 0,0.13,0.125} "|Geometry|Twin damper|"; //{0.1,0.2,0.2}; parameter Real[3] rAL7_1={-2.6 + 0.25,0.17,0.13} "|Geometry|Twin damper|"; //{.35,0.2,0.215}; parameter Real[3] rCA_1={-2.6 + 0.25,0.17,0.05} "|Geometry|Twin damper|"; //{.5,.2,0}; parameter Real[3] nP_1=cross((rPL6_1 - rUL6_1), (rPL7_1 - rAL7_1)) "|Geometry|Twin damper|"; parameter Real q0S_1=0.04 "|Geometry|Twin damper|"; parameter Real[3] rCP_2=Utilities.Functions.EWM({1,-1,1}, rCP_1) "|Geometry|Twin damper|"; parameter Real[3] rCS_2=Utilities.Functions.EWM({1,-1,1}, rCS_1) "|Geometry|Twin damper|"; parameter Real[3] rPS_2=Utilities.Functions.EWM({1,-1,1}, rPS_1) "|Geometry|Twin damper|"; parameter Real[3] rPL6_2=Utilities.Functions.EWM({1,-1,1}, rPL6_1) "|Geometry|Twin damper|"; parameter Real[3] rUL6_2=Utilities.Functions.EWM({1,-1,1}, rUL6_1) "|Geometry|Twin damper|"; parameter Real[3] rPL7_2=Utilities.Functions.EWM({1,-1,1}, rPL7_1) "|Geometry|Twin damper|"; parameter Real[3] rAL7_2=Utilities.Functions.EWM({1,-1,1}, rAL7_1) "|Geometry|Twin damper|"; parameter Real[3] rCA_2=Utilities.Functions.EWM({1,-1,1}, rCA_1) "|Geometry|Twin damper|"; parameter Real[3] nP_2=Utilities.Functions.EWM({1,-1,1}, nP_1) "|Geometry|Twin damper|"; parameter Real q0S_2=q0S_1 "|Geometry|Twin damper|"; parameter Utilities.Forces.Utilities.ForceTable1D data_S_1(fc=[-1, -180000; -0.5, -50000; 0, 0; 0.5, 50000; 1, 180000], fd=[-1, -18000; -0.5, -8000; 0, 0; 0.5, 10000; 1, 25000]) "|Forces|Twin damper|"; parameter Utilities.Forces.Utilities.ForceTable1D data_S_2(fc=[-1, -180000; -0.5, -50000; 0, 0; 0.5, 50000; 1, 180000], fd=[-1, -18000; -0.5, -8000; 0, 0; 0.5, 10000; 1, 25000]) "|Forces|Twin damper|"; parameter Utilities.Forces.Utilities.ForceTable1D data_A(fc=[-1, -4200; 1, 4200], fd =[-1, -42; 0, 0; 1, 42]) "|Forces|Twin damper|"; end DoubleWishBoneData3;
Name | Default | Description |
---|---|---|
scaleFactor[3] | {1,1,1} | Use this to rescale the geometry, does not affec inertia properties and force elements |
rUW_1[3] | {-2.55 + 0.000,0.733,0.030} | |
rUW_2[3] | Utilities.Functions.EWM({1,-1,1}, rUW_1) |
record FixedAxleData "Record with data for trailing arm suspensions" // GEOMETRIC SETTINGS parameter Real[3] scaleFactor={1,1,1} "|Geometry|Scaling|Use this to rescale the geometry, does not affec inertia properties and force elements"; //BEAM AXLE parameter Real[3] rUW_1={-2.55 + 0.000,0.733,0.030} "|Geometry|Beam axle|"; parameter Real[3] rUW_2=Utilities.Functions.EWM({1,-1,1}, rUW_1) "|Geometry|Beam axle|"; end FixedAxleData;
Name | Default | Description |
---|---|---|
scaleFactor[3] | {1,1,1} | Use this to rescale the geometry, does not affec inertia properties and force elements |
rCL1_1[3] | {-2.6430,0.231,-0.022} | link 1 to chassis/body [m] |
rCL2_1[3] | {-2.5039,0.4150,0.174} | link 2 to chassis/body [m] |
rCL3_1[3] | {-2.4617,0.3750,0.0637} | link 3 to chassis/body [m] |
rCL4_1[3] | {-2.6617,0.2950,0.1637} | link 4 to chassis/body [m] |
rCL5_1[3] | {-2.1617,0.4750,-0.0637} | link 5 to chassis/body [m] |
rUL1_1[3] | {-2.6170,0.6672,-0.05327} | link 1 to upright [m] |
rUL2_1[3] | {-2.5178,0.6678,0.1607} | link 2 to upright [m] |
rUL3_1[3] | {-2.4270,0.612,0.050} | link 3 to upright [m] |
rUL4_1[3] | {-2.6270,0.612,0.150} | link 4 to upright [m] |
rUL5_1[3] | {-2.4270,0.612,-0.010} | link 5 to upright [m] |
rUW_1[3] | {-2.557,0.7373,0.0290} | Wheel centre [m] |
rCL1_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL1_1) | link 1 to chassis/body [m] |
rCL2_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL2_1) | link 2 to chassis/body [m] |
rCL3_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL3_1) | link 3 to chassis/body [m] |
rCL4_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL4_1) | link 4 to chassis/body [m] |
rCL5_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL5_1) | link 5 to chassis/body [m] |
rUL1_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL1_1) | link 1 to upright [m] |
rUL2_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL2_1) | link 2 to upright [m] |
rUL3_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL3_1) | link 3 to upright [m] |
rUL4_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL4_1) | link 4 to upright [m] |
rUL5_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL5_1) | link 5 to upright [m] |
rUW_2[3] | Utilities.Functions.EWM({1,-1,1}, rUW_1) | Wheel centre [m] |
rCS_1[3] | {-2.55 - 0.0621,0.518,0.450} | Strut to chassis/body [m] |
rUS_1[3] | {-2.55 - 0.063305,0.581,-0.046} | Strut ot upright [m] |
q0S_1 | 0.116 | Additional length for unloaded strut [m] |
rCS_2[3] | Utilities.Functions.EWM({1,-1,1}, rCS_1) | Strut to chassis/body [m] |
rUS_2[3] | Utilities.Functions.EWM({1,-1,1}, rUS_1) | Strut ot upright [m] |
q0S_2 | q0S_1 | Additional length for unloaded strut [m] |
rUL6_1[3] | {-2.55 - 0.03595,0.4590,0.0021} | Anti roll bar link to upright [m] |
rAL6_1[3] | {-2.55 - 0.040,0.4951,0.07755} | Anti roll bar link to anti roll bar [m] |
rCA_1[3] | {-2.55 - 0.2510,0.4653,0.0630} | Anti roll bar to chassis/body [m] |
rUL6_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL6_1) | Anti roll bar link to upright [m] |
rAL6_2[3] | Utilities.Functions.EWM({1,-1,1}, rAL6_1) | Anti roll bar link to anti roll bar [m] |
rCA_2[3] | Utilities.Functions.EWM({1,-1,1}, rCA_1) | Anti roll bar to chassis/body [m] |
rCMU_1[3] | {0.118,0.028,0.0776} | [m] |
mU_1 | 11.0 | [kg] |
i11U_1 | 0.0929 | [kg.m2] |
i22U_1 | 0.287 | [kg.m2] |
i33U_1 | 0.293 | [kg.m2] |
i21U_1 | -0.03 | [kg.m2] |
i31U_1 | 0.12 | [kg.m2] |
i32U_1 | 0.01 | [kg.m2] |
rCMU_2[3] | Utilities.Functions.EWM({1,-1,1}, rCMU_1) | [m] |
mU_2 | mU_1 | [kg] |
i11U_2 | i11U_1 | [kg.m2] |
i22U_2 | i22U_1 | [kg.m2] |
i33U_2 | i33U_1 | [kg.m2] |
i21U_2 | i21U_1 | [kg.m2] |
i31U_2 | i31U_1 | [kg.m2] |
i32U_2 | i32U_1 | [kg.m2] |
data_A | Anti Roll data | |
data_S_2 | Left strut data | |
data_S_1 | Right strut data |
record FiveLinkData "Data record for FiveLinkSuspension" // GEOMETRIC SETTINGS parameter Real[3] scaleFactor={1,1,1} "|Geometry|Scaling|Use this to rescale the geometry, does not affec inertia properties and force elements"; //fivelink parameter SI.Position[3] rCL1_1={-2.6430,0.231,-0.022} "|Geometry|Left fivelink|link 1 to chassis/body"; parameter SI.Position[3] rCL2_1={-2.5039,0.4150,0.174} "|Geometry|Left fivelink|link 2 to chassis/body"; parameter SI.Position[3] rCL3_1={-2.4617,0.3750,0.0637} "|Geometry|Left fivelink|link 3 to chassis/body"; parameter SI.Position[3] rCL4_1={-2.6617,0.2950,0.1637} "|Geometry|Left fivelink|link 4 to chassis/body"; parameter SI.Position[3] rCL5_1={-2.1617,0.4750,-0.0637} "|Geometry|Left fivelink|link 5 to chassis/body"; parameter SI.Position[3] rUL1_1={-2.6170,0.6672,-0.05327} "|Geometry|Left fivelink|link 1 to upright"; parameter SI.Position[3] rUL2_1={-2.5178,0.6678,0.1607} "|Geometry|Left fivelink|link 2 to upright"; parameter SI.Position[3] rUL3_1={-2.4270,0.612,0.050} "|Geometry|Left fivelink|link 3 to upright"; parameter SI.Position[3] rUL4_1={-2.6270,0.612,0.150} "|Geometry|Left fivelink|link 4 to upright"; parameter SI.Position[3] rUL5_1={-2.4270,0.612,-0.010} "|Geometry|Left fivelink|link 5 to upright"; parameter SI.Position[3] rUW_1={-2.557,0.7373,0.0290} "|Geometry|Left fivelink|Wheel centre"; parameter SI.Position[3] rCL1_2=Utilities.Functions.EWM({1,-1,1}, rCL1_1) "|Geometry|Right fivelink|link 1 to chassis/body"; parameter SI.Position[3] rCL2_2=Utilities.Functions.EWM({1,-1,1}, rCL2_1) "|Geometry|Right fivelink|link 2 to chassis/body"; parameter SI.Position[3] rCL3_2=Utilities.Functions.EWM({1,-1,1}, rCL3_1) "|Geometry|Right fivelink|link 3 to chassis/body"; parameter SI.Position[3] rCL4_2=Utilities.Functions.EWM({1,-1,1}, rCL4_1) "|Geometry|Right fivelink|link 4 to chassis/body"; parameter SI.Position[3] rCL5_2=Utilities.Functions.EWM({1,-1,1}, rCL5_1) "|Geometry|Right fivelink|link 5 to chassis/body"; parameter SI.Position[3] rUL1_2=Utilities.Functions.EWM({1,-1,1}, rUL1_1) "|Geometry|Right fivelink|link 1 to upright"; parameter SI.Position[3] rUL2_2=Utilities.Functions.EWM({1,-1,1}, rUL2_1) "|Geometry|Right fivelink|link 2 to upright"; parameter SI.Position[3] rUL3_2=Utilities.Functions.EWM({1,-1,1}, rUL3_1) "|Geometry|Right fivelink|link 3 to upright"; parameter SI.Position[3] rUL4_2=Utilities.Functions.EWM({1,-1,1}, rUL4_1) "|Geometry|Right fivelink|link 4 to upright"; parameter SI.Position[3] rUL5_2=Utilities.Functions.EWM({1,-1,1}, rUL5_1) "|Geometry|Right fivelink|link 5 to upright"; parameter SI.Position[3] rUW_2=Utilities.Functions.EWM({1,-1,1}, rUW_1) "|Geometry|Right fivelink|Wheel centre"; // strut parameter SI.Position[3] rCS_1={-2.55 - 0.0621,0.518,0.450} "|Geometry|Left strut|Strut to chassis/body"; parameter SI.Position[3] rUS_1={-2.55 - 0.063305,0.581,-0.046} "|Geometry|Left strut|Strut ot upright"; parameter SI.Position q0S_1=0.116 "|Geometry|Left strut|Additional length for unloaded strut"; parameter SI.Position[3] rCS_2=Utilities.Functions.EWM({1,-1,1}, rCS_1) "|Geometry|Right strut|Strut to chassis/body"; parameter SI.Position[3] rUS_2=Utilities.Functions.EWM({1,-1,1}, rUS_1) "|Geometry|Right strut|Strut ot upright"; parameter SI.Position q0S_2=q0S_1 "|Geometry|Right strut|Additional length for unloaded strut"; //torsion anti roll parameter SI.Position[3] rUL6_1={-2.55 - 0.03595,0.4590,0.0021} "|Geometry|Anti roll, left|Anti roll bar link to upright"; parameter SI.Position[3] rAL6_1={-2.55 - 0.040,0.4951,0.07755} "|Geometry|Anti roll, left|Anti roll bar link to anti roll bar"; parameter SI.Position[3] rCA_1={-2.55 - 0.2510,0.4653,0.0630} "|Geometry|Anti roll, left|Anti roll bar to chassis/body"; parameter SI.Position[3] rUL6_2=Utilities.Functions.EWM({1,-1,1}, rUL6_1) "|Geometry|Anti roll, right|Anti roll bar link to upright"; parameter SI.Position[3] rAL6_2=Utilities.Functions.EWM({1,-1,1}, rAL6_1) "|Geometry|Anti roll, right|Anti roll bar link to anti roll bar"; parameter SI.Position[3] rCA_2=Utilities.Functions.EWM({1,-1,1}, rCA_1) "|Geometry|Anti roll, right|Anti roll bar to chassis/body"; parameter SI.Position[3] rCMU_1={0.118,0.028,0.0776} "|Mass and Inertia|left upright|"; parameter SI.Mass mU_1=11.0 "|Mass and Inertia|left upright|"; parameter SI.Inertia i11U_1=0.0929 "|Mass and Inertia|left upright|"; parameter SI.Inertia i22U_1=0.287 "|Mass and Inertia|left upright|"; parameter SI.Inertia i33U_1=0.293 "|Mass and Inertia|left upright|"; parameter SI.Inertia i21U_1=-0.03 "|Mass and Inertia|left upright|"; parameter SI.Inertia i31U_1=0.12 "|Mass and Inertia|left upright|"; parameter SI.Inertia i32U_1=0.01 "|Mass and Inertia|left upright|"; parameter SI.Position[3] rCMU_2=Utilities.Functions.EWM({1,-1,1}, rCMU_1) "|Mass and Inertia|right upright|"; parameter SI.Mass mU_2=mU_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i11U_2=i11U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i22U_2=i22U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i33U_2=i33U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i21U_2=i21U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i31U_2=i31U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i32U_2=i32U_1 "|Mass and Inertia|right upright|"; parameter Utilities.Forces.Utilities.ForceTable1D data_A(fd=[0, 0], fc=[-1, -5432; 1, 5432]) "|Forces||Anti Roll data"; parameter Utilities.Forces.Utilities.ForceTable1D data_S_2(fc=data_S_1.fc, fd= data_S_1.fd) "|Forces||Left strut data"; parameter Utilities.Forces.Utilities.ForceTable1D data_S_1(fc=[-1, -24000; 1, 24000], fd=[-1.4950, -719; -0.996, -531; -0.518, -413; -0.389, -376; -0.260, -327; -0.130, -166; -0.052, -82; 0, 0; 0.052, 154; 0.130, 419; 0.260, 1122; 0.389, 1336; 0.518, 1466; 0.996, 1891; 1.495, 2263]) "|Forces||Right strut data"; end FiveLinkData;
Name | Default | Description |
---|---|---|
scaleFactor[3] | {1,1,1} | Use this to rescale the geometry, does not affec inertia properties and force elements |
rCU_1[3] | {-2.085,0.600,0.010} | Trailing arm to chassis/body [m] |
nCU_1[3] | {0,1,0} | Trailing arm to chassis/body |
rUW_1[3] | {-2.55,0.733,0.030} | Wheel centre [m] |
rCU_2[3] | Utilities.Functions.EWM({1,-1,1}, rCU_1) | Trailing arm to chassis/body [m] |
nCU_2[3] | Utilities.Functions.EWM({1,-1,1}, nCU_1) | Trailing arm to chassis/body |
rUW_2[3] | Utilities.Functions.EWM({1,-1,1}, rUW_1) | Wheel centre [m] |
rCS_1[3] | {-2.55 - 0.061,0.518,0.450} | Strut to chassis/body [m] |
rUS_1[3] | {-2.55 - 0.0605,0.581,-0.046} | Strut ot trailing arm [m] |
q0S_1 | 2469/24000 | Additional length for unloaded strut [m] |
rCS_2[3] | Utilities.Functions.EWM({1,-1,1}, rCS_1) | Strut to chassis/body [m] |
rUS_2[3] | Utilities.Functions.EWM({1,-1,1}, rUS_1) | Strut ot trailing arm [m] |
q0S_2 | q0S_1 | Additional length for unloaded strut [m] |
rCMU_1[3] | {-0.418,0.028,0.0776} | [m] |
mU_1 | 11.0 | [kg] |
i11U_1 | 0.099 | [kg.m2] |
i22U_1 | 0.287 | [kg.m2] |
i33U_1 | 0.293 | [kg.m2] |
i21U_1 | 0.03 | [kg.m2] |
i31U_1 | -0.12 | [kg.m2] |
i32U_1 | 0.01 | [kg.m2] |
rCMU_2[3] | Utilities.Functions.EWM({1,-1,1}, rCMU_1) | [m] |
mU_2 | mU_1 | [kg] |
i11U_2 | i11U_1 | [kg.m2] |
i22U_2 | i22U_1 | [kg.m2] |
i33U_2 | i33U_1 | [kg.m2] |
i21U_2 | i21U_1 | [kg.m2] |
i31U_2 | i31U_1 | [kg.m2] |
i32U_2 | i32U_1 | [kg.m2] |
data_A | Anti Roll data | |
data_S_2 | Strut data | |
data_S_1 | Strut data |
record SimpleTwistBeamData "Data record for Simpletrailing arm4Suspension" // GEOMETRIC SETTINGS parameter Real[3] scaleFactor={1,1,1} "|Geometry|Scaling|Use this to rescale the geometry, does not affec inertia properties and force elements"; //trailing arm4 parameter SI.Position[3] rCU_1={-2.085,0.600,0.010} "|Geometry|Left trailing arm|Trailing arm to chassis/body"; parameter Real[3] nCU_1={0,1,0} "|Geometry|Left trailing arm|Trailing arm to chassis/body"; parameter SI.Position[3] rUW_1={-2.55,0.733,0.030} "|Geometry|Left trailing arm|Wheel centre"; parameter SI.Position[3] rCU_2=Utilities.Functions.EWM({1,-1,1}, rCU_1) "|Geometry|Right trailing arm|Trailing arm to chassis/body"; parameter Real[3] nCU_2=Utilities.Functions.EWM({1,-1,1}, nCU_1) "|Geometry|Right trailing arm|Trailing arm to chassis/body"; parameter SI.Position[3] rUW_2=Utilities.Functions.EWM({1,-1,1}, rUW_1) "|Geometry|Right trailing arm|Wheel centre"; // strut parameter SI.Position[3] rCS_1={-2.55 - 0.061,0.518,0.450} "|Geometry|Left strut|Strut to chassis/body"; parameter SI.Position[3] rUS_1={-2.55 - 0.0605,0.581,-0.046} "|Geometry|Left strut|Strut ot trailing arm"; parameter SI.Position q0S_1=2469/24000 "|Geometry|Left strut|Additional length for unloaded strut"; parameter SI.Position[3] rCS_2=Utilities.Functions.EWM({1,-1,1}, rCS_1) "|Geometry|Right strut|Strut to chassis/body"; parameter SI.Position[3] rUS_2=Utilities.Functions.EWM({1,-1,1}, rUS_1) "|Geometry|Right strut|Strut ot trailing arm"; parameter SI.Position q0S_2=q0S_1 "|Geometry|Right strut|Additional length for unloaded strut"; //torsion anti roll parameter SI.Position[3] rCMU_1={-0.418,0.028,0.0776} "|Mass and Inertia|left upright|"; parameter SI.Mass mU_1=11.0 "|Mass and Inertia|left upright|"; parameter SI.Inertia i11U_1=0.099 "|Mass and Inertia|left upright|"; parameter SI.Inertia i22U_1=0.287 "|Mass and Inertia|left upright|"; parameter SI.Inertia i33U_1=0.293 "|Mass and Inertia|left upright|"; parameter SI.Inertia i21U_1=0.03 "|Mass and Inertia|left upright|"; parameter SI.Inertia i31U_1=-0.12 "|Mass and Inertia|left upright|"; parameter SI.Inertia i32U_1=0.01 "|Mass and Inertia|left upright|"; parameter SI.Position[3] rCMU_2=Utilities.Functions.EWM({1,-1,1}, rCMU_1) "|Mass and Inertia|right upright|"; parameter SI.Mass mU_2=mU_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i11U_2=i11U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i22U_2=i22U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i33U_2=i33U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i21U_2=i21U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i31U_2=i31U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i32U_2=i32U_1 "|Mass and Inertia|right upright|"; parameter Utilities.Forces.Utilities.ForceTable1D data_A(fd=[0, 0], fc=[-1, -25432; 1, 25432]) "|Forces|Left multilink|Anti Roll data"; parameter Utilities.Forces.Utilities.ForceTable1D data_S_2(fc=data_S_1.fc, fd= data_S_1.fd) "|Forces|Left multilink|Strut data"; parameter Utilities.Forces.Utilities.ForceTable1D data_S_1(fc=[-1, -24000; 1, 24000], fd=[-1.4950, -719; -0.996, -531; -0.518, -413; -0.389, -376; -0.260, -327; -0.130, -166; -0.052, -82; 0, 0; 0.052, 154; 0.130, 419; 0.260, 1122; 0.389, 1336; 0.518, 1466; 0.996, 1891; 1.495, 2263]) "|Forces|Left multilink|Strut data"; end SimpleTwistBeamData;
Name | Default | Description |
---|---|---|
scaleFactor[3] | {1,1,1} | Use this to rescale the geometry, does not affec inertia properties and force elements |
rUW_1[3] | {0,0.88,0.002} | [m] |
rCU_1[3] | {0,0.78,0.002} | [m] |
rUW_2[3] | Utilities.Functions.EWM({1,-1,1}, rUW_1) | [m] |
rCU_2[3] | Utilities.Functions.EWM({1,-1,1}, rCU_1) | [m] |
ratio | 0.03/0.16 | |
q0S_1 | 0.1758 | [m] |
q0S_2 | q0S_1 | [m] |
wheelbase | 2.55 | |
trackwidth | rUW_1[2] - rUW_2[2] | |
rCMU_1[3] | {0.118,0.028,0.0776} | [m] |
mU_1 | 11.0 | [kg] |
i11U_1 | 0.299 | [kg.m2] |
i22U_1 | 0.287 | [kg.m2] |
i33U_1 | 0.093 | [kg.m2] |
i21U_1 | 0.03 | [kg.m2] |
i31U_1 | -0.12 | [kg.m2] |
i32U_1 | 0.01 | [kg.m2] |
rCMU_2[3] | Utilities.Functions.EWM({1,-1,1}, rCMU_1) | [m] |
mU_2 | mU_1 | [kg] |
i11U_2 | i11U_1 | [kg.m2] |
i22U_2 | i22U_1 | [kg.m2] |
i33U_2 | i33U_1 | [kg.m2] |
i21U_2 | i21U_1 | [kg.m2] |
i31U_2 | i31U_1 | [kg.m2] |
i32U_2 | i32U_1 | [kg.m2] |
data_S_1 | Strut data | |
data_S_2 | Strut data |
record SimpleData // GEOMETRIC SETTINGS parameter Real[3] scaleFactor={1,1,1} "|Geometry|Scaling|Use this to rescale the geometry, does not affec inertia properties and force elements"; parameter SI.Position[3] rUW_1={0,0.88,0.002} "|Geometry||"; parameter SI.Position[3] rCU_1={0,0.78,0.002} "|Geometry||"; parameter SI.Position[3] rUW_2=Utilities.Functions.EWM({1,-1,1}, rUW_1) "|Geometry||"; parameter SI.Position[3] rCU_2=Utilities.Functions.EWM({1,-1,1}, rCU_1) "|Geometry||"; parameter Real ratio=0.03/0.16; parameter SI.Distance q0S_1=0.1758 "|Geometry||"; parameter SI.Distance q0S_2=q0S_1 "|Geometry||"; //steering parameter Real wheelbase=2.55; parameter Real trackwidth=rUW_1[2] - rUW_2[2]; parameter SI.Position[3] rCMU_1={0.118,0.028,0.0776} "|Mass and Inertia|left upright|"; parameter SI.Mass mU_1=11.0 "|Mass and Inertia|left upright|"; parameter SI.Inertia i11U_1=0.299 "|Mass and Inertia|left upright|"; parameter SI.Inertia i22U_1=0.287 "|Mass and Inertia|left upright|"; parameter SI.Inertia i33U_1=0.093 "|Mass and Inertia|left upright|"; parameter SI.Inertia i21U_1=0.03 "|Mass and Inertia|left upright|"; parameter SI.Inertia i31U_1=-0.12 "|Mass and Inertia|left upright|"; parameter SI.Inertia i32U_1=0.01 "|Mass and Inertia|left upright|"; parameter SI.Position[3] rCMU_2=Utilities.Functions.EWM({1,-1,1}, rCMU_1) "|Mass and Inertia|right upright|"; parameter SI.Mass mU_2=mU_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i11U_2=i11U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i22U_2=i22U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i33U_2=i33U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i21U_2=i21U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i31U_2=i31U_1 "|Mass and Inertia|right upright|"; parameter SI.Inertia i32U_2=i32U_1 "|Mass and Inertia|right upright|"; Table data_Link_1; Table data_Link_2(bounce2steer=data_Link_1.bounce2steer, bounce2camber= data_Link_1.bounce2camber); parameter Utilities.Forces.Utilities.ForceTable1D data_S_1(fd=[-1.4950, -719; -0.996, -531; -0.518, -413; -0.389, -376; -0.260, -327; -0.130, -166; -0.052, -82; 0, 0; 0.052, 154; 0.130, 419; 0.260, 1122; 0.389, 1336; 0.518, 1466; 0.996, 1891; 1.495, 2263], fc=[-1, -20000; 1, 20000]) "|Forces||Strut data"; parameter Utilities.Forces.Utilities.ForceTable1D data_S_2(fc=data_S_1.fc, fd= data_S_1.fd) "|Forces||Strut data"; end SimpleData;
Name | Default | Description |
---|---|---|
rcmB[3] | {-2.55*0.396,0,2.55*0.23 - 0.14} | Vector from frame_a to center of mass, resolved in frame_a [m] |
mB | 1200 | Mass of body [kg] |
i11B | 730 | (1,1) element of inertia tensor [kg.m2] |
i22B | 1350 | (2,2) element of inertia tensor [kg.m2] |
i33B | 1820 | (3,3) element of inertia tensor [kg.m2] |
i21B | 0 | (2,1) element of inertia tensor [kg.m2] |
i31B | 0 | (3,1) element of inertia tensor [kg.m2] |
i32B | 0 | (3,2) element of inertia tensor [kg.m2] |
shape | "sphere" | Name of shape |
r0[3] | {-2.55*0.396,0,2.55*0.23 - 0.14} | Vector from frame_a to shape origin. resolved in frame_a [m] |
lengthDirection[3] | {1,0,0} | Vector in length direction, resolved in frame_a [m] |
widthDirection[3] | {0,1,0} | Vector in width direction, resolved in frame_a [m] |
length | 0.1 | length of shape [m] |
width | 0.1 | width of shape [m] |
height | 0.1 | height of shape [m] |
material[4] | {1,0,0,0.5} | Color and specular coefficient |
extra | 0.0 | Additional parameter for cone and pipe |
record BodyData "Contains Body and Body shape data" parameter SI.Position rcmB[3]={-2.55*0.396,0,2.55*0.23 - 0.14} "|Mass and Inertia|Vector from frame_a to center of mass, resolved in frame_a"; parameter SI.Mass mB=1200 "|Mass and Inertia|Mass of body"; parameter SI.Inertia i11B=730 "|Mass and Inertia|(1,1) element of inertia tensor"; parameter SI.Inertia i22B=1350 "|Mass and Inertia|(2,2) element of inertia tensor"; parameter SI.Inertia i33B=1820 "|Mass and Inertia|(3,3) element of inertia tensor"; parameter SI.Inertia i21B=0 "|Mass and Inertia|(2,1) element of inertia tensor"; parameter SI.Inertia i31B=0 "|Mass and Inertia|(3,1) element of inertia tensor"; parameter SI.Inertia i32B=0 "|Mass and Inertia|(3,2) element of inertia tensor"; parameter String shape="sphere" "|Animation|Name of shape"; parameter SI.Position r0[3]={-2.55*0.396,0,2.55*0.23 - 0.14} "|Animation|Vector from frame_a to shape origin. resolved in frame_a"; parameter SI.Position lengthDirection[3]={1,0,0} "|Animation|Vector in length direction, resolved in frame_a"; parameter SI.Position widthDirection[3]={0,1,0} "|Animation|Vector in width direction, resolved in frame_a"; parameter SI.Length length=0.1 "|Animation|length of shape"; parameter SI.Length width=0.1 "|Animation|width of shape"; parameter SI.Length height=0.1 "|Animation|height of shape"; parameter Real material[4]={1,0,0,0.5} "|Animation|Color and specular coefficient"; parameter Real extra=0.0 "|Animation|Additional parameter for cone and pipe"; end BodyData;
Name | Default | Description |
---|---|---|
rA[3] | {0,0,0} | vector from frame_A to bushing centre [m] |
rB[3] | {0,0,0} | vector from frame_B to bushing centre [m] |
nx[3] | {1,0,0} | x direction of bushing, resolved in frame_A |
ny[3] | {0,1,0} | y direction of bushing, resolved in frame_A |
r_rela0[3] | {0,0,0} | Unstretched translational spring vector [m] |
r_min[3] | {-0.05,-0.03,-0.06} | vector to bump stop from reference point in negative direction, resolved in frame_A [m] |
r_max[3] | {0.05,0.03,0.06} | vector to bump stop from reference point in positive direction, resolved in frame_A [m] |
phi_rela0[3] | {0,0,0} | Unstretched rotational spring vector [rad] |
phi_min[3] | {-0.05,-0.03,-0.06} | rotational vector to bump stop from reference point in negative direction, resolved in frame_A [rad] |
phi_max[3] | {0.05,0.03,0.06} | rotational vector to bump stop from reference point in positive direction, resolved in frame_A [rad] |
bumpFactor | 10 | scaleFactor of spring force at after bump |
Cdeg[6, 6] | [10000000, 0, 0, 0, 0, 0; 0, 10000000, 0, 0, 0, 0; 0, 0, 10000000, 0, 0, 0; 0, 0, 0, 100, 0, 0; 0, 0, 0, 0, 100, 0; 0, 0, 0, 0, 0, 100] | Stiffness matrix [N/mm and Nmm/degree] |
Ddeg[6, 6] | [100000, 0, 0, 0, 0, 0; 0, 1000000, 0, 0, 0, 0; 0, 0, 100000, 0, 0, 0; 0, 0, 0, 100, 0, 0; 0, 0, 0, 0, 100, 0; 0, 0, 0, 0, 0, 100] | Damping matrix [Ns/mm and Nmms/degree] |
pi | Modelica.Constants.pi | |
C[6, 6] | Cdeg*[1000, 0, 0, 0, 0, 0; 0, 1000, 0, 0, 0, 0; 0, 0, 1000, 0, 0, 0; 0, 0, 0, .180/pi, 0, 0; 0, 0, 0, 0, .180/pi, 0; 0, 0, 0, 0, 0, .180/pi] | Stiffness matrix [N/m and Nm/rad] |
D[6, 6] | Ddeg*[1000, 0, 0, 0, 0, 0; 0, 1000, 0, 0, 0, 0; 0, 0, 1000, 0, 0, 0; 0, 0, 0, .180/pi, 0, 0; 0, 0, 0, 0, .180/pi, 0; 0, 0, 0, 0, 0, .180/pi] | Stiffness matrix [Ns/m and Nms/rad] |
linear | true | turn on/off linearisation of cosine and sine in rotation vector equation |
eps | 0.0000001 | Guard against division by zero |
animation | true | True, if animation shall be enabled |
width | 0.04 | width bushing [m] |
length | 0.04 | width bushing [m] |
height | 0.04 | width bushing [m] |
material[4] | {0.2,0.2,0.2,0.2} | Color and specular coefficient of spring |
record BumpBushingData parameter SI.Position[3] rA={0,0,0} "|General geometry|Position|vector from frame_A to bushing centre"; parameter SI.Position[3] rB={0,0,0} "|General geometry|Position|vector from frame_B to bushing centre"; parameter Real[3] nx={1,0,0} "|General geometry|Orientation|x direction of bushing, resolved in frame_A"; parameter Real[3] ny={0,1,0} "|General geometry|Orientation|y direction of bushing, resolved in frame_A"; parameter SI.Position[3] r_rela0={0,0,0} "|General geometry|Pretention|Unstretched translational spring vector"; parameter SI.Position[3] r_min={-0.05,-0.03,-0.06} "|Forces|Bump|vector to bump stop from reference point in negative direction, resolved in frame_A"; parameter SI.Position[3] r_max={0.05,0.03,0.06} "|Forces|Bump|vector to bump stop from reference point in positive direction, resolved in frame_A"; parameter SI.Angle[3] phi_rela0={0,0,0} "|General geometry|Pretention|Unstretched rotational spring vector"; parameter SI.Angle[3] phi_min={-0.05,-0.03,-0.06} "|Forces|Bump|rotational vector to bump stop from reference point in negative direction, resolved in frame_A"; parameter SI.Angle[3] phi_max={0.05,0.03,0.06} "|Forces|Bump|rotational vector to bump stop from reference point in positive direction, resolved in frame_A"; parameter Real bumpFactor=10 "|Forces|Bump|scaleFactor of spring force at after bump"; parameter Real[6, 6] Cdeg=[10000000, 0, 0, 0, 0, 0; 0, 10000000, 0, 0, 0, 0; 0, 0, 10000000, 0, 0, 0; 0, 0, 0, 100, 0, 0; 0, 0, 0, 0, 100, 0; 0, 0, 0, 0, 0, 100] "|Forces|Linear|Stiffness matrix [N/mm and Nmm/degree]"; parameter Real[6, 6] Ddeg=[100000, 0, 0, 0, 0, 0; 0, 1000000, 0, 0, 0, 0; 0, 0, 100000, 0, 0, 0; 0, 0, 0, 100, 0, 0; 0, 0, 0, 0, 100, 0; 0, 0, 0, 0, 0, 100] "|Forces|Linear|Damping matrix [Ns/mm and Nmms/degree]"; parameter Real pi=Modelica.Constants.pi; parameter Real C[6, 6]=Cdeg*[1000, 0, 0, 0, 0, 0; 0, 1000, 0, 0, 0, 0; 0, 0, 1000, 0, 0, 0; 0, 0, 0, .180/pi, 0, 0; 0, 0, 0, 0, .180/pi, 0; 0, 0, 0, 0, 0, .180/pi] "|Forces|Linear|Stiffness matrix [N/m and Nm/rad]"; parameter Real D[6, 6]=Ddeg*[1000, 0, 0, 0, 0, 0; 0, 1000, 0, 0, 0, 0; 0, 0, 1000, 0, 0, 0; 0, 0, 0, .180/pi, 0, 0; 0, 0, 0, 0, .180/pi, 0; 0, 0, 0, 0, 0, .180/pi] "|Forces|Linear|Stiffness matrix [Ns/m and Nms/rad]"; parameter Boolean linear=true "|Advanced||turn on/off linearisation of cosine and sine in rotation vector equation"; parameter Real eps=0.0000001 "|Advanced||Guard against division by zero"; parameter Boolean animation=true "True, if animation shall be enabled"; parameter SI.Position width=0.04 "|Animation|if animation = true| width bushing"; parameter SI.Position length=0.04 "|Animation|if animation = true| width bushing"; parameter SI.Position height=0.04 "|Animation|if animation = true| width bushing"; parameter Real material[4]={0.2,0.2,0.2,0.2} "|Animation|if animation = true| Color and specular coefficient of spring"; end BumpBushingData;
Name | Default | Description |
---|---|---|
bounce2steerDegmm[:, 2] | [-88, -0.408; -68, 0.269; -48, 0.180; -28, 0.08; -20, -0.049; -8, -0.01; 0, 0; 12, 0.01; 32, 0.02; 52, 0; 72, -0.01] | |
bounce2camberDegmm[:, 2] | [-88, 0.79; -68, 0.70; -48, 0.55; -28, 0.40; -20, 0.31; -8, 0.15; 0, 0; 12, -0.23; 32, -0.64; 52, -1.58; 72, -2.24] | |
bounce2steer[:, 2] | bounce2steerDegmm*[0.001, 0; 0, pi/180] | |
bounce2camber[:, 2] | bounce2camberDegmm*[0.001, 0; 0, pi/180] |
record Table parameter Real[:, 2] bounce2steerDegmm=[-88, -0.408; -68, 0.269; -48, 0.180; -28, 0.08; -20, -0.049; -8, -0.01; 0, 0; 12, 0.01; 32, 0.02; 52, 0; 72, -0.01]; parameter Real[:, 2] bounce2camberDegmm=[-88, 0.79; -68, 0.70; -48, 0.55; -28, 0.40; -20, 0.31; -8, 0.15; 0, 0; 12, -0.23; 32, -0.64; 52, -1.58; 72, -2.24]; parameter Real[:, 2] bounce2steer=bounce2steerDegmm*[0.001, 0; 0, pi/180]; parameter Real[:, 2] bounce2camber=bounce2camberDegmm*[0.001, 0; 0, pi/180]; constant Real pi=Modelica.Constants.pi; end Table;
Parameters for rigid body. By default the mass properties of the body are computed from the cylinder data. Optionally, the cylinder may be hollow. These data can be overrided by adding other data for mass, inertia and centre of gravity. Parameter vectors are defined with respect to frame_a in [m]. Parameters: r[3] : Position vector from the origin of frame_a to the origin of frame_b. Axis[3] : Unit vector in direction of the cylinder axis (will be normalized) Length : Length of cylinder in [m]. Radius : Radius of cylinder in [m]. InnerRadius: Inner radius of cylinder in [m]. rho : Density of material in [g/cm^3], e.g. steel: 7.7 .. 7.9 wood : 0.4 .. 0.8 Material(4): = {r, g, b, specular}. Color and specular coefficient of the box. [r,g,b] affects the color of diffuse and ambient reflected light. Specular is a coefficient defining white specular reflection. What color that is reflected also depends on the color of the light sources. Note, r g, b and specular are given in the range 0-1. Specular=1 gives a metallic appearance.
Name | Default | Description |
---|---|---|
r[3] | {0.2,0,0} | Vector from frame_a to frame_b, resolved in frame_a [m] |
radius | 0.1 | Radius of cylinder [m] |
innerRadius | 0 | Inner radius of cylinder [m] |
rho | 7.7 | Density of material [g/cm^3] |
material[4] | {1,0,0,0.5} | Color and specular coefficient |
animation | true | True if part should be animated |
shape | "cylinder" | shape |
height | radius | height of shape [m] |
width | radius | width of shape [m] |
r0[3] | {0,0,0} | Vector from frame_a to shape frame, resolved in frame_a [m] |
length | Utilities.Functions.length(r - r0) | length of shape [m] |
lengthDirection[3] | r - r0 | Vector in direction of cylinder axis, resolved in frame_a [m] |
widthDirection[3] | {0,0,1} | Vector in direction perpendiculare to cylinder axis, resolved in frame_a [m] |
extra | 1.0 | Additional parameter |
mass | true | True if mass should be considered |
rCM[3] | r0 + length/2*Utilities.Functions.normalize(lengthDirection) | Vector from frame_a to center of mass, resolved in frame_a [m] |
m | mo - mi | Mass of body [kg] [kg] |
I11 | I[1, 1] | (1,1) element of inertia tensor [kg.m2] |
I22 | I[2, 2] | (2,2) element of inertia tensor [kg.m2] |
I33 | I[3, 3] | (3,3) element of inertia tensor [kg.m2] |
I21 | I[2, 1] | (2,1) element of inertia tensor [kg.m2] |
I31 | I[3, 1] | (3,1) element of inertia tensor [kg.m2] |
I32 | I[3, 2] | (3,2) element of inertia tensor [kg.m2] |
record PartData "Contains Body and Body shape dataRigid body with cylindrical shape (also used for animation)" parameter SI.Position r[3]={0.2,0,0} "|Geometry||Vector from frame_a to frame_b, resolved in frame_a"; parameter SI.Length radius(min=0) = 0.1 "|Mass and Inertia|Default cylinder parameters|Radius of cylinder"; parameter SI.Length innerRadius( min=0, max=radius) = 0 "|Mass and Inertia|Default cylinder parameters|Inner radius of cylinder"; parameter Real rho(min=0) = 7.7 "|Mass and Inertia|Default cylinder parameters|Density of material [g/cm^3]"; parameter Real material[4]={1,0,0,0.5} "|Animation||Color and specular coefficient"; parameter Boolean animation=true "|Animation||True if part should be animated"; parameter String shape="cylinder" "|Animation||shape"; parameter SI.Length height=radius "|Animation||height of shape"; parameter SI.Length width=radius "|Animation||width of shape"; parameter SI.Position r0[3]={0,0,0} "|Animation|Vector from frame_a to shape frame, resolved in frame_a"; parameter SI.Length length=Utilities.Functions.length(r - r0) "|Animation||length of shape"; parameter SI.Position lengthDirection[3]=r - r0 "|Animation|Vector in direction of cylinder axis, resolved in frame_a"; parameter SI.Position widthDirection[3]={0,0,1} "|Animation|Vector in direction perpendiculare to cylinder axis, resolved in frame_a"; parameter Real extra=1.0 "|Animation||Additional parameter"; parameter Boolean mass=true "|Mass and Inertia||True if mass should be considered"; parameter SI.Position rCM[3]=r0 + length/2*Utilities.Functions.normalize( lengthDirection) "|Mass and Inertia|General parameters|Vector from frame_a to center of mass, resolved in frame_a"; parameter SI.Mass m=mo - mi "Mass of body [kg]"; parameter SI.Inertia I11=I[1, 1] "|Mass and Inertia|General parameters|(1,1) element of inertia tensor"; parameter SI.Inertia I22=I[2, 2] "|Mass and Inertia|General parameters|(2,2) element of inertia tensor"; parameter SI.Inertia I33=I[3, 3] "|Mass and Inertia|General parameters|(3,3) element of inertia tensor"; parameter SI.Inertia I21=I[2, 1] "|Mass and Inertia|General parameters|(2,1) element of inertia tensor"; parameter SI.Inertia I31=I[3, 1] "|Mass and Inertia|General parameters|(3,1) element of inertia tensor"; parameter SI.Inertia I32=I[3, 2] "|Mass and Inertia|General parameters|(3,2) element of inertia tensor"; protected constant Real pi=Modelica.Constants.pi; parameter SI.Mass mo=1000*rho*pi*length*radius*radius; parameter SI.Mass mi=1000*rho*pi*length*innerRadius*innerRadius; parameter SI.Inertia i22=(mo*(length*length + 3*radius*radius) - mi*(length*length + 3*innerRadius*innerRadius))/12; parameter Real Scyl[3, 3]=Utilities.Functions.from_nxy(lengthDirection, widthDirection); parameter SI.Inertia I[3, 3]=Scyl*diagonal({(mo*radius*radius - mi*innerRadius* innerRadius)/2,i22,i22})*transpose(Scyl); equation end PartData;
Name | Default | Description |
---|---|---|
scaleFactor[3] | {1,1,1} | Use this to rescale the geometry, does not affec inertia properties and force elements |
rUW_1[3] | {-2.55 + 0.000,0.733,0.030} | |
rCL1_1[3] | {-2.55 + 0.470,0.500,0.010} | |
rUL1_1[3] | {-2.55 - 0.060,0.662,-0.057} | |
rCL2_1[3] | {-2.55 + 0.433,0.670,0.167} | |
rUL2_1[3] | {-2.55 + 0.032,0.668,0.160} | |
rUW_2[3] | Utilities.Functions.EWM({1,-1,1}, rUW_1) | |
rCL1_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL1_1) | |
rUL1_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL1_1) | |
rCL2_2[3] | Utilities.Functions.EWM({1,-1,1}, rCL2_1) | |
rUL2_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL2_1) | |
rCS_1[3] | {-2.55 + 0.061,0.518,0.450} | |
rUS_1[3] | {-2.55 + 0.0605,0.581,-0.046} | |
q0S_1 | 0.068 | |
rCS_2[3] | Utilities.Functions.EWM({1,-1,1}, rCS_1) | |
rUS_2[3] | Utilities.Functions.EWM({1,-1,1}, rUS_1) | |
q0S_2 | q0S_1 | |
rUL3_1[3] | {-2.55 - 0.0395,0.490,0.002} | |
rAL3_1[3] | {-2.55 - 0.040,0.491,0.0775} | |
rCA_1[3] | {-2.55 - 0.210,0.463,0.060} | |
rUL3_2[3] | Utilities.Functions.EWM({1,-1,1}, rUL3_1) | |
rAL3_2[3] | Utilities.Functions.EWM({1,-1,1}, rAL3_1) | |
rCA_2[3] | Utilities.Functions.EWM({1,-1,1}, rCA_1) | |
data_S_1 | Strut data | |
data_S_2 | Strut data | |
data_A | Anti Roll data |
record RigidAxle4LinkData "Record with data for trailing arm suspensions" // GEOMETRIC SETTINGS parameter Real[3] scaleFactor={1,1,1} "|Geometry|Scaling|Use this to rescale the geometry, does not affec inertia properties and force elements"; //BEAM AXLE parameter Real[3] rUW_1={-2.55 + 0.000,0.733,0.030} "|Geometry|Beam axle|"; parameter Real[3] rCL1_1={-2.55 + 0.470,0.500,0.010} "|Geometry|Beam axle|"; parameter Real[3] rUL1_1={-2.55 - 0.060,0.662,-0.057} "|Geometry|Beam axle|"; parameter Real[3] rCL2_1={-2.55 + 0.433,0.670,0.167} "|Geometry|Beam axle|"; parameter Real[3] rUL2_1={-2.55 + 0.032,0.668,0.160} "|Geometry|Beam axle|"; parameter Real[3] rUW_2=Utilities.Functions.EWM({1,-1,1}, rUW_1) "|Geometry|Beam axle|"; parameter Real[3] rCL1_2=Utilities.Functions.EWM({1,-1,1}, rCL1_1) "|Geometry|Beam axle|"; parameter Real[3] rUL1_2=Utilities.Functions.EWM({1,-1,1}, rUL1_1) "|Geometry|Beam axle|"; parameter Real[3] rCL2_2=Utilities.Functions.EWM({1,-1,1}, rCL2_1) "|Geometry|Beam axle|"; parameter Real[3] rUL2_2=Utilities.Functions.EWM({1,-1,1}, rUL2_1) "|Geometry|Beam axle|"; // strut parameter Real[3] rCS_1={-2.55 + 0.061,0.518,0.450} "|Geometry|Strut|"; parameter Real[3] rUS_1={-2.55 + 0.0605,0.581,-0.046} "|Geometry|Strut|"; parameter Real q0S_1=0.068 "|Geometry|Strut|"; parameter Real[3] rCS_2=Utilities.Functions.EWM({1,-1,1}, rCS_1) "|Geometry|Strut|"; parameter Real[3] rUS_2=Utilities.Functions.EWM({1,-1,1}, rUS_1) "|Geometry|Strut|"; parameter Real q0S_2=q0S_1 "|Geometry|Strut|"; //torsion anti roll parameter Real[3] rUL3_1={-2.55 - 0.0395,0.490,0.002} "|Geometry|Anti roll|"; parameter Real[3] rAL3_1={-2.55 - 0.040,0.491,0.0775} "|Geometry|Anti roll|"; parameter Real[3] rCA_1={-2.55 - 0.210,0.463,0.060} "|Geometry|Anti roll|"; parameter Real[3] rUL3_2=Utilities.Functions.EWM({1,-1,1}, rUL3_1) "|Geometry|Anti roll|"; parameter Real[3] rAL3_2=Utilities.Functions.EWM({1,-1,1}, rAL3_1) "|Geometry|Anti roll|"; parameter Real[3] rCA_2=Utilities.Functions.EWM({1,-1,1}, rCA_1) "|Geometry|Anti roll|"; parameter Utilities.Forces.Utilities.ForceTable1D data_S_1(fc=[-1, -20000; 1, 20000], fd=[-1.4950, -719; -0.996, -531; -0.518, -413; -0.389, -376; -0.260, -327; -0.130, -166; -0.052, -82; 0, 0; 0.052, 154; 0.130, 419; 0.260, 1122; 0.385, 1336; 0.518, 1455; 0.995, 1851; 1.455, 2255]) "|Forces|Left MacPherson|Strut data"; parameter Utilities.Forces.Utilities.ForceTable1D data_S_2(fc=[-1, -20000; 1, 20000], fd=[-1.4950, -719; -0.996, -531; -0.518, -413; -0.389, -376; -0.260, -327; -0.130, -166; -0.052, -82; 0, 0; 0.052, 154; 0.130, 419; 0.260, 1122; 0.385, 1336; 0.518, 1455; 0.995, 1851; 1.455, 2255]) "|Forces|Left MacPherson|Strut data"; parameter Utilities.Forces.Utilities.ForceTable1D data_A(fd=[-1, -100; 0, 0; 1, 100], fc=[-1, -33626; 0, 0; 1, 33626]) "|Forces|Anti Roll|Anti Roll data"; end RigidAxle4LinkData;