All Courses
All Courses
Courses by Software
Courses by Semester
Courses by Domain
Tool-focused Courses
Machine learning
POPULAR COURSES
Success Stories
Aim : Use mass scaling to reduce the runtime of a model and ensure the stability of mass scaling. The hard limit on mass scaling is 8% and stability should be completely intact. To run the same model using implicit solver with necessary changes and compare implicit and explicit runtime. Solution : We…
abhijeet dhillon
updated on 07 Feb 2022
Aim :
Use mass scaling to reduce the runtime of a model and ensure the stability of mass scaling. The hard limit on mass scaling is 8% and stability should be completely intact.
To run the same model using implicit solver with necessary changes and compare implicit and explicit runtime.
Solution :
We should apply the following practices while performing any simulation :
1.Step 1 : Definition of the goal
This is the basic step in which we define what exactly we want from the simulation and what all parameters will affect the simulation .We should look for certain results such as displacement , stress and should optimize a certain result .
Dealing with complex model :
We should avoid solving it in one go and do it step by step .We should add materials , contacts etc one step at a time . The main advantage of this is that if the error occurs we can trouble shoot the problem easily
We should make a guess of what exactly the results could be in order to validate the simulation.
2. Static or Dynamic simulation :
It is very important to run what kind of simulation that if we should simulate static or dynamic . In order to decide we should know that a stress in a part travels in the form of a wave and the speed with which it travels is given by :
c=sqrt(G/rho) where G is the shear modulus and rho is the density of the material.
The time take for the wave to propagate across a part of length l is given by t = l/c
In many cases the stress becomes static after 10t . If the load keep changes within 10t than we have to consider dynamic effects
If the effect of inertia forces which are the stress waves and the kinetic energy is very big we should consider the effect of quasi static simulations
If the effect of inertial forces are small we should use the static simulations.
Mass scaling : Whenever we mesh the components , the time step is calculated for all the elements and the time step considers the time step for the lowest element .Let us consider the following case :
LS-DYNA calculates your solution by running over all the nodes in the model at each time step. In a very simplified explanation, LS-DYNA will look at the total force on each node from the previous time step, use that to find the acceleration of that node, and then to find the displacement of that node. The node is then moved by this much. The calculation then updates the strain on the connecting element. This then goes through the material constitutive equation to get stress, which is applied as a force on the neighboring node in the next time step.
You can imagine this series of calculations behaving like a wave, propagating through your mesh. The critical thing, however, is you want to calculate all the node positions of your model at the same time, without it being affected by the calculations from the previously calculated node. This basically means that you need to set your time increment such that the code can calculate the displacements of the next node before the wave from the previous node calculation can hit it.
For instance, if my boundary conditions on the mesh shown below were along the left and bottom edges, and I applied a downward load at node 25, the calculations at t=0 would go as follows:
F at N25 = F0.
This gives acceleration (from F=ma, with mass at 1/4th the mass on element 16).
From acceleration, I calculate displacement for my next time step and move N25.
Now, the movement of this node imposes a strain on element 16, which generates a stress in element 16 (from the material law) which will apply a force on N20. However, I still haven't calculated the displacement of N20 at t=0. I must do this before the wave propagating from N25's displacement hits N20.
The other alternative is called mass-scaling. Here, I artificially increase the mass of my smallest elements, and so increase the density of that element, without affecting any other property. This then means that my wave propagation speed gets artificially reduced, increasing the time step for that element. Looking at this in reverse, if I have a target time step for my entire model, LS-DYNA can look at which elements are below that time step, and apply just enough mass to those elements to ensure that their time-steps hit your target. You can set a time step manually in the *CONTROL_TIMESTEP card under the dt2ms field. Note, you need to input this value as a negative of your timestep. (There are different ways to mass-scale. Read the manual for the different definitions.)
Just because this method allows you to set your own time step does not mean that you can set whatever value you want. Remember, you are artificially increasing the mass in a dynamic simulation as the analysis is progressing. This means that your kinetic energy of that element is artificially going up. LS-DYNA is essentially creating energy from nothing. LS-DYNA will output how much your mass-scaling is in the stdout at the beginning of the run. I would suggest a mass scaling value (as percentage of original mass of your model) of not more than 2%. Note this is just the initial mass scaling. The amount of mass added may go up through the simulation (as elements deform). At the end of the run, check the glstat file for mass-scaling over time. If it is a relatively flat curve and stays under 2% at all times, your result should be close enough to the ideal result (without mass-scaling). Of course, the best way would be to run one case without mass scaling and compare the results to make sure the level of mass scaling still gives you accurate results.
Time step for implicit analsysis :
In this method there might be a case in which the amplitude of a certain quantity might happen abruptly which might cause for the problem to not converge and hence lead to instability .Therefore we could reduce the time step so small that it captures this change properly but at the same time it can increase the computational time .Hence in ls dyna we can use the following cards :
1.Control Implicit Autio:
This card has the following :
For example if we keep the upper range as 70 iteration and lower limit as 30 iterations and during one time step the total iterations are solved within this range the corresponding time step will not change .
But if it solves the iteration within 20 iterations , the timestep will increase.But if it solves above the 70 iterations , the timestep will be reduce .The time step increase and decrease will happen within the minimum time step and maximum timestep.
This control has one drawback that it can increase the time because there might be a possibility that the iterations during anytime step might not be within this range .To tackle this problem we can insert the timestep according to a curve id .
Also do not use point loads on nodes as it may lead to instability instead distribute the load on a number of noads as well as it preferred to use displacement based boundary condition over load for stability purposes.
Symmetries also play a important role as we can use half section of the model to find the total result which decreases the efforts to mesh as well as compute.Symmetry condition can be given by plane stress , plain strain and asymmetric model.
Constraining Bodies for Simulations :
The following steps are advised for setting up a good boundary condition
1. Make FBD of the problem.
2.Label all the applied loads
3. Make sure the sum of all applied loads as zero
4.Make sure that the sum of moments is also zero.
Use this FBD as a guide for setting up the problem.
3-2-1: Constrain Method :
In this method we do the following :
1.Choose 3 points that are separated and define a plane.
2.The 1st point is constrained in all 3 translations DOF .
3.Take the second point which has the same YZ coordinates but a different x coordinate .The second point is constrained in YZ translation DOF
4.The third point is selected in such a manner that it does not lie in a line with the first two points.The third point is constrained only in the z translation dof
Use of first order and second order elements :
First order elements are always for contact but if it is important to model second order elements we can use first order elements on the top and the rest region we can use second order elements .
Second order elements can cause overlap of the elements because of the nodes present in first order elements which increases the stiffness of the overall problem.
We should avoid tetra or triangular elements as they have a very strong stiffness compared to others .
In contact the stiffer material should always be the stiffer material i.e the part with higher elastic modulus.
During solving the problem if there is non convergence we should remove the loads or add constrains and run the model to check for errors that were caused due to a specific condition.Another approach could be to reduce the first time step to such a value that it is able to overcome the non convergence.
When defining variable curves it should be ramp curve instead of a step curve .
Troubleshooting Few Solver Issue:
Negative Eigen Values :
This error occurs due to the following :
1.Non Physical Material Properties : This occurs when the density is negative or the stress strain curve is negative.
2.Bad Mesh :
DTMS and TSSFAC :
Time step scaling: during the simulation cycles, elements experiences high impact of forces with other colliding elements which produces high deformation, this involves wave effects.
Time steps can be defined as the wave needs to pass through the smallest element. Manipulating this time step is called time step scaling.
Mass scaling is a non physical (non structural) mass added to the elements in explicit simulations to adjust elements time step for next cycle.
In ls-dyna DT2MS Parameter in *CONTROL_TIMESTEP card used to add non physical mass to the elemen
DT2MS is negative, non physical mass added to stabilize time step for particular element as shown below
DT2MS is positive,
If the elements time step is more than the defined global time step, then mass is removed and on the other end if time step is below the defined global time step, mass is added.
Anytime you add nonphysical mass to increase the timestep in a dynamicanalysis, you affect the results (think of F=m*a
). Sometimes the effect is insignificant and in those cases adding nonphysical mass is justifiable. Examples of such cases may include the addition of mass to just a few small elements in a noncritical area or quasi-static simulations where the velocity is low and the kinetic energy is very small relative to the peak internal energy. In the end, it's up to the judgement of the analyst to gage the affect of mass scaling. You may have to reduce or eliminate mass scaling in a second run to gage the sensitivity of the results to the amount of mass added.
One can employ mass scaling in a selective manner by artificially increasing material density of the parts you want to mass-scale. This manual form of mass scaling is done independently of the automatic mass scaling invoked with DT2MS
in *CONTROL_TIMESTEP
.
When DT2MS
is input as a negative value, mass is added only to those elements whose timestep would otherwise be less than|DT2MS|
. By adding mass to these elements, their timestep becomes equal to |DT2MS|
. An infinite number of combinations of TSSFAC
and DT2MS
will give the same product, i.e., timestep but the added mass will be different for each of those combinations. The trend is that the bigger |DT2MS|
(and the smaller TSSFAC
while TSSFAC*|DT2MS|=const
), the greater the added mass. In return, stability may improve as TSSFAC
is reduced (just as in non-mass-scaled solutions). If stability is a problem with the default TSSFAC
of 0.9, try 0.8 or 0.7. If you reduce TSSFAC
, you can increase |DT2MS|
proportionally so that their product, and hence timestep, is unchanged
To determine where and when mass is automatically added, write GLSTAT
and MATSUM
files. These files will allow you to plot added mass vs. time for the complete model and for individual parts, respectively. To produce fringe plots of added mass in parts comprised of shell elements (DT2MS
negative), set STSSZ=3
in *DATABASE_EXTENT_BINARY
. You can then fringe the added mass (per element) using LS-POST by choosing Fcomp > Misc > time step size. (Here, the label "time step size" is really the element added mass.)
Negative: Mass is added to only those elements whose timestep would otherwise be less than TSSF*abs(DT2MS)
. When mass scaling is appropriate, I recommend this method.
Positive: Mass is added or taken away from elements so that the timestep of every element is the same. My opinion is there is no advantage to using this method over the negative DT2MS
method and I find it harder to rationalize.
We will be performing the simulation on the following part :
The following cards have been applied to this model :
Now we simulate the following cases :
1.Case 1 :Simulation with no mass scaling
The default conditions in control timestep are as follows :
We get the following :
Case 2 : When tsffac =0.9 we get the following :
As you can see we are getting the total time as 23 hours
Case 2 : When tsffac =0.9 we get the following :
As you can see we are using default conditions and the mass added is zero and the total run time is 57 hours
Case 3 : DTMS -3.154E4 and TSSFAC =0.9
We get the following :
As you can see it solved in a few seconds and added a lot of mass to the elements.
Case 4 : DTMS -3.154E-4 and TSSFAC =0.9
We get the following :
Case 5 : TSSFAC =0.5 and DTMS -3.154E-4
We get the following :
Case 5 : TSSFAC =0.8 and DTMS -3.154E-4
We get the following :
Case 5 : TSSFAC =0.7 and DTMS -3.154E-4
Therefore by trying out different cases we get the following charts :
Hours vs TSSFAC
Now we will run this simulation with implicit method with the following card :
1.Control Implicit auto :
This is used to create time step automatically
2.Control Implicit General :
It is used to switch on the implicit analysis .
3.Control Implicit Solution
This is used to deal with the non linearity of the solution as shown below :
For the same tssfac and d2ms we get the following run time from implicit solution :
Conclusion
Therefore we have tried various values of d2ms and tsffac as well seen how implicit soultion reduces the run time signifigcantly.
Leave a comment
Thanks for choosing to leave a comment. Please keep in mind that all the comments are moderated as per our comment policy, and your email will not be published for privacy reasons. Please leave a personal & meaningful conversation.
Other comments...
Week 2 Air standard Cycle
Aim : Your code should create a PV diagram Your should output the thermal efficiency of the engine. Solution : The code for the PV diagram is as follows : import math import matplotlib.pyplot as plt #inputs p1=101325 t1=500 gamma=1.4 t3=2300 #Geometric dimensions : bore=0.1 stroke=0.1 con_rod=0.15…
18 Jun 2022 12:07 PM IST
Bird Strike - Project - 2
Aim : The final submission must include the input file, animation, and a report. - Since this is a quite difficult and involved project, students are advised to log their debugging process and include it in the report. The log is a description of the solution process and challenges encountered along the way. …
17 Apr 2022 05:21 AM IST
Week 1 Understanding Different Battery Chemistry
Aim : 1.Prepare a table which includes materials & chemical reactions occurring at the anode and cathode of LCO, LMO, NCA, NMC, LFP and LTO type of lithium ion cells.Give your detailed explanation on it 2.Compare the differences between each type of Li+ion batteries based on their characteristics Solution :…
08 Mar 2022 03:21 PM IST
Week - 10 Hyperelastic Material Models
Aim : Given the material data below, calculate the Mooney Rivlin and Ogden material constants and compare the both using stress-strain data from a Dogbone specimen tensile test with 100 percent strain. The given data is the engineering stress-strain in MPa/(mm/mm). The comparison should be shown from the d3hsp file and…
27 Feb 2022 05:08 AM IST
Related Courses
Skill-Lync offers industry relevant advanced engineering courses for engineering students by partnering with industry experts.
© 2025 Skill-Lync Inc. All Rights Reserved.