Extended syntax

The extended syntax uses the ``metastep'' concept and has the following format:

NonLinearStatic [nmsteps(in) #]
  nsteps(in) #
  [renumber(in) #]
  [contextOutputStep(in) #]
  [sparselinsolverparams(string) #]
  [nonlinform(in) #]
  $ \langle$[nonlocstiff(in) #]$ \rangle$
  $ \langle$[nonlocalext() #]$ \rangle$
  $ \langle$[loadbalancing() #]$ \rangle$

This record is immediately followed by metastep records with the format described bellow. The analysis parameters have following meaning

The metastep record has following general syntax:
  nsteps(in) #
  [controllmode(in) #]
  [deltat(rn) #]
  [stiffmode(in) #]
  [refloadmode(in) #]
  solverParams() #
  [sparselinsolverparams(string) #]
  [donotfixload() #]

where

-
controllmode - determines the type of solution control used for corresponding meta step. if == 0 then indirect control will be used to control solution process (arc-length method, default). if == 1 then direct displacement or load control will be used (Newton-Raphson solver). In the later mode, one can apply the prescribed load increments as well as control displacements.
-
deltaT - is time step length. If not specified, it is set equal to 1,0. Each solution step has associated the corresponding intrinsic time, at which the loading is generated. The deltaT determines the spacing between solution steps on time scale.
-
stiffMode - If == 0 (default) then tangent stiffness will be used at new step beginning and whenever numerical method will ask for stiffness update. If == 1 the use of secant tangent will be forced. The secant stiffness will be used at new step beginning and whenever numerical method will ask for stiffness update. If == 2 then original elastic stiffness will be used during the whole solution process.
-
The refloadmode parameter determines how the reference force load vector is obtained from given totalLoadVector and initialLoadVector. The initialLoadVector describes the part of loading which does not scale. Works only for force loading, other non-force components (temperature, prescribed displacements should always given in total values). If refLoadInputMode is 0 (rlm_total, default) then the reference incremental load vector is defined as totalLoadVector assembled at given time. If refLoadInputMode is 1 (rlm_inceremental) then the reference load vector is obtained as incremental load vector at given time.
-
solverParams - parameters of solver. The solver type is determined using controllmode.
 $&bull#bullet;$
The sparselinsolverparams parameter describes the sparse linear solver attributes and is explained in section 6.17.
-
By default, reached load at the end of metastep will be maintained in subsequent steps as fixed, non scaling load and load level will be reset to zero. This can be changed using keyword donotfixload, which if present, causes the loading to continue, not resetting the load level. For the indirect control the reached loading will not be fixed, however, the new reference loading vector will be assembled for the new metastep.

The direct solver corresponds to controllmode=1 and the Newton-Raphson solver is used. Under the direct control, the total load vector assembled for specific solution step represents the load level, where equilibrium is searched. The implementation supports also displacement control - it is possible to prescribe one or more displacements by applying ``quasi prescribed'' boundary condition(s)1The load level then represents the time, where the equilibrium has been found. The Newton-Raphson solver parameters (solverParams) for load-control are:
  maxiter(in) #
  [minsteplength(in) #]
  [minIter(in) #]
  [manrmsteps(in) #]
  [ddm(ia) #] [ddv(ra) #] [ddltf(in) #]
  [linesearch(in) #] [lsearchamp(rn) #]
  [lsearchmaxeta(rn) #] [lsearchtol(rn) #]
  [nccdg(in) # ccdg1(ia) # ... ccdgN(ia) # ]
  rtolv() # [rtolf() # rtold() # ]

where

The indirect solver corresponds to controllmode=0 and the CALM solver is used. The value of reference load vector is determined by refloadmode parameter mentioned above at the first step of each metastep. However, the user must ensure, that the same value of reference load vector could be obtained for all solution steps of particular metastep (this is necessary for restart and adaptivity to work). The corresponding meta step solver parameters (solverParams) are:
  Psi(rn) #
  MaxIter(in) #
  stepLength(rn) #
  [minStepLength(in) #]
  [initialStepLength(rn) #]
  [forcedInitialStepLength(rn) #]
  [reqIterations(in) #]
  [minIter(in) #]
  [manrmsteps(in) #]
  [hpcmode(in) #] [hpc(ia) #] [hpcw(ia) #]
  [linesearch(in) #] [lsearchamp(rn) #]
  [lsearchmaxeta(rn) #] [lsearchtol(rn) #]
  [nccdg(in) # ccdg1(ia) # ... ccdgN(ia) #]
  rtolv() # [rtolf() # rtold() # ]

where

Borek Patzak 2011-12-29