Home › Forum › SOFA › Using SOFA › BeamFEMForceField Setting
 This topic has 16 replies, 2 voices, and was last updated 1 year, 3 months ago by Hugo.

AuthorPosts

23 August 2021 at 20:12 #20217eaparraBlocked
Hi @Hugo
I’ve been working a simulation using BeamFEMForceField.
When I set the parameters I’m using the Young’s modulu in GPa and the poisson Ration how can be seen here:<BeamFEMForceField name=”FEM” poissonRatio=”0.33″ radius=”0.01″ youngModulus=”70e9″ />
But when I compare the displacement and the natural fundamental frequency, they are totaly diferent how I compute.
I want to know if the Young’s modulu is in GPa or Psi and which relation has the radius to calculate the best value that has the good performance.
PD: I’ve used many examples, one of them is examples/Components/mapping/ArticulatedSystemMapping.scn
Thanks for the help and I am waiting for what you tell me.
24 August 2021 at 08:29 #20219HugoKeymasterOla @eaparra
I guess you are looking to model a cantilever test, is it correct?
Could you share the full scene? It would help reading what is the size of the beam model.
I am not sure to understand why you are using the ArticulatedSystemMapping?Best,
Hugo
24 August 2021 at 08:30 #20221HugoKeymasterNote that I moved your topic in the forum “Using SOFA” instead of “Announcement”.
Best,Hugo
24 August 2021 at 20:22 #20250eaparraBlockedHi @Hugo.
Yes, I’m simulating a cantilever beam but with some features.
I took the ArticulatedSystemMapping just an example because it had the BeamFEMForceField property, but actually I want to understand how BeamFEMForceField works, how I said to you it has a young’s modelus, poisson ratio and radius.Althought when I set the values, for example aluminum properties radius=”0.0085″ youngModulus=”70e9″ poissonRatio=”0.33″, the simulation is totally different like the real one. And I don’t know if I have to use the GPa or Psi units and I don’t understand how I could set the radius values because it changes some much more the behavior of the beam in the simulation, and I would like to know which reference you take into account when set the radius value.
Thanks for the help and I am waiting for what you tell me.
25 August 2021 at 08:48 #20252HugoKeymasterOla @eaparra
To have an example, you should rather take a look at the scene BeamFEMForceField.scn.
If the simulation is far away from the experiment, I would indeed check the units. To help here, I would need to see your scene. What do you give as a topology? what is the lenghth unit?
The important point with units is that they have to remain coherent: if you give as input a mesh/topology in meters and you would like to work in Newton, then your Young’s modulus is in Pa. If you give as input a mesh/topology in millimeters and you would like to work in Newton, then your Young’s modulus is in GPa. etc
In the same way, the radius of your beam must be in the same length unit than your mesh.
Best wishes,
Hugo
25 August 2021 at 19:10 #20253eaparraBlockedHi @Hugo
Thanks for your answer.
Taking into account the example you sent to me and checking the units. I used the BeamFEMForceField.scn example to create a simulation of the cantilever beam with fixedfree configuration, with the particularity that a mass of 0.58 kilograms is attached to the free end. As well I entered the units, being these in meters and kilograms, therefore, the Young’s module of the beam in GPa, as you said. And taking into account the same length unit I set the radius in the BeamFEMForceField as you can seen <BeamFEMForceField name=”FEM” radius=”0.00465″ youngModulus=”70000000000″ poissonRatio=”0.33″/>.
Using the Monitor <Monitor template=”Rigid3d” name=”Beam_Alone_Movement” listening=”1″ indices=”10″ showPositions=”1″ PositionsColor=”1 1 0 1″ ExportPositions=”true”/>. I recorded the position of the free end with mass of the beam. With this data I analyzed the behavior of the beam, check its static displacement when it tends to rest, and by means of a frequency analysis see what its fundamental frequency.
But when comparing this data with those obtained with the real cantilever beam and with the calculations I made, they are totally different, so I started to modify the radius property trying to bring the real behavior closer to the simulation, but when I did that the natural frequency is closer but the its static displacemente changes so much.
I have just uploaded the code on github, so you could check it.
https://github.com/eaparra01/Example_Beam.git
Thanks for the help and I am waiting for what you tell me to be able to implement the improvements.
30 August 2021 at 19:38 #20261eaparraBlockedHi @hugo.
Recently, I have been modifying the github I sent to you before, the post #20253.
So, to continue with the topic the new link ishttps://github.com/eaparra01/Example_Beam/blob/master/Example_1_Beam.scn.
If you would have some question about the code, tell me please. I’m waiting for what you say to me.
Thanks for the help.
30 August 2021 at 19:38 #20262eaparraBlockedHi @hugo.
Recently, I have been modifying the github I sent to you before, the post #20253.
So, to continue with the topic the new link ishttps://github.com/eaparra01/Example_Beam/blob/master/Example_1_Beam.scn.
If you would have some question about the code, tell me please. I’m waiting for what you say to me.
Thanks for the help.
2 September 2021 at 19:52 #20300eaparraBlockedHi @Hugo.
Excuse me.
I had to make a few changes and modify the github.
Therefore to continue with the topic the new link is https://github.com/eaparra01/Example_Beam/blob/main/Example_1_Beam.scn.Thanks for the help.
7 October 2021 at 09:23 #20534HugoKeymasterHi @eaparra
From what I can run on my machine your scene is working.
Are the results still far from the one you are looking for?If it is, could you please give me all the physical units and dimension of your object?
e.g. E = 7e10 Pa etc etc.And sorry for keeping you waiting so long.
Best,Hugo
19 October 2021 at 09:00 #20647eaparraBlockedHi @hugo.
Since the last time I sent you the message I have made some improvements to the code. Using the latest version of SOFA the annoying vibration was minor but it continued. So to solve the problem I used several BilateralInteractionContranstraint and that helps me to minimize the vibration.
I could see that the problem, perhaps, is the solver, because when I started to modify the SOFA showed warnings of the threshold values and by modifying it, the vibration increased or decreased.
Taking into account that you told to me about the values parameters and units I used the International Sistem of Units. So:
– The weight of the beam is 0.896 Kg.
– Length of 0.732 m, height 0.00302 m and width of 0.015 m.
– It is made of aluminium, so the young’s module is 70e9 N/m2.
– And the mass at the end of the beam weighs 0.58 kg.The vibration could see more easy in Example_2_Beam strong>https://github.com/eaparra01/Example_Beam/blob/main/Example_2_Beam.scn. This simulation has the two masses, hip and knee masses, and the femur between of them.
Also, if you want it, you can see the process I followed to develop the final legged robot in this link https://github.com/eaparra01/Example_Beam.
Thanks for your help and I’m looking forward to hearing from you.
2 November 2021 at 22:02 #20729HugoKeymasterHi @eaparra
The problems comes from the tolerance set to the ConstraintSolver. It is way to high. You need to request the CSolver to be more accurate. It must somehow related to the square of the expected error: if the expected error is about 1e3m then tolerance should be 1e6.
With :
<GenericConstraintSolver tolerance="1e8" maxIterations="1000"/>
are completely disappearing in Example_2 for me./
Note that we provide training for having the theoretical background on Lagrange based constraint. There is also a whole doc online here.Best wishes,
Hugo
3 November 2021 at 13:39 #20733eaparraBlockedHi @hugo.
Thank you very much for your help, I no longer have the annoying vibration due to the change in tolerance that you told me. <GenericConstraintSolver tolerance=”1e8″ maxIterations=”1000″/>.
But, taking into account the physical variables, which I told you in REPLY # 20647, the natural frequency continues without being the same as the one with the experimental and calculated data.
One of the method I use to calculate the natural frequencies is the Model Superposition method, which one has good results and I compared the values with the Abaqus Software and it is fine.
For that, I added a Model_Superpostion.m that, taking the physical properties of the beam calculate the frequencies. And to be able to compare SOFA data, I added a formulation, Frequency_Spectrum.m, that taking the displacement and time, calculate the frequency spectrum, so that, the frequencies.For example, In Example_1_Beam.scn I take the data usign <Monitor template=”Rigid3d” name=”Beam_Alone_Movement_Point_10″ listening=”1″ indices=”10″ showPositions=”1″ PositionsColor=”1 1 0 1″ ExportPositions=”true”/>. I calculate the frequency usign Frequency_Spectrum.m and compare with teh data from Model_Superpostion.m, and they are totally different.
I hope with this information we could find out why the frequencies are no the same, I don’t know if the radius have to be changing taking into account the inertia area?
Thank for your help and I’m looking forward hearing you.
10 November 2021 at 20:55 #20775HugoKeymasterHi @eaparra
Taking the values and dimension of your beam what should be this natural frequency?
And what is the one given by SOFA?Best,
Hugo
12 November 2021 at 13:16 #20781eaparraBlockedHello @hugo.
Taking into account the values and physical dimensions, the natural frequency and maximun deflection:
– Should be 5.5273 rad/s and –0.398 m.
– Given by SOFA are 15.5195 rad/s and 0.0314 m.Thank for your help and I’m looking forward hearing you.
Best wishes,
E. Andres Parra R.
12 November 2021 at 13:17 #20782eaparraBlocked– Should be 5.5273 rad/s and 0.398 m.
– Given by SOFA are 15.5195 rad/s and 0.0314 m.Correction.
Thanks.
9 December 2021 at 15:44 #21097 
AuthorPosts
 You must be logged in to reply to this topic.