Post processing
Post processing
(OP)
Happy new 2022 year :)
I would like to ask if it is possible to overlay FFT plots of 2 (or more) curves (plots) within one plot. I would like to compare one result with the other and being able to see FFT overlayed over each other with the same haxis/vaxis scale would be extremely helpful.
Thank you,
Ted
I would like to ask if it is possible to overlay FFT plots of 2 (or more) curves (plots) within one plot. I would like to compare one result with the other and being able to see FFT overlayed over each other with the same haxis/vaxis scale would be extremely helpful.
Thank you,
Ted
RE: Post processing
The answer is yes it can be done.
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
My problem is that I can't choose more than one curve in FFT window. I would right click it/browse and in browser window I can choose either curve_1 or curve_2. Trying to CTRL click them didn't help either. If I try to create FFT plots one by one - FFT on curve_1 and than another FFT on curve_2 then my curve_1 fft plot is gone and replaced by curve_2 FFT plot. I just can't figure out how I can avoid dleting replacing existing fft plot with another one or how can I choose more than one curve when I'm in FFT window.
In fact I did manage to have FFT of two curves on one plot but only when I started ADAMS today and imported results file and plotconfig file.
4post test rig/zero (~) damping vs damped amg_gt4
May I ask you to give me a hint on how I can have two FFT plots overlayed without this kind of workaround (importing results and plotconfig file).
Thank you,
Ted
RE: Post processing
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
I understand that my questions sound silly but I'm very new to ADAMS. I've always been around students that were playing with it and seeing how they struggle would scare me off. Now I decided to expand my understanding of race car/dampers dynamics. Reading some papers Kowalczyk, Alex Castrounis led me to start learning ADAMScar and Aride. In a week I created chassis, suspensions and full car assembly to closely represent the car I've worked with during season and have lots of logged data. Now I started learning simulating the car on 4 post rig and even more importantly post processing the results.
Main obstacles at this point is learning to choose appropriate input and most difficult task - actually understanding the results and learning to put into practice to gain performance on track.
Input.
Kovalczyk in his SAE paper writes "First the downforce levels are determined for a given cornering scenario. Then the wheelpan input amplitude is varied until the power spectral density (PSD) of the damper displacement signals is similar to what is seen on the track." I thought that I will simply compare Motec/FFT PSD plots to Adams dal_ride_damper_data.displacement FFT PSD. I used -25/25mm sins weep from 0 to 20Hz and -10/10mm amplitude. but it turned out that numbers from Adams and Motec are very different.
APost dal_ride_damper_data.displacement FFT PSD -10/10mm displacement 0 to 20Hz
Motec/I2 FL damper displacement FFT PSD
I'm confused and not sure if I'm comparing apples to apples. There's a feeling that may be software programs calculate FFT a bit differently and Motec data is like APost * 0.1 Any suggestions on the way to properly compare logged data/Aride data and developing a way to create representative input would be extremely helpful.
Thank you,
Ted
PS: Sorry for my self learned English.
RE: Post processing
I posted my update before reading your reply, sorry. I tried doing it your way - changing _1 to _2 and it works but it deletes previous FFT plot. I looked in the preferences but didn't find anything that I could “tick off” to help with this issue.
Thank you for pointing me to think about external software for results crunching - I will look into it now.
Thank you,
Ted
RE: Post processing
I suggest you get up to speed on Fourier analysis, the best intro is https://www.modalshop.com/techlibrary/Fundamentals...
and the best deeper dive is https://www.bksv.com/media/doc/bn1445.pdf written by a Mr Randall who knows his stuff. In 30 years I have never needed anything more advanced on this for Fourier.
If Matlab is too expensive then GNU Octave works just fine if you can get it to read your data (I haven't checked that crucial fact), or you may be a Python person.
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
This links that you posted - many many thanks! Opened first link for a quick look – very concise and to the point text.
I understand that my questions regarding choosing proper input and sensible analyses of simulated data is digging into proprietary area but some times people will share a hint or two. I will post this questions in F1technical and see what comes out of it.
Thank you,
Ted
RE: Post processing
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
Is he still working with Multimatic Europe? I'd love to get one of the cars that I work with on his rig.
Still I hope to get something out of this virtual Npost rig jorney. BTW, I assume that it is possible to add 3 more "posts" to existing 4post rig to convert it to 7post rig?t
Thank you,
Ted
RE: Post processing
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
“Holding the body at a known orientation” I assume that this is not the same as applying vertical force at prescribed chassis locations as done on physical 7post rig?
“Effectively putting your 4post into wing tunnel.” – this sounds great! I didn’t get to aero forces in Acar yet(I only saw that only drag forces are active in rigid chassis model). I assume that adding vertical forces is done in template builder… Checked it out and it is not obvious how do I create lift forces in addition to already present drag forces. Even less obvious how do I assign some sort of right height table to this downforce.
If/when I learn how to do aero forces (RH sensitive in particular) then it would very interesting. May be one can optimize for optimal pitch vs heave control compromise.
Thank you,
Ted
RE: Post processing
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
That's where I was looking when I told that it is not obvious :) Because it is defined in a bit of unusual way it will require some time to figure out. But I now I have to read through those Fourier link that you posted. I will get to aero in due time.
Thank you,
Ted
RE: Post processing
How do I save in TeimOrbit format? I was using Note.
Thank you,
Ted
RE: Post processing
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
There's one other side question. In 4post full vehicle analyses there's an option to use road profile tables as input. It can be a table with Y=road height and X = distance. If I choose input per wheel option than –
I thought that I can try simulating the race track surface (individual under each wheel) generated by ChassisSim bump profile utility. In ChassisSim own simulation it produces damper displacement signals very similar to those logged on actual car. It is interesting to see what happens if I use this “bump profile” as 4 post input.
Thank you,
Ted
RE: Post processing
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
Good to know that this is a tried and proven method. I understand that it hasn’t been validated on 4 poster but did you see correlation with data logged from physical vehicle? Did virtual rig findings transfer well to real car?
What was the sampling ratio/triangle size of the road mesh that you used? By default ChassisSim’s resolution is low:
[ROAD_PROFILE]
(XY_DATA)
{station <m> elevation <length>}
0.00 2.2
0.99 0.7
1.98 1.7
2 .98 0.6
3.97 1.6
4.96 1.0
5.96 1.2
6.95 2.7
7.95 1.9
8.95 1.5
9.94 -0.1
10.94 0.7
11.94 -0.3
12.95 0.6
13.95 -0.4
14.95 0.6
15.96 -0.2
I suspect that this may be too low resolution that may lead to erroneous results. I will have to check if ChassisSim can produce a higher sampling frequency.
The most troubling so far is that Aride only offers constant velocity (4post with road profiles) where I would like to simply submit speed vs distance table – same way that I did for road profile. I’m sure that experienced ADAMS user can do it but with 2 weeks Acar newbie this is something beyond my current abilities.
What I can do now is looking at short sections where constant speed is still representative. For example I could look at critical areas on track where bumps, curbes etc are strongly effecting the car/driver and lap time.
Thank you,
Ted
RE: Post processing
Our standard ride roads are scanned at 6mm grid intervals because one day we hope to get up to 30 Hz, even so that seems excessive, 40mm should be enough.
The correlation can be very good, for instance here's an overlay of the fft of real data from the track and ADAMS, for vertical vibration
and here's the results of testing for pitch for one vehicle in many configurations (basically a swing on damper settings at each end). These are the RMS values for a filtered spectrum-all ride work is filtered for analysis.
Bear in mind getting correlation like this initially took two of us (one on the car, me on ADAMS) several weeks, at least for me.
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
Your results look very impressive.
One thing: “What you could do is fudge the x values by your true velocity /adams velocity, after all you are feeding the 4 poster a time history in reality.”
May I kindly ask you to get into more details here? I’m not sure I can fallow you.
Thank you,
Ted
RE: Post processing
So if you were acclerating from 36 to 72 in real life, you'd start with a x grid spacing of 100 and end on 50.
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
But anyway - I assume that comparing to 40mm that you suggested as enough (not even mentioning 6mm that you actually run) that huge grid spacing that ChassisSim produces is useless? I need much higher resolution and other than scanning there's no way I can get there?
Then it is back to sine input and more reading on how to select a proper input based on logged data. Anyway, I’m not even ready for proper sine wave. Everyone seem to use a sine sweep with fixed maximum input speed of 100mm/s. How is it possible to achieve it in Aride?
Thank you,
Ted
RE: Post processing
Ride has a getting started manual, with a swept sine file:///C:/Program%20Files/MSC.Software/Adams/2019_2_2/help/getting_started_carride/wwhelp/wwhimpl/js/html/wwhelp.htm#href=2_four_post_tutorial.2.4.html
It is usually possible to generate the input files by using matlab scripts or spreadsheets. In your case you might think about going to a time based input waveform. Writing rsp files is a bit of a pain, they are also known as RPC III files, I think I used to use Hyperworks to write them, a long time ago.
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
It was a case of me not paying attention well enough. In Acar there's a choice of rig pad inputs - displacement/force/acceleration and velocity where I can assign velocity amplitude. Works well.
May I ask about the way and format you export data for postprocessing. You mentioned Matlab and Hyperworks/hypergraph as primary tools that you use.
Somehow I always avoided learning matlab. Know nothing about writing codes/programming and Matlab looked like it is exactly that. I also knew that one day I will have to :) We do have hyperworks on a couple of computers here and I’m a little familiar with it and first I started this virtual 4/7post rig exploration in hypermotion. My problem with hyperworks was that if I would assembly the full car model on a rig and simulate static equilibrium on 7post (0 motion) than my “corner loads” would change from run to run without me changing anything on the car. More than that – total car weight would change 2 to 31kg! – again I wasn’t changing the model, after I noticed it I was just repeating runs to see what’s going on with corner loads. After that I thought that I can’t trust what I do with HyperMotion and moved to ADAMS :)
Still curious what was wrong with me or hypermotion.
Thank you,
Ted
RE: Post processing
When performing SVC simulation I get front and rear ride heights. I was searching hard but could not find HP, Marker or CFR it is tied to. How can I find coordinates of this front/reae RH points?
If you find time to answer in which way/format you export files to matlab it would also be great.
Thank you,
Ted
RE: Post processing
ADAMS output to Matlab. https://www.mathworks.com/matlabcentral/fileexchan... I have not tried it, and don't know what sort of files it is expecting. I export req files and use a proprietary Req2Cdf converter that turns them into a data format that our proprietary matlab toolbox uses. There used to be a publically available set of file translation scripts, I have had no luck finding them today. other options would be .res or .rsp files, the latter are actually RPC III which is a data format often used in data acquisition.
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
Can you help with this one? When performing SVC simulation I get front and rear ride heights. I was searching hard but could not find HP, Marker or CFR it is tied to. How can I find coordinates of this front/reae RH points?
Thank you,
Ted
RE: Post processing
The main use of this is to allow you to set your spring preloads up so that the vehicle rides at the correct height. Another way is to run SPMM and look at the wheel force curves but that takes forever in comparison.
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
"The ride heights are relative to the hardpoints you put in. " I didn't put them but I wish to know how to find where ADAMS did. I would preder to move it to actual points used when setting the car up on the scale pads.
"check the adm if you really want to know." - would you please explain what does it mean? What is adm?
Thank you,
Ted
RE: Post processing
!Front left ride height 1 marker ID
!Front left ride height 2 / stad tire reference marker ID
!Front right ride height 1 marker ID
!Front right ride height 2 / stad tire reference marker ID
Above is what I found for ride height but this doesn't help me identify actual marker/entity that defines coordinates.
Thank you,
Ted
RE: Post processing
If you look in your working directory there is a .adm file for each test you have run. This is full of Solver language (the guts of ADAMS) defining your model, exactly.
In it there are requests like these
REQUEST/5023
, DISPLACEMENT
, I = 1474
, J = 2457
, COMMENT = LEFT REAR SPINDLE RISE
, RESULTS_NAME = spindle_rise_lr
!
! adams_view_name='testrig.spindle_rise_rr'
REQUEST/5024
, DISPLACEMENT
, I = 1499
, J = 2458
, COMMENT = RIGHT REAR SPINDLE RISE
, RESULTS_NAME = spindle_rise_rr
!
! adams_view_name='testrig.spindle_rise_lf'
REQUEST/5109
, DISPLACEMENT
, I = 348
, J = 2455
, COMMENT = LEFT FRONT SPINDLE RISE
, RESULTS_NAME = spindle_rise_lf
!
! adams_view_name='testrig.spindle_rise_rf'
REQUEST/5110
, DISPLACEMENT
, I = 365
, J = 2456
, COMMENT = RIGHT FRONT SPINDLE RISE
, RESULTS_NAME = spindle_rise_rf
The i and j numbers are markers which are attached to parts
MARKER/348
, PART = 25
, REULER = 180D, 90D, 0D
is attached to
! adams_view_name='GL11a_V457_a10_fst.gel_hub'
PART/25
, QG = 1585, -810, 531
, MASS = 0.01
, CM = 334
, IM = 335
, IP = 1, 1, 1
The hub bearing, which located at the wheel centre hardpoint.
The j marker is
! adams_view_name='mal_wc_marker_on_body_front'
MARKER/2455
, PART = 234
, QP = 1585, -810, 531
attached to the body part
! adams_view_name='GL11a_V457_btt.ges_body'
PART/234
, MASS = ...
, CM = 2393
, IM = 2394
, IP = ...
at the same location.
So the request is measuring the displacement of the marker( in x y z) on the wheel relative to a marker which starts at the same location but is fixed to the body.
At the end of the adm there is often a table of all the hardpoints, which are read in from the hardpoint table in your sub assemblies in Car.
wheel_center left/right 1585.0 -810.0 531.0
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
Thanks a lot for your time Greg.
Here’s what I found in my adm (request numbers are obviously different than yours):
REQUEST/650
, DISPLACEMENT
, I = 804
, J = 1214
, COMMENT = LEFT FRONT SPINDLE RISE
, RESULTS_NAME = spindle_rise_lf
!
! adams_view_name='testrig.spindle_rise_rf'
REQUEST/651
, DISPLACEMENT
, I = 830
, J = 1215
, COMMENT = RIGHT FRONT SPINDLE RISE
, RESULTS_NAME = spindle_rise_rf
!
! adams_view_name='testrig.spindle_rise_lr'
REQUEST/652
, DISPLACEMENT
, I = 445
, J = 1216
, COMMENT = LEFT REAR SPINDLE RISE
, RESULTS_NAME = spindle_rise_lr
!
! adams_view_name='testrig.spindle_rise_rr'
REQUEST/653
, DISPLACEMENT
, I = 476
, J = 1217
, COMMENT = RIGHT REAR SPINDLE RISE
, RESULTS_NAME = spindle_rise_rr
I’ll trace request/ 650
I marker
MARKER/804
, PART = 95
, REULER = 180D, 90.5D, 0D
!
! adams_view_name='revref_1'
Attached to
1.gel_upright'
PART/95
, QG = 0, -824.17, 317.68
, MASS = 1.397298275
, CM = 785
, IM = 790
, IP
J marker
adams_view_name='mal_wc_marker_on_body_front'
MARKER/1214
, PART = 134
, QP = 0, -824.17, 317.68
Attached to
adams_view_name='GT_4_Body_1.ges_chassis'
PART/134
, MASS = 850
, CM = 1074
, IM = 1101
, IP = 2.204453E+08, 1.067216E+09, 1.181078E+09
But I think that this is not request used in SVC ride height measurements:
Wheel hop natural freq. Hz 18.67 18.67 18.67
Wheel tramp natural freq. Hz N/A
Front ride frequency Hz 2.35
Front ride height mm 189.48 189.11 189.85
Adams Model Title:
<private>/assemblies.tbl/GT4_3.asy
REAR SUSPENSION CHARACTERISTICS
Suspension Description: <private>/subsystems.tbl/GT4_Rear_v2.sub
_________________________________________________________________________
(PARAMETER) (UNITS) (AVERAGE) (LEFT) (RIGHT)
_________________________________________________________________________
Unsprung mass (total) kg 50.00
Unsprung c.g. height mm 328.25
I think that this “Front ride height” is taken from this request:
adams_view_name='testrig.corner_heights'
REQUEST/484
, COMMENT = Vehicle corner heights
, CUNITS = "no_units", "length", "length", "no_units", "no_units", "length"
, "length", "no_units"
, CNAMES = "", "FL", "FR", "", "", "RL", "RR", ""
, RESULTS_NAME = corner_heights
, F2 = DZ(763, 1224, 1224)\
, F3 = DZ(782, 1224, 1224)\
, F6 = DZ(409, 1224, 1224)\
, F7 = DZ(423, 1224, 1224)
So now I have to trace
Markers 1224 and 763, 782, 409, 423
adams_view_name='testrig_std_tire_ref'
MARKER/1224
, PART = 1
, QP = 0, 0, -1.787586919
Attached to
PART/1
, GROUND
And corresponding marker
adams_view_name='coomarker_1'
MARKER/763
, PART = 93
, QP = 41.74107526, -65.40662309, 177.1452993
, REULER = 358.7416187D, 87.53720377D, 187.5375318D
Attached to
adams_view_name='AMG_GT4_Front_v1_1.gel_lower_control_arm'
PART/93
, QG = 37.26666667, -531.6066667, 126.9633333
, REULER = 352.4624682D, 87.53720377D, 181.2583813D
, MASS = 1.611395494
, CM = 747
, IM = 752
, IP = 15081.03519, 35508.4425, 20678.60294
Now that was unexpected….
Rear:
adams_view_name='coomarker_1'
MARKER/409
, PART = 58
, QP = -11.24411028, -74.77398238, 120.8819237
, REULER = 5.153076432D, 86.53837824D, 167.9936689D
Attached to
adams_view_name='GT4_Rear_v2.gel_lower_control_arm'
PART/58
, QG = 2665.6, -538.8433333, 188.9833333
, REULER = 12.00633107D, 86.53837824D, 174.8469236D
, MASS = 6.557425487
, CM = 398
, IM = 401
, IP = 71240.6575, 1.716880578E+05, 1.019588854E+05, 0, -14438.81923, 0
OK. Then I traced on of this LCA markers in template builder/double wishbone
Object Name : ._double_wishbone.gel_lower_control_arm.coomarker_1
Object Type : Marker
Parent Type : Part
Adams ID : 0
Active : NO_OPINION
Local :
Location : -102.6179846913, -79.5043512717, 104.8080076037 (mm, mm, mm)
(LOC_RELATIVE_TO({0, 0, 0}, ._double_wishbone.ground.cfl_lwr_strut_loc))
Orientation : 358.1514816192, 99.1762033404, 180.0 (deg)
(ORI_RELATIVE_TO({0, 0, 0}, ._double_wishbone.ground.cfl_lwr_strut_loc))
Global :
Location : 100.0, -650.0, 200.0 (mm, mm, mm)
Orientation : 0.0, 0.0, 0.0 (deg)
At list now I know where it is on template level. It turns out that it is located at the same coordinates as hpl_lwr_strut_mount.
OK, now some more digging required to locate that 'testrig_std_tire_ref'
To be continued :)
Thank you,
Ted
RE: Post processing
At this point while trying to learn/understand how this SVC ride height thingy works and to be able to modify it to suit my needs (I want it to measure Dz from user defined chassis points to ground) but I'm lost.
I found this request
I think that I found it on template level (_double_wishbone.tpl)
At this point I wanted to look at __MDI__SDI_TESTRIG to see what’s inside of it. Funny thing is that I just can’t find it databases. Do you know where it is located?
I understand that anything is possible. I also understand that this is a bit too much to ask but I will give it a try.
Is this possible to do it (modifying SVC so it shows FR/FL/RL/RR ride heights at my own chassis locations)?
I would guess that for this I have to:
1.Create markers at desired chassis locations.
2. Create Output Communicator on chassis template. Similar to 2nd screenshot.
3. Modify request .__MDI_SDI_TESTRIG.corner_heights so that it uses my markers.
Problem is that to be on the safe side I would like to keep original __MDI_SDI_Testrig unchanged and substitute it with my own version.
Also I can’t figure out which file is representing SVC procedure and where to find it. Looking in A/car database didn’t help. I wanted to look at the file to see what’s inside and if I can edit it.
I did manage to create my own requests measuring distance from ground origo to my chassis points and I can plot them after simulation but I wanted to have it included in SVC if at all possible.
Thank you,
Ted
RE: Post processing
I see no reason to mess with the testrig template to do that, you can just as easily (ha) modify your instrumentation template, I think.
There's a whole bunch of requests called things like adams_view_name='testrig.svc_output_2' which may be what it uses in the reports.
I can't find where svc is defined, I know where it is in /Chassis but /Car uses a different file structure. In chassis it is a python file.
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
I would love to have a bit more freedom... Like having my own SVC utility that will output the things I want in a way that I want it. Like showing ride heights my way. May be even display not just corner weights but also calculate cross/wedge %, left $, Rear % for instance?
Also was dreaming to be able to modify template so that camber/toe changes are done the way it is done on the car that I work with. For example, changing toe by altering Tie rod length. Or shimming (moving outboard) lower control arm chassis points to alter camber. With one car a camber change requires toe resetting, spring preload resetting to get the car to baseline trim with new camber angle. Another car toe is altered via shimming tierod length and camber by shimming steering arm on upright…
May be while I'm at such an early stage I should switch to /Chassis? I guess that there's a reason that you use chassis (even if it's completely modified) instead of Acar?
In the meantime I settled with postprocessing software. Simcenter Testlab is very good with plotting and it reads RPC3 files.
Thank you,
Ted
RE: Post processing
********************************
* *
* FRONT SIMPLE STABILIZER BAR *
* Greg Locock v1.1 for GL9h3 *
********************************
MARKER/110465,PART=102 LEFT FRONT STABILIZER LINK TO ext
, QP=1660.00,-630.00,477.00
, ZP=1629.00,-629.00,601.00
MARKER/110566,PART=103 RIGHT FRONT STABILIZER LINK TO ext
, QP=1660.00,630.00,477.00
, ZP=1629.00,629.00,601.00
MARKER/114961,PART=149 LEFT FRONT STABILIZER BAR TO ext
, QP=1907.00,-339.00,469.00
, ZP=1907.00,339.00,469.00
MARKER/114962,PART=149 RIGHT FRONT STABILIZER BAR TO frame
, QP=1907.00,339.00,469.00
, ZP=1907.00,-339.00,469.00
adams_view_name='gel_Stabilizer_Bar_FRONT'
PART/132,CM=13200,MASS= 1.47,IP=6.4600e+04,7.3700e+01,6.4600e+04
, 0.0000e+00,0.0000e+00,0.0000e+00
M/13200,QP=1907.00,-314.50,469.00
M/13250,QP=1907.00,0.00,469.00
, ZP=1907.00,-339.00,469.00
M/13261,QP=1907.00,-339.00,469.00
, ZP=1907.00,339.00,469.00
M/13263,QP=1629.00,-629.00,601.00
M/13211,QP=1907.00,0.00,469.00
, ZP=1907.00,-339.00,469.00
M/13210,QP=1907.00,-629.00,469.00
, ZP=1629.00,-629.00,601.00
adams_view_name='ger_Stabilizer_Bar_FRONT'
PART/133,CM=13300,MASS= 1.47,IP=6.4600e+04,7.3700e+01,6.4600e+04
, 0.0000e+00,0.0000e+00,0.0000e+00
M/13300,QP=1907.00,314.50,469.00
M/13350,QP=1907.00,0.00,469.00
, ZP=1907.00,-339.00,469.00
M/13362,QP=1907.00,339.00,469.00
, ZP=1907.00,-339.00,469.00
M/13364,QP=1629.00,629.00,601.00
M/13311,QP=1907.00,0.00,469.00
, ZP=1907.00,339.00,469.00
M/13310,QP=1907.00,629.00,469.00
, ZP=1629.00,629.00,601.00
SPRING/165,ROT,I=13250,J=13350,CT=0,KT=4300000,A=0.0 FRONT STABILIZER BAR
SPRING/163,TRA,I=110465,J=13263,K=1.0000e+05,C= 25.0 LEFT STABILIZER BAR LINK
, L= 127.82
SPRING/164,TRA,I=110566,J=13364,K=1.0000e+05,C= 25.0 RIGHT STABILIZER BAR LINK
, L= 127.82
JOINT/161,REV,I=13261,J=114961 LEFT STABILIZER BAR TO SUBFRAME
JOINT/162,REV,I=13362,J=114962 RIGHT STABILIZER BAR TO SUBFRAME
GRA/15030,CYL,CM=13210,SEG=6,RAD= 10.55,LEN= 307.746649047557 LEFT STABILIZER BAR
GRA/15031,CYL,CM=13211,SEG=6,RAD= 10.55,LEN= 629 LEFT STABILIZER BAR
GRA/15032,CYL,CM=13310,SEG=6,RAD= 10.55,LEN= 307.746649047557 righT STABILIZER BAR
GRA/15033,CYL,CM=13311,SEG=6,RAD= 10.55,LEN= 629 STABILIZER BAR
GRA/13394,SPDP,I=110465,J=13263,DB= 21.10,LA=2 LEFT STABILIZER BAR LINK
, LC= 89.47,DC= 21.10,LB=2,LD= 89.47
GRA/13395,SPDP,I=110566,J=13364,DB= 21.10,LA=2 RIGHT STABILIZER BAR LINK
, LC= 89.47,DC= 21.10,LB=2,LD= 89.47
!Torsion bar requests
REQ/13350,FOR,I=13250,J=13350,RM=13350
, C=SIMPLE STA BAR WINDUP FORCE (N & Nmm)
REQ/13351,DIS,I=13250,J=13350,RM=13350
, C=SIMPLE STABAR BAR WINDUP ANGLE (mm & deg)
!END of SIMPLE STA BAR
!
and include them in the model.
This is more or less how Chassis started out many moons ago, written by engineers for engineers.
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
It does make sense to stick with acar because of support in the future. Is it possible to open achassis files in acar?
Thank you for your suggestions.
Ted
RE: Post processing
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
You helped me so much and I though that it is time to introduce myself.
I’m an past middle age (52) guy from Russia who rose during 90s and as a result I only had 8 classes in high school and that’s it. At one point I became interested in racing and thanks to internet I started self learning. I worked in racing for many moons now. I designed (solely) and build myself (with two mechanics, chassis/bodywork/aero tooling and parts/suspension etc) a gt car that trashed tin top track records all over Russia https://www.drive2.ru/r/nissan/gt_r/79138/. It means that I did learn a thing or two but there are huge gaps in my knowledge in many areas due to absence of formal higher grade education.
In a team that I worked lately as race engineer we had a simple 5hp CWT (ex Roehrig) and I learning servicing and doing my own damper builds. Now I want to try to gain some understanding in terms of what the car wants in terms of damping. With virtual dyno I hope to gain some of that understanding and may be capture some trends (doing “this” with damper leads to “this” in time domain and frequency response which is very new thing for me.
May I ask you a couple of questions regarding looking at damper related frequency domain data?
For example. Looking at tire cpl. I’m doing an magnitude fft of normal force time history (heave motion excitation). Here I have very little knowledge. I do understand that theres sprung natural frequencies where if under dumped the curve would peak. I would think that due to driver inputs (steering/throttle/brake)the chassis would move close to natural frequency…
There’s also unsprung natural frequencies. Let’s say in my case ~3Hz is sprung mass natural frequency and ~19Hz is unsprung mass natural frequency. What are those frequencies in between sprung and unsprung nat.freqs? For example I have a baseline damper – felt ok on the car and curves where chosen based on damping ratio choices (most basic stuff like around 0.7-0.9 in slow speed and 0.3-0.4 at high speed in bump and 0.4-0.7 in rebound). I started comparing this damper settings to theoretical settings starting from almost zero damping and increasing damping to see what’s going on. From the start it is obvious that no damping/low damping settings have peaks around sprung natural freq. and its magnitude there is much higher than baseline. Baseline doesn’t have peak at natural frequency and peaks at around 7,5Hz. While having much lower magnitude around 2.5-3Hz it rises above nodamping/low damping fft curves from 3 and up to 18Hz where it becomes similar to nodamping/low damping curves if a bit higher.
What happens to the car in frequencies between sprung/unsprung nat.freqs?
May I ask for some general direction – what should I look for?
What frequencies I should pay major attention if I want to increase grip? Grip in driver induced maneuvers and grip over bumps?
I understand that lowering CPLV is generally a good thing but it seems that it’s difficult to decrease it across overall spectrum. What kind of compromise should be pursued?
I understand that I’m asking way-way too much. I would totally understand you ignoring my silly questions. But I just had to give a try :)
Thank you,
Ted
RE: Post processing
The road surface inputs is basically large at long wavelengths in a more or less regular fashion at shorter wavelengths, so there is some excitation at every frequency.
figure 1 in this has a typical profile https://www.mdpi.com/2076-3417/9/9/1783/htm
You won't get many people commenting here, you could try https://www.eng-tips.com/threadminder.cfm?pid=800 or https://www.f1technical.net/forum/index.php or https://forums.autosport.com/forum/8-the-technical.... The last two are ostensibly formula 1 sites but anything goes really.
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
Ted
RE: Post processing
From A/Car help
Notes:
To overlay two FFT curves on the same plot:
1.
Use the FFT dialog box to create one FFT curve.
2.
Use the Offset tool on the Curve Edit toolbar to create a second curve. See Performing Simple Mathematical Calculations on Curve Data.
3.
Select the second curve and edit the expression for the curve using the Math option in the dashboard as explained in Using Expressions to Modify Curve Data Points.
I'm not using Adams postprocessor but I thought that someone that will read this may be interested.
RE: Post processing
Didn't bother you with my silly questions for some time now :)
If I may ask:
I'm a little puzzled with SVC (static suspension characteristics) results. Below is an excerpt from it:
REAR SUSPENSION CHARACTERISTICS
(PARAMETER) (UNITS) (AVERAGE) (LEFT) (RIGHT)
Wheel/spring ratio mm/mm 882.6E-03 881.8E-03 883.4E-03
Wheel/shock ratio mm/mm 1.05 1.05 1.06
May be I'm wrong but it looks like damper motion ratio is different than spring motion ration. I can't understand how this could be possible in so called coil over system...
Spring and damper are mounted to same parts basically:
Exerpt from template topology:
nsl_ride_spring.force connects mtl_strut_to_body with gel_lower_strut (Single_Component_Force)
dal_ride_damper.force connects gel_upper_strut with gel_lower_strut (Single_Component_Force)
jklhoo_top_mount_kinematic connects gel_upper_strut with mtl_strut_to_body (Hooke Joint)
jolcyl_lwr_upr_strut connects gel_lower_strut with gel_upper_strut (Cylindrical Joint)
jklsph_lwr_strut_kinematic connects gel_lower_strut with gel_upright (Spherical Joint)
According to this it looks like conventional "coil over" system and motion ratios should be the same?
Thank you,
Ted
RE: Post processing
So I don't know what those lines mean in SVC data but when simulated model seem to behave as expected.
Thank you,
Ted
RE: Post processing
SVC is rather a weird setup, I don't know how it works but it is NOT a k&C test
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
There're few more things I wanted to ask:
1.It seems that there's some problem with 4post test rig when trying to use table functions as road profiles. I actually starts with dialog box itself. When I choose table functions as profile source, instead of Left Wheeltrack profile (as per Acar help - "6. For the Left-Wheeltrack Profile, right-click the File Name text box, and then search the <aride_shared> database for the file bump_1inch.rpt." ) it is Left Rear Wheel profile (same for the right side):
May be it is some sort of typo...
Anyway, when I use example files flat.rpt (right side) and bump_1ich.rpt (left side) and run the analysis the rig would launch the car in the stratosphere.
If I use flat.rpt under both sides - same weird thing happens. I'm curious if that's me doing something wrong or that's the case of software bug? Using RPC file based road profiles works without problems.
2. In A/car under Tools/Requests there's Request Map Editor dialog box. It is stated in the help file that "Any requests defined in a Request Map will be written to RPCIII format after simulation." However, after the simulation I can't find any .rpc files written.
3. Some time when doing full vehicle simulation A/car gives an error:
---- START: ERROR ----
Static equilibrium analysis has not been successful.
The maximum number of iterations 25, has been reached.
For the last attempted iteration:
The equation with the largest error was model.GT4_Rear_v2.ges_subframe Comp = 6 Error = 0.000000
The variable receiving the largest increment was model.GT4_Rear_v2.ger_lower_strut Comp = 10 Delta = 0.001896.
---- END: ERROR ----
Static Solution failed to converge
Can I increase number of iterations (if that would help) and if so - how? BTW, it doesn't seem to spoil the actual simulation results.
Knowing that you don't use A/car much - may be you never encountered this issues but may be you did and know the solution?
Thank you,
Ted
RE: Post processing
2 - .rpc sometimes gets called .rsp - however that command has never worked in Chassis
3 Yes that's very familiar. Increasing equilibrium maxit can help, otherwise you also need to look at error and the other settings in the solver. You'll probably find a model will hit equilibrium in some weight conditions but not others which may give you a clue. Sadly the components identified in the error message are often just the last link in the chain of whatever the problem is, rather than being the root cause. In my own case I have resolved this by replacing an overelaborate beam sta bar with a simple sta bar.
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
Currently I'm trying to add Adams Insight to my tool chest for this shaker rig study.
May I ask you:
For Design Objectives I would like to use for example:
Chassis displacement Pitch
Chassis displacement Heave
Tire force normal (CPL)
From available Design Objective value options, I think that Standard deviation is most suitable and it seem to work fine for heave displacement. To verify I exported curves data to excel, and calculated standard deviation. Comparing results to visual examination of plots shows that StdVar correlates well with what plots are showing, i.e. StdVar value is smaller for the plot that shows less heave displacement.
Problem is that with Pitch and CPL it is not as straight forward.
CPL - on the plot is is visibly clear that F_B1_1_R_B1_1 (starting from ~ 0.8sec) force variation is lower then F3_3 plot, yet standard deviation of F_B1_1_R_B1_1 = 254.4 , for 3_3 = 231.95. There's similar problem with Pitch angle.
Is there a proper way to use Adams insight for Design Objectives such as CPL?
Thank you,
Ted
RE: Post processing
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
Still the main question is how do I go about using CPL as Design Objective for Adams insight...Is it feasible to use standard deviation during simulation value?
Thank you,
Ted
RE: Post processing
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
Yes,those numbers that I posted were calculated in excel using all sample. I think that the moment when ADAMS "drops" the car on the rig creates that "problem". I assume that there's no way to set up request so that it outputs data starting from some prescribed moment in time?
Thank you,
Ted
RE: Post processing
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
Anyway I can do it (process a desired portion of data) in other software - even simple excel.
Let me ask in a more general way... Say I have to arrays of Tire normal load data. My objective is to find a way to get some sort of sufficient way to get some sort of statistical value that would allow me to judge if one data set is "better"
or "worse" and that's what I struggle with atm.
One other question - Adams insight can "drive" Acar simulations according to runs defined in workspace. Is it possible to drive/call Acar/Achassis simulations from Matlab?
Thank you,
Ted
RE: Post processing
I have never defined a custom response in Insight, I know it is possible. RMS of a detrended sinusoid seems like a good way of describing it, or you could use kurtosis which is 4th power moment and so is more sensitive to peaks. Either are very sensitive to DC offsets, and long term drifts, and detrending is a great way of screwing things up. Ideally I'd high pass filter the signal before taking the rms, or do it all in the frequency domain.
Chassis, yes, by direct editing of the adm in matlab and then run it from the command line. I have run a correlation exercise that was running 4 threads of chassis simultaneously, using the results to drive changes in the adm. Car, we haven't found a way of getting it to build from the command line, and direct automatic editing of the adm no longer works because the adm structure is not consistent. That is, in Car marker and request numbers in particular are no longer stable between builds. It does not seem impossible to build from the command line, but we haven't found it. I am considering doing a global find and replace on marker and request numbers so that the numbering remains stable, but its not a job I look forward to. You can run a Car model from the command line (and hence from Matlab), but I haven't done that yet.
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
file:///C:/Program%20Files/MSC.Software/Adams/2021_4_856550/help/master.htm#page/adams_car/compo_analyses.html#ww1180377
The .xml can be used to run the simulations in batch mode. No postprocessor will be started after the simulations, but just the simulations will be executed. An example of a macro (.cmd) running the simulations is given below. This macro executed with the command:
Windows:
<release>\common\mdi.bat acar ru-acar b runtest_batch.cmd
Linux:
<release>/mdi -c acar ru-acar b runtest_batch.cmd exit
With the content of the runtest_batch.cmd (running the tiretestrig_batch.xml):
! example cmd for running tire testrig in batch:
! mdi.bat acar ru-acar b runtest_batch.cmd
!----
!
variable create variable_name=filename string_value="tiretestrig_batch.xml"
!
if condition=(!db_exists(".acar.variables.tireTestrig"))
variable set variable_name=ttmp_pyexe &
int=(eval(run_python_code("from mdi.visedit.common.tiretestrig_editor import *")))
variable set variable_name=ttmp_pyexe &
int=(eval(run_python_code("os.environ[\"MDI_PRODUCT_NAME\"]=\"main\" ")))
variable set variable_name=.acar.variables.tireTestrig &
int=(!eval(run_python_code("w_tire_testrig=TireTestrig_editor()")))
end
!
! for loading the acar databases
!
for var=ttmp_index start=1 end=(eval(cdb_get_number_of_cdbs()))
variable set variable_name=ttmp_name string = (eval(cdb_level2db(ttmp_index)))
variable set variable_name=ttmp_path string = (eval(cdb_alias2path(ttmp_name)))
variable set variable_name=ttmp_pycmd &
string=(eval("w_tire_testrig.addDb ('"//ttmp_name//"','"//ttmp_path//"')"))
variable set variable_name=ttmp_pyexe &
int=(eval(run_python_code(ttmp_pycmd)))
end
!
if condition=(filename != "")
variable set variable_name=ttmp_pyexe &
int=(eval(run_python_code("w_tire_testrig.loadFile ('" // filename // "')")))
variable set variable_name=ttmp_pyexe &
int=(eval(run_python_code("w_tire_testrig.runit_clicked(True)")))
end
!
variable delete variable=(eval(db_filter_name(db_children(.__ACAR,"variable"),"ttmp_*")))
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
Ted
RE: Post processing
Can you recommend a good text or video tutorial on DOE?
Thank you,
Ted
RE: Post processing
Thank you,
Ted
RE: Post processing
The on-line matlab on-ramp from mathworks is pretty good, and if you want to take it further then there are several MOOCs https://www.edx.org/search?q=matlab
Incidentally if you don't want to buy Matlab then Octave is free and good, and Scilab is somewhat similar and also good.
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
I already started with on-ramp - it is indeed pretty good!
Thank you,
Ted
RE: Post processing
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
One random question - in Adams, at the start of simulation, is it possible to have the vehicle model seat on the rig pads in the state of equilibrium rather than having it drop on the pads from the sky as it does now?
Another question regarding using Matlab as postprocessor for Aride simulations (while I'm going through onramp courses) - is it possible to automate importing the data file,processing it etc? I guess that answer is yes and it simply requires writing/saving an appropriate script?
Thank you,
Ted
RE: Post processing
yes once you have everything set up it is very easy read multiple files in and do exactly the same to them. I can't show you because its proprietary, but basically we have a toolbox that is called by adams when we hit post process, which turns our output files into the same format as we get from real car data, and is then analysed exactly as if it was a real car. Even better, we can drive adams with the speed and steering wheel angle time history we get from the real car, so we are driving the model the same, and analysing it the same (not sure if that is a standard feature, we've customised car quite a lot).
So far as the 4poster goes, no idea, probably not. But you could alter the acf to stop the sim after it has settled and then restart it. I don't know how to do that, but a resource worth looking at is the ADAMS knowledge database, which has a forum where you can ask questions and poke MSC.
Cheers
Greg Locock
New here? Try reading these, they might help FAQ731-376: Eng-Tips.com Forum Policies http://eng-tips.com/market.cfm?
RE: Post processing
I will have to get a little more experienced with Matlab in order to do it (automate import and processing) but hopefully I will get there some day :)
"So far as the 4poster goes, no. But you could alter the acf to stop the sim after it has settled and then restart it. I don't know how to do that, but a resource worth looking at is the ADAMS knowledge database, which has a forum where you can ask questions and poke MSC."
Here's an idea - use arbitrary solver functions for displacement inputs and that function would have the rig pads still for a couple of seconds and than start that sine sweep. Another option is to set the simulation slightly longer and set an appropriate frequency sweep rate and use Matlab tbl.Properties.StartTime to start processing when that "landing" shock has ended.
Back to onramp tutorials.
Thank you,
Ted
RE: Post processing
Doing my first baby steps analysing acar 4post data in Matlab. May I ask you a couple of questions in this regard?
I think that best I post it in specific here https://www.eng-tips.com/threadminder.cfm?pid=575
Thank you,
Ted