You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, I was wondering if anyone could walk me through the 3D CoP formulation in CEulerSolver.cpp and CFlowOutput.cpp? I feel it should be fairly simple but I'm not quite understanding how the final X_CoP equation as a function of Z is being calculated.
So for a given system, we know that each node gives a moment contribution:
Mx = -Fy * z + Fz * y
My = Fx * z - Fz * x
Mz = -Fx * y + Fy * x
In CEulerSolver.cpp, I can see that we the obove equations are stored into 3D vectors e.g. MomentY_Force = [Fx * z, 0, -Fz * x] (and similarly for MomentX_Force and MomentZ_Force).
It also seems to store variables: CoPx = - MomentY_Force[0] == -Fx * z (the negative?) CoPz = MomentY_Force[2] == -Fz * x
As only MomentY_Force variables are stored, I guess we are essentially assuming that the CoP will lie somewhere on the XZ plane, is that correct? As we are ignoring the effects of the other moments.
Then in CFlowOutput.cpp, it seems we divide each of the CoPx and CoPz by a total force component:
CoPx_total = CoPx / Fz
CoPx_total = 0
CoPz_total = CoPz / Fx
Intuitively, this already gives us some kind of average X or Z component where the forces act without moments, so how is the following equation formed?
m = Fz / Fx
term = CoPz_total / m - CoPx_total
X_CoP = 1 / m * Z - term
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hi, I was wondering if anyone could walk me through the 3D CoP formulation in
CEulerSolver.cpp
andCFlowOutput.cpp
? I feel it should be fairly simple but I'm not quite understanding how the final X_CoP equation as a function of Z is being calculated.So for a given system, we know that each node gives a moment contribution:
Mx = -Fy * z + Fz * y
My = Fx * z - Fz * x
Mz = -Fx * y + Fy * x
In
CEulerSolver.cpp
, I can see that we the obove equations are stored into 3D vectors e.g.MomentY_Force
= [Fx * z, 0, -Fz * x] (and similarly for MomentX_Force and MomentZ_Force).It also seems to store variables:
CoPx
= - MomentY_Force[0] == -Fx * z (the negative?)CoPz
= MomentY_Force[2] == -Fz * xAs only MomentY_Force variables are stored, I guess we are essentially assuming that the CoP will lie somewhere on the XZ plane, is that correct? As we are ignoring the effects of the other moments.
Then in
CFlowOutput.cpp
, it seems we divide each of the CoPx and CoPz by a total force component:CoPx_total = CoPx / Fz
CoPx_total = 0
CoPz_total = CoPz / Fx
Intuitively, this already gives us some kind of average X or Z component where the forces act without moments, so how is the following equation formed?
m = Fz / Fx
term = CoPz_total / m - CoPx_total
X_CoP = 1 / m * Z - term
Thank you.
Beta Was this translation helpful? Give feedback.
All reactions