Looking deeper into the solver: How linear subcaeses are controled (applying load)
Hello Altair Team,
I would like to get more knowledge about the Radioss solver and especially about how linear subcases are handled.
In Abaqus, there is a time step control even within the absolutely linear subcases. Time has no physical meaning there but it is used to control how the load is applied to the model.
As I understand it, the solver tries to find the equilibrum of outer force applied and inner foce (calculated through the compliance matrix). For that there is this one equation, which says: Outer forces - inner forces must be Zero! This is the case at the equilibrium because there are no accelerations (-> Newtons Law.)
So;
1) Newton Solver: Even if the case is completly linear, I have those iterations in order to find the equilbrium
2) In linear Subcases the Newtonsolver tries to find the equilibrium on 100% of the outer load applied.
Questions:
1) How is the load applied. In Abaqus there are several functions... eg. ramp, parbolic... is there something like this in HM. How it is done there?
2) What if it fails... no equilibrium found... is there a basic handling? Like reducing the stepsize of load incremental?
I think this is enough for now.
Thanks in advance...
Manuel
Answers
-
Manuel,
The short answer is that in linear static, equilibrium is assumed or taken for granted. No iterations are performed for equilibrium.
You can use load curves to define the function for the load.0 -
The equation of motion for a static analysis is as below:
[K] {X} = {F} ------------------------------------------ (1)
[K] --> Global Stiffness Matrix
{X} --> Unknown Displacement
{F} ---> External Force Applied.For the body to be in static equilibrium, the net force acting at every node must be zero. Therefore, the basic statement of static equilibrium is that the internal forces, I, and the external forces, F, must balance each other:
[K] {X} is nothing but internal force 'I'
Equation (1) now becomes,
==> I = F or I - F = 0 -----------------------------------(2)
In Dynamic Analysis, the imbalance between the external and internal forces results in an acceleration:
F - I = M a.
F --> External Forces
I ---> Internal Force
M*a --> Inertial Forces (mass times acceleration)In linear static analysis the stiffness matrix is constant and shall not change/update throughout the analysis. There are many check need to be performed once you have linear static results for well conditioned problems.
The equation (1) is decomposed one time to find the unknown displacement.
[K] {X} ={F}
After decomposition, a singularity may lead to an incorrect solution. In static analysis to obtain {X} (displacements). Using these displacements, One can calculate a “residual” loading vector as follows:
[K] {X} -{F} =δ F
This residual vector should theoretically be null (equation 2) but may not be null due to numeric roundoff.
In Nonlinear static analysis, The stiffness matrix changes in each and every iteration since the stiffness matrix is dependent on the external load. The external load in Nonlinear static analysis is applied in increments and time here has no physical meaning.
Time is just a convenient way to apply full load in nonlinear static analysis. In Optistruct the incremental load is controlled by 'NINC' field in the NLPARM card for NLSTAT load steps, this is a fixed load increment method.
If you add the PARAM,EXPERTNL,YES to the deck, the time increment method becomes automatic in which case, the increment (load) is increased or cut back based on the convergence rate.
NLGEOM loadstep has automatic time step by default. In NLGEOM loadstep the RAMP load curve can be defined using TABLED1 card and then refer this in NLOAD1 card.
In nonlinear static analysis, OptiStruct uses the Newton-Raphson method to obtain solutions for nonlinear problems to maintain the residuals close to zero (equation 2)
In a nonlinear analysis the solution usually cannot be calculated by solving a single system of equations, as would be done in a linear problem. Instead, the solution is found by applying the specified loads gradually and incrementally working toward the final solution. Therefore, OptiStruct breaks the simulation into a number of load increments (NINC) and finds the approximate equilibrium configuration at the end of each load increment.
It is important that you clearly understand the difference between an analysis step (NLSTAT / NLGEOM), a load increment (NINC of NLPARM card), and an iteration (MAXITER of NLPARM card)
The load history for a simulation consists of one or more steps. Within a step you will have many no of increments (NINC), within increment there can be many no. of iteration (MAXITER). OptiStruct checks the equilibrium equation ( equation 2) for each and every iteration. If the solution from an iteration is not converged, OptiStruct performs another iteration to try to bring the internal and external forces into balance.
An increment is part of a step. An iteration is an attempt at finding an equilibrium solution in an increment when solving with an implicit method. If the model is not in equilibrium at the end of the iteration, OptiStruct tries another iteration. With every iteration the solution OptiStruct obtains should be closer to equilibrium; sometimes OptiStruct may need many iterations to obtain an equilibrium solution. When an equilibrium solution has been obtained, the increment is complete.
0