addResponsesメソッド
このメソッドは、応答オブジェクトをモデルに追加します。この例の目的は、トー対ライド高さの曲線が目標の形状に一致する設計を見出すことです。目標の形状は、サスペンション設計者が達成すべき目標として用意されます。
ライド高さは時間の関数です。実際のトーと時間との関係が目標と一致する設計が可能であり、またその方が容易です。現在の形状と目標とする形状との差異は、RMS2応答を使用して計算できます。
さらに、実際の結果と目標とする結果をプロットするためのリクエストを追加できます。
def addResponses (self):
"""
For optimization one response is created:
The square of the area between the desired and actual toe curves
"""
# The desired TOE angle
x1=(0.00, 0.16, 0.32, 0.48, 0.64, 0.79875, 0.95875, 1.12125, 1.28, 1.44, 1.6, 1.76,
1.92, 2.08, 2.24, 2.40, 2.56, 2.72125, 2.88375, 3.035, 3.1975, 3.35875, 3.52,
3.68, 3.84, 4.00 )
y1=(0.00, -0.13, -0.26, -0.38, -0.51, -0.64, -0.77, -0.70, -0.58, -0.45, -0.32, -0.19,
-0.06, 0.06, 0.19, 0.32, 0.45, 0.58, 0.70, 0.77, 0.64, 0.51, 0.38, 0.26,
0.13, 0.00)
xy = zip(x1,y1)
# The actual TOE angle
toe = "rtod(ATAN(DX(10401010,10403030)/DY(10401010, 10403030)))"
# The RMS2 metric
self.resp = RMS2 (label = "Area Error",
targetValue = xy,
measuredValue = toe,
scale = 10,
)
# Create some Requests for Plotting
f2s = "AKISPL(TIME, 0, {})".format(self.resp.spline.id)
f3s = "(DZ(10401010)-282.57)"
Request (label="Desired Toe, Ride Height", f2=f2s, f3=f3s)
Return