 
 
 
 
 
 
 
  
To find the solution at the end of a given increment a set of nonlinear
equations has to be solved. In order to do so, the Newton-Raphson method is
used, i.e. the set of equations is locally linearized and solved. If the
solution does not satisfy the original nonlinear equations, the latter are
again linearized at the new solution. This procedure is repeated until the
solution satisfies the original nonlinear equations within a certain
margin. Suppose iteration  has been performed and convergence is to be
checked. Let us introduce the following quantities:
 has been performed and convergence is to be
checked. Let us introduce the following quantities:
 : the average flux for field
: the average flux for field  at the end of
  iteration
 at the end of
  iteration  . It is defined by:
. It is defined by:
where  represents all elements,
 represents all elements,  all nodes belonging to a given
element,
 all nodes belonging to a given
element,  all degrees of freedom for field
 all degrees of freedom for field  belonging to a given
node and
 belonging to a given
node and 
 is the flux for a given degree of freedom of field
 is the flux for a given degree of freedom of field
 in a given node belonging to a given element at the end of iteration
 in a given node belonging to a given element at the end of iteration
 . Right now, there are two kind of fluxes in CalculiX: the force for mechanical calculations
and the concentrated heat flux for thermal calculations.
. Right now, there are two kind of fluxes in CalculiX: the force for mechanical calculations
and the concentrated heat flux for thermal calculations.
 : the iteration-average of the average flux for
  field
: the iteration-average of the average flux for
  field  of all iterations in the present increment up to but not
  including iteration
 of all iterations in the present increment up to but not
  including iteration  .
. 
 : the largest residual flux (in absolute value) of
  field
: the largest residual flux (in absolute value) of
  field  at the end of iteration
 at the end of iteration  . For its calculation each degree
  of freedom is considered independently from all others:
. For its calculation each degree
  of freedom is considered independently from all others:
where  denotes the change due to iteration
 denotes the change due to iteration  .
.
 : the largest change in solution (in absolute value) of
  field
: the largest change in solution (in absolute value) of
  field  in the present increment, i.e. the solution at the end of
  iteration i of the present increment minus the solution at the start of the increment :
 in the present increment, i.e. the solution at the end of
  iteration i of the present increment minus the solution at the start of the increment :
|  | (382) | 
where  denotes the change due to the present increment. In mechanical
calculations the solution is the displacement, in thermal calculations it is
the temperature.
 denotes the change due to the present increment. In mechanical
calculations the solution is the displacement, in thermal calculations it is
the temperature.
 : the largest change in solution (in absolute value) of
  field
: the largest change in solution (in absolute value) of
  field  in iteration
 in iteration  . :
. :
|  | (383) | 
Now, two constants  and
 and  are introduced:
 are introduced:  is used to check
convergence of the flux,
 is used to check
convergence of the flux,  serves to check convergence of the
solution. Their values depend on whether zero flux conditions prevail or
not. Zero flux is defined by
 serves to check convergence of the
solution. Their values depend on whether zero flux conditions prevail or
not. Zero flux is defined by
|  | (384) | 
The following rules apply:
 ) (no
  zero flux):
) (no
  zero flux):
![$ i \le I_p [9]$](img1328.png) )
) 
![$ c_1=R_n^\alpha [0.005]$](img1329.png) ,
, 
![$ c_2=C_n^\alpha [0.02]$](img1330.png) .
.
![$ c_1=R_p^\alpha [0.02]$](img1331.png) ,
, 
![$ c_2=C_n^\alpha [0.02]$](img1330.png) .
.
![$ c_1=\epsilon^\alpha [{10}^{-5}]$](img1332.png) ,
, 
![$ c_2=C_\epsilon^\alpha [0.001]$](img1333.png) 
The values in square brackets are the default values. They can be changed by using the keyword card *CONTROLS. Now, convergence is obtained if
|  | (385) | 
AND if, for thermal or thermomechanical calculations (*HEAT TRANSFER, *COUPLED TEMPERATURE-DISPLACEMENT or *UNCOUPLED TEMPERATURE-DISPLACEMENT), the temperature change does not exceed DELTMX,
AND at least one of the following conditions is satisfied:
 
|  | (386) | 
![$ r^{\alpha}_{i,max} \le R_l^\alpha [10^{-8}] \tilde{q}^{\alpha}_i$](img1337.png) . If this
  condition is satisfied, the increment is assumed to be linear and no
  solution convergence check is performed. This condition only applies if no
  gas temperatures are to be calculated (no forced convection).
. If this
  condition is satisfied, the increment is assumed to be linear and no
  solution convergence check is performed. This condition only applies if no
  gas temperatures are to be calculated (no forced convection).
![$ \bar{q}^{\alpha}_i \le \epsilon^\alpha [10^{-5}] \tilde{q}^{\alpha}_i$](img1338.png) (zero flux conditions). This condition only applies if no
  gas temperatures are to be calculated (no forced convection).
  (zero flux conditions). This condition only applies if no
  gas temperatures are to be calculated (no forced convection).
 .
.
If convergence is reached, and the size of the increments is not fixed by the user (no parameter DIRECT on the *STATIC, *DYNAMIC or *HEAT TRANSFER card) the size of the next increment is changed under certain circumstances:
![$ i > I_L [10]$](img1340.png) ):
): 
![$ d \theta = d \theta D_B [0.75]$](img1341.png) , where
, where  is the increment size relative to the step size (convergence was
  rather slow and the increment size is decreased).
  is the increment size relative to the step size (convergence was
  rather slow and the increment size is decreased).
![$ i \le I_G [4]$](img1343.png) ) AND the same applies for the previous increment:
) AND the same applies for the previous increment:  
![$ d \theta = d \theta D_D [1.5]$](img1344.png) (convergence is
  fast and the increment size is increased).
 (convergence is
  fast and the increment size is increased).
If no convergence is reached in iteration  , the following actions are
taken:
, the following actions are
taken:
 [0.85].
 [0.85].
![$ i > I_C [16]$](img1346.png) , too many iterations are needed to reach convergence
  and any further effort is abandoned: CalculiX stops with an error message.
, too many iterations are needed to reach convergence
  and any further effort is abandoned: CalculiX stops with an error message.
![$ i \ge I_0 [4]$](img1347.png) AND
 AND 
 AND
 AND
  
 AND
 AND 
 AND
 AND
  
 AND
 AND 
 then:
 then:
![$ d \theta = d
\theta D_F [0.25]$](img1353.png) and the iteration of the increment is restarted.
 and the iteration of the increment is restarted.
![$ i \ge I_R [8]$](img1354.png) , the number of iterations
, the number of iterations  is estimated needed to
  reach convergence.
 is estimated needed to
  reach convergence.  roughly satisfies:
 roughly satisfies:
|  | (387) | 
from which  can be determined. Now, if
 can be determined. Now, if 
| ![$\displaystyle i+\frac{\ln \left( R_n^\alpha \frac{\tilde{q}^{\alpha}_i}{r^{\alp...
...\ln \left( \frac{r^{\alpha}_{i,max}}{r^{\alpha}_{i-1,max}} \right) } > I_C [16]$](img1356.png) | (388) | 
(which means that the estimated number of iterations needed to reach
  convergence exceeds  ) OR
) OR  , the increment size is adapted according to
, the increment size is adapted according to 
![$ d \theta = d
\theta D_C [0.5]$](img1359.png) and the iteration of the increment is restarted unless
  the parameter DIRECT was selected. In the latter case the increment is not
  restarted and the iterations continue.
 and the iteration of the increment is restarted unless
  the parameter DIRECT was selected. In the latter case the increment is not
  restarted and the iterations continue.
 
 
 
 
 
 
