Structural problems

StaticStructural

Static structural analysis. Solves linear and nonlinear static structural problems, supporting changes in boundary conditions (applied load and supports). The problem can be solved under direct load or displacement control, indirect control, or any combination of the two.

The individual solution steps describe the history of the applied incremental loading. Load cases are not supported: a new analysis has to be run for each load case. To analyse a linear static problem with several load combinations, use Linear static analysis instead.

By default all material nonlinearities are taken into account, geometrical ones are not. To include geometrically nonlinear effects, specify the level of non-linearity in the element records.

Record syntax

StaticStructural nsteps (in) [deltat (rn)] [prescribedtimes (ra)] [solvertype (s)] [stiffmode (in)] [initialguess (in)] [smtype (in)] [sparselinsolverparams (…)] [recomputeaftercrackprop] <[nonlocalext]>

Parameters

nsteps (in)

Number of solution steps. Ignored when prescribedtimes is given.

[deltat (rn)]

Length of the time step. Default 1.0. Ignored when prescribedtimes is given.

[prescribedtimes (ra)]

Array of discrete solution times. When present, the number of solution steps equals the size of this array.

[solvertype (s)]

Name of the non-linear solver. Default nrsolver, the Newton-Raphson solver whose attributes are documented under NonLinearStatic.

[stiffmode (in)]

Which stiffness the solver requests: 0 tangent (default), 1 secant, 2 the original elastic stiffness throughout.

[initialguess (in)]

How each step starts; see Parameters common to all engineering models. For StaticStructural the default is 1 (approximated tangent problem), which is the better choice when prescribed displacements change.

[smtype (in)]

Sparse matrix storage scheme. Default 0, the symmetric skyline. See Sparse linear solver parameters.

[sparselinsolverparams (…)]

Attributes of the sparse linear solver; see Sparse linear solver parameters.

[recomputeaftercrackprop]

A flag; when present, the solution step is recomputed after crack propagation.

[nonlocalext]

Parallel build only. Turns on the nonlocal constitutive extension, which maintains a band of remote elements taking part in the computation of nonlocal variables — see Fig. 3. In parallel mode the analysis record must be identical in every partition input file, and the parallel version requires the PETSc module.

Adaptive time stepping is available through the meta-step attributes described in Time stepping and adaptive time step.

Contact analysis

In addition to the standard boundary condition types, StaticStructural supports contact analysis through a penalty-based contact formulation. Contact interactions are defined with structuralpenaltycontactbc boundary conditions (see Structural penalty contact) together with StructuralContactElement_* elements and StructuralFEContactSurface records (see Contact surface records). This makes frictionless — and, experimentally, frictional — contact between deformable bodies possible within a static framework.

Linear static analysis

Linear static analysis. The problem supports multiple load cases: the number of load cases equals the number of solution steps, and the individual load vectors are formed in the individual time steps. The static system, however, is assumed to be the same for all load cases. For each load case an auxiliary time step is generated whose time equals the load case number.

Record syntax

LinearStatic nsteps (in) [sparselinsolverparams (…)]

Parameters

nsteps (in)

Number of load cases.

[sparselinsolverparams (…)]

Attributes of the sparse linear solver; see Sparse linear solver parameters.

Pdelta

Performs P-delta analysis, a form of geometrically nonlinear analysis in which the effect of axial (normal) forces on the deformed configuration is taken into account. It solves the nonlinear equation

\[\left(\boldsymbol{K}+\boldsymbol{K}_s(\boldsymbol{r})\right)\boldsymbol{r} = \boldsymbol{f},\]

where \(\boldsymbol{K}\) is the stiffness matrix, \(\boldsymbol{K}_s\) the initial stress matrix, \(\boldsymbol{r}\) the displacement vector and \(\boldsymbol{f}\) the load vector.

Record syntax

pdelta nsteps (in) rtolv (rn) [lumped (in)] [maxiter (in)] [sparselinsolverparams (…)]

Parameters

nsteps (in)

Number of solution steps; set it to 1.

rtolv (rn)

Relative convergence tolerance.

[lumped (in)]

Nonzero (the default) uses the lumped initial stress matrix; set it to zero to use the consistent initial stress matrix.

[maxiter (in)]

Maximum number of iterations. Default 50.

[sparselinsolverparams (…)]

Attributes of the sparse linear solver; see Sparse linear solver parameters.

EigenValueDynamic

Eigenvalue dynamic analysis. Only the nroot smallest eigenvalues and their corresponding eigenvectors are computed.

Record syntax

EigenValueDynamic nroot (in) rtolv (rn) [shift (rn)] [eigensolverparams (…)]

Parameters

nroot (in)

Number of eigenvalues to compute.

rtolv (rn)

Relative convergence criterion.

[shift (rn)]

Spectral shift \(\sigma\); the solver works with \(\boldsymbol{K} + \sigma\boldsymbol{M}\), which is regular also for unsupported structures (rigid body modes), and the eigenvalues are shifted back. If not given, a small shift is estimated from the diagonals of \(\boldsymbol{K}\) and \(\boldsymbol{M}\); shift 0 disables it.

[eigensolverparams (…)]

Attributes of the eigenvalue solver; see Eigenvalue solver parameters.

NlDEIDynamic

Direct explicit nonlinear dynamic integration. The central difference method with a diagonal mass matrix is used, and the damping matrix is assumed proportional to the mass matrix, \(\boldsymbol{C} = \mathrm{dumpcoef}\cdot\boldsymbol{M}\), where \(\boldsymbol{M}\) is the diagonal mass matrix.

Record syntax

NlDEIDynamic nsteps (in) dumpcoef (rn) [deltaT (rn)] [reduct (rn)] [drflag (in)] [tau (rn)] [py (rn)] <[nonlocalext]>

Parameters

nsteps (in)

Number of time steps to analyse. If deltaT is reduced internally, nsteps is adjusted so that the total analysis time stays the same.

dumpcoef (rn)

Mass-proportional damping coefficient.

[deltaT (rn)]

Time step length used for integration. The program may reduce it to satisfy the stability conditions of the solution.

[reduct (rn)]

Scaling factor, smaller than 1, multiplying the step length the program determined.

[drflag (in)]

A nonzero value turns on dynamic relaxation, used to find a static solution by damping the transient response. When it is nonzero, tau and py become mandatory.

[tau (rn)]

Dynamic relaxation: the \(\tau\) parameter. Mandatory when drflag is nonzero.

[py (rn)]

Dynamic relaxation: the estimate of the loading magnitude. Mandatory when drflag is nonzero.

[nonlocalext]

Parallel build only. Turns on the nonlocal constitutive extension; see nonlocalext under StaticStructural.

DEIDynamic

Direct explicit linear integration scheme for dynamic problems. The central difference method with a diagonal mass matrix is used, and the damping matrix is assumed proportional to the mass matrix, \(\boldsymbol{C} = \mathrm{dumpcoef}\cdot\boldsymbol{M}\).

Record syntax

DEIDynamic nsteps (in) dumpcoef (rn) [deltaT (rn)]

Parameters

nsteps (in)

Number of time steps to analyse.

dumpcoef (rn)

Mass-proportional damping coefficient.

[deltaT (rn)]

Time step length used for integration. The program may reduce it to satisfy the stability conditions of the solution.

DIIDynamic

Direct implicit integration of linear dynamic problems. The solution procedure is described in K. Subbaraj and M. A. Dokainish, A survey of direct time-integration methods in computational structural dynamics — II. Implicit methods, Computers & Structures 32(6), 1387–1401, 1989.

Damping is modelled as Rayleigh damping, \(\boldsymbol{C} = \eta\,\boldsymbol{M} + \delta\,\boldsymbol{K}\).

Record syntax

DIIDynamic nsteps (in) deltaT (rn) [ddtscheme (in)] [gamma (rn)] [beta (rn)] [eta (rn)] [delta (rn)] [theta (rn)]

Parameters

nsteps (in)

Number of time steps to analyse.

deltaT (rn)

Time step length used for integration.

[ddtscheme (in)]

Integration scheme, as defined in src/core/timediscretizationtype.h: 0 TD_ThreePointBackward (default), 1 TD_TwoPointBackward, 2 TD_Newmark, 3 TD_Wilson, 4 TD_Explicit.

[gamma (rn)], [beta (rn)]

Newmark parameters governing the stability and accuracy of the integration algorithm. Defaults are \(\gamma=0.5\) and \(\beta=0.25\). With \(\gamma=0.5\) and \(\beta=1/6\) the linear acceleration method is obtained. Unconditional stability requires \(2\beta \ge \gamma \ge 1/2\).

[theta (rn)]

Required by the Wilson-\(\theta\) method. Default 1.37.

[eta (rn)], [delta (rn)]

Mass- and stiffness-proportional Rayleigh damping coefficients \(\eta\) and \(\delta\).

IncrementalLinearStatic

Incremental linear static problem. The problem is solved as a series of linear solutions and is intended for linear creep problems and incremental perfect plasticity. Changes of the static scheme — applying, removing and changing boundary conditions — are supported during the analysis.

Note

The record keyword is incrlinearstatic, not the class name IncrementalLinearStatic.

Record syntax

incrlinearstatic endOfTimeOfInterest (rn) prescribedTimes (ra) [deltat (rn)]

Parameters

endOfTimeOfInterest (rn)

Time at the end of the interval of interest.

prescribedTimes (ra)

Times at which the response is computed. These should include the times at which boundary conditions change, plus any other times of interest. For linear creep analysis, and in the absence of changes in loading or boundary conditions, the values should be distributed uniformly on a logarithmic time scale.

[deltat (rn)]

Length of the time step, used when prescribedTimes is not given.

NonLinearStatic

Non-linear static analysis. The problem can be solved under direct load or displacement control, indirect control, or any combination of the two. By default all material nonlinearities are included, geometrical ones are not; to include geometrically nonlinear effects, specify the level of non-linearity in the element records.

There are two ways of supplying the parameters: the extended syntax, which uses meta-steps, and the standard syntax, which puts everything in the analysis record.

Extended syntax

Record syntax

NonLinearStatic nsteps (in) [nmsteps (in)] [contextOutputStep (in)] [sparselinsolverparams (…)] [nonlinform (in)] <[nonlocstiff (in)]> <[nonlocalext]> <[loadbalancing]>

This record is immediately followed by the meta-step records described below.

Parameters

[nmsteps (in)]

Number of meta-steps. Default 1.

nsteps (in)

Number of solution steps.

[contextOutputStep (in)]

Create a context file every contextOutputStep-th step, and whenever one is needed. Useful for post-processing.

[sparselinsolverparams (…)]

Attributes of the sparse linear solver; see Sparse linear solver parameters.

[nonlinform (in)]

Formulation of the non-linear problem. 1 (default) uses the total Lagrangian formulation on the undeformed original shape (first-order theory). 2 adds the equilibrated displacements to the original ones and updates them in each time step (second-order theory).

[nonlocstiff (in)]

Parallel build only. Whether the tangent stiffness extension for nonlocal models is active: 0 (default) inactive, 1 active.

[nonlocalext]

Parallel build only. Turns on the nonlocal constitutive extension, which maintains a band of remote elements taking part in the computation of nonlocal variables — see Fig. 3.

[loadbalancing]

Parallel build only. Turns on dynamic load balancing; its attributes are described in Dynamic load balancing parameters.

Meta-step record

Record syntax

nsteps (in) solverParams (…) [controlmode (in)] [deltat (rn)] [stiffmode (in)] [refloadmode (in)] [sparselinsolverparams (…)] [donotfixload]

Parameters

[controlmode (in)]

Type of solution control used for the meta-step. 0 (default) uses indirect control — the arc-length method, i.e. the CALM solver. 1 uses direct displacement or load control, i.e. the Newton-Raphson solver; in that mode prescribed load increments and controlled displacements can both be applied.

[deltat (rn)]

Time step length. Default 1.0. Each solution step has an associated intrinsic time at which the loading is generated, and deltat determines the spacing of the solution steps on the time scale.

[stiffmode (in)]

0 (default) uses the tangent stiffness at the beginning of a new step and whenever the numerical method asks for a stiffness update. 1 forces the use of the secant stiffness in the same places. 2 uses the original elastic stiffness throughout the solution.

[refloadmode (in)]

How the reference force load vector is obtained from the given total and initial load vectors. The initial load vector is the part of the loading that does not scale. This works only for force loading; other, non-force components such as temperature and prescribed displacements should always be given as total values. 0 (rlm_total, default) defines the reference incremental load vector as the total load vector assembled at the given time; 1 (rlm_incremental) obtains the reference load vector as the incremental load vector at the given time.

solverParams (…)

Parameters of the solver. Which solver they belong to is determined by controlmode: see Solver parameters for direct control (Newton-Raphson) for direct control and Solver parameters for indirect control (CALM) for indirect control.

[sparselinsolverparams (…)]

Attributes of the sparse linear solver; see Sparse linear solver parameters.

[donotfixload]

By default the load reached at the end of a meta-step is maintained in the subsequent steps as a fixed, non-scaling load, and the load level is reset to zero. When this keyword is present the loading continues instead and the load level is not reset. Under indirect control the load reached is not fixed in either case; a new reference loading vector is assembled for the new meta-step.

Solver parameters for direct control (Newton-Raphson)

Direct control corresponds to controlmode=1, for which the Newton-Raphson solver is used. The total load vector assembled for a solution step is the load level at which equilibrium is sought. The implementation also supports displacement control: one or more displacements can be prescribed by applying “quasi prescribed” boundary conditions, and the load level then represents the time at which equilibrium was found.

Note

The problem does not support changes of the static system. Direct displacement control can, however, be applied without a boundary condition being present (see the nrsolver documentation), so direct displacement control can be combined with direct load control or with indirect control.

Record syntax

maxiter (in) rtolv (rn) [minsteplength (rn)] [minIter (in)] [manrmsteps (in)] [ddm (ia)] [ddv (ra)] [ddltf (in)] [linesearch (in)] [lsearchamp (rn)] [lsearchmaxeta (rn)] [lsearchtol (rn)] [nccdg (in)] [ccdg1 (ia)] ... [ccdgN (ia)] [rtolf (rn)] [rtold (rn)] [initialGuess (in)]

Parameters

maxiter (in)

Maximum number of iterations allowed to reach equilibrium. If equilibrium is not reached, the step length — corresponding to time — is reduced.

[minsteplength (rn)]

Minimum step length allowed.

[minIter (in)]

Minimum number of iterations always performed during the iterative solution.

[manrmsteps (in)]

When nonzero, the modified Newton-Raphson scheme is used, with the stiffness updated after manrmsteps steps.

[ddm (ia)]

Degrees of freedom whose displacements are controlled. With N such DOFs, the array has the form 2*N dofman1 idof1 dofman2 idof2 ... dofmanN idofN, where dofmani is the number of the i-th dof manager and idofi the corresponding DOF number.

[ddv (ra)]

Relative weights of the controlled displacements; its size should be N. The actual value of a prescribed DOF is the product of its weight and the value of the time function given by ddltf.

[ddltf (in)]

Number of the time function used to evaluate the actual displacements of the controlled DOFs.

[linesearch (in)]

A nonzero value turns on the line search algorithm.

[lsearchtol (rn)]

Line search tolerance. Default 0.8.

[lsearchamp (rn)]

Line search amplification factor, which should lie in \((1,10)\).

[lsearchmaxeta (rn)]

Maximum limit on the length of the iterative step; the allowed range is \((1.5,15)\).

[nccdg (in)]

Number of DOF groups used for evaluating the convergence criteria. Each DOF is tested for membership of a group, and if it is a member its contribution is taken into account when the criteria for that group are evaluated. When nccdg is omitted, one group containing all DOF types is created.

[ccdg1 (ia)] … [ccdgN (ia)]

The DOF types of each convergence group, where the # in ccdg# is the group number, counted from 1. The array holds DofIDItem values identifying the physical meaning of the DOFs in the group; see src/core/dofiditem.h.

rtolv (rn)

Relative convergence norm, for both the iterative displacement change vector and the residual unbalanced force vector.

[rtolf (rn)], [rtold (rn)]

Independent relative convergence criteria for the unbalanced forces and for the iterative displacement change respectively. With the default convergence criteria, rtolv, rtolf and rtold are real values; when convergence criteria DOF groups are used, they must be real arrays of size nccdg, each value giving the relative criterion for one DOF group.

[initialGuess (in)]

Default 0, for which the first iteration of each step starts from the previously converged state and applies the prescribed displacement increments. That can produce very high strains in the elements connected to nodes with changing prescribed displacements, leaving the state far from equilibrium, which may lead to slow convergence and to strain localisation near the boundary. With 1, the contribution of the prescribed displacement increments to the internal nodal forces is linearised and moved to the right-hand side, which often gives an initial solution closer to equilibrium. If the step is in fact elastic, equilibrium is then fully restored after the second iteration, whereas the default method may need more iterations.

Solver parameters for indirect control (CALM)

Indirect control corresponds to controlmode=0, for which the CALM solver is used. The value of the reference load vector is determined by refloadmode at the first step of each meta-step. You must ensure that the same reference load vector can be obtained for every solution step of the meta-step; this is necessary for restart and adaptivity to work.

Record syntax

Psi (rn) MaxIter (in) stepLength (rn) rtolv (rn) [minStepLength (rn)] [initialStepLength (rn)] [forcedInitialStepLength (rn)] [reqIterations (in)] [maxrestarts (in)] [minIter (in)] [manrmsteps (in)] [hpcmode (in)] [hpc (ia)] [hpcw (ra)] [linesearch (in)] [lsearchamp (rn)] [lsearchmaxeta (rn)] [lsearchtol (rn)] [nccdg (in)] [ccdg1 (ia)] ... [ccdgN (ia)] [rtolf (rn)] [rtold (rn)] [pert (ia)] [pertw (ra)] [rpa (rn)] [rseed (in)]

Parameters

Psi (rn)

CALM \(\Psi\) control parameter. For \(\Psi = 0\) displacement control is applied. For nonzero values load control applies together with displacement control (ALM), and for large \(\Psi\) load control dominates.

MaxIter (in)

Maximum number of iterations allowed to reach the equilibrium state. When the limit is reached, a restart with a smaller step length follows.

stepLength (rn)

Maximum value of the arc length (step length).

[minStepLength (rn)]

Minimum step length; the step length never falls below it. If convergence problems are encountered and the step length cannot be decreased further, the computation terminates.

[initialStepLength (rn)]

Initial arc length. If not given, the maximum step length from stepLength is used.

[forcedInitialStepLength (rn)]

When a simulation is restarted the last predicted step length is used; this parameter overrides it, and also overrides initialStepLength.

[reqIterations (in)]

Approximate number of iterations, maintained by adjusting the step length.

[maxrestarts (in)]

Maximum number of restarts when convergence is not reached within MaxIter.

[minIter (in)]

Minimum number of iterations always performed during the iterative solution. reqIterations is set to the same value, and MaxIter is raised if it is lower.

[manrmsteps (in)]

Forces the use of the accelerated Newton-Raphson method, where the stiffness is updated after manrmsteps steps. By default the modified NR method is used, with no stiffness update.

[hpcmode (in)]

ALM mode. 0 (default) full ALM with a quadratic constraint on all DOFs; 1 (the default once hpc is used) full ALM with a quadratic constraint taking only the selected DOFs into account; 2 constraint linearised in displacements only, taking only the selected DOFs with the given weights into account.

[hpc (ia)]

Hyper-plane control: the degrees of freedom taken into account in the ALM step length condition. Important mainly for materially nonlinear problems with strong localisation. With N such DOFs, the array has the form 2*N dofman1 idof1 ... dofmanN idofN.

[hpcw (ra)]

DOF weights in the linear constraint. The DOF ordering follows hpc and the array size should be N.

[linesearch (in)], [lsearchtol (rn)], [lsearchamp (rn)], [lsearchmaxeta (rn)]

Line search control; see the identically named parameters under Solver parameters for direct control (Newton-Raphson).

[nccdg (in)], [ccdg1 (ia)] … [ccdgN (ia)]

Convergence criteria DOF groups; see Solver parameters for direct control (Newton-Raphson).

rtolv (rn)

Relative convergence norm, for both the iterative displacement change vector and the residual unbalanced force vector.

[rtolf (rn)], [rtold (rn)]

Independent relative convergence criteria for the unbalanced forces and for the iterative displacement change; see Solver parameters for direct control (Newton-Raphson).

[pert (ia)]

DOFs to be perturbed after the first iteration of each step. With M such DOFs, the array has the form 2*M dofman1 idof1 ... dofmanM idofM.

[pertw (ra)]

DOF perturbations. The DOF ordering follows pert and the array size should be M.

[rpa (rn)]

Amplitude of the random perturbation applied to each DOF.

[rseed (in)]

Seed for the random generator producing the random perturbations.

Standard syntax

All parameters, for the analysis as well as for the solver, are supplied in the analysis record. A default meta-step is created for all the solution steps required, and the meta-step attributes are then specified within the analysis record.

Record syntax

NonLinearStatic nsteps (in) rtolv (rn) lstype (in) smtype (in) solverParams (…) [contextOutputStep (in)] [controlmode (in)] [deltat (rn)] [stiffmode (in)] [nonlinform (in)] <[nonlocstiff (in)]> <[nonlocalext]> <[loadbalancing]>

The meaning of the parameters is the same as for the extended syntax. lstype selects the solver for the linear system of equations and smtype the sparse matrix storage scheme; the scheme must be compatible with the solver type. See Sparse linear solver parameters for details.

Adaptive linear static

Adaptive linear static analysis. Only a single loading case is supported. The problem is analysed on the initial mesh, the error is estimated (Zienkiewicz-Zhu error estimator) and the required mesh density is evaluated by the remeshing criterion and passed to the mesh generator interface, which typically writes it into a mesher-specific density file. This is the default behaviour; it is useful also for ordinary analyses, to obtain the error estimate.

When adaptivity is enabled (adapt = 1) and the error criterion is not satisfied, the mesh generator interface is asked to create a new mesh. If the interface is able to provide it (the built-in subdivision, or an external mesh generator run by the interface itself, see Mesh generator interfaces), a new solution step is created on the new mesh and the analysis, error estimation and density evaluation are repeated, until the error is acceptable or maxadaptsteps remeshings have been done. Because the problem is linear, a complete reanalysis is done on each new mesh and no mapping of the solution is needed. All solution steps have the same target time; each step corresponds to one mesh, so the output and export modules (e.g. VTK) produce one result per mesh. If the interface can not create the new mesh, the density file is written and the analysis terminates, as in the default mode.

Note

The adaptive framework needs specific functionality from the elements and material models. The Zienkiewicz-Zhu error estimator is supported by TrPlaneStress2d, TrPlaneStrain, PlaneStress2d, LTRSpace, LSpace and some plate and shell elements; see the Element Library Manual and the Material Library Manual.

Record syntax

Adaptlinearstatic nsteps (in) errorestimatorparams (…) [sparselinsolverparams (…)] [meshpackage (in)] [adapt (in)] [maxadaptsteps (in)] [meshpackageparams (…)]

Parameters

nsteps (in)

Number of loading cases; set it to 1.

[sparselinsolverparams (…)]

Attributes of the sparse linear solver; see Sparse linear solver parameters.

[meshpackage (in)]

Mesh package interface used to generate the required mesh density and, optionally, the new mesh. The supported interfaces and their numbering (the same as for Adaptive nonlinear static) are described in Mesh generator interfaces. The T3d interface (0) is used by default.

[adapt (in)]

Enables the adaptive loop (remeshing and reanalysis) when set to 1. Default is 0: only the error estimate and the required mesh density are produced.

[maxadaptsteps (in)]

Maximum number of remeshings in the adaptive loop. Default is 5.

[meshpackageparams (…)]

Parameters of the mesh package interface (for example remeshcmd, or gmshgeo and gmshctrl for Gmsh); see Mesh generator interfaces.

errorestimatorparams (…)

Parameters of the Zienkiewicz-Zhu error estimator; see Error estimators and indicators.

Example (Gmsh remeshing, see tools/unv2oofem/examples/adaptgmsh):

adaptlinearstatic nsteps 1 adapt 1 maxadaptsteps 6 meshpackage 4 eetype 1 normtype 1 requirederror 0.05 minelemsize 0.002 gmshgeo "lshape.geo" gmshctrl "lshape.ctrl" profileopt 1 nmodules 1

Adaptive nonlinear static

Adaptive non-linear static problem. The solution proceeds as a series of loading or displacement increments. The error is estimated at the end of each load increment, once equilibrium has been reached; depending on the error reached, the computation either continues or remeshing is performed.

When the mesh generator interface is able to create the new mesh (the built-in subdivision, or an external mesh generator run by the interface itself, e.g. Gmsh or any mesher given by remeshcmd, see Mesh generator interfaces), the primary unknowns and internal variables are mapped onto the new mesh, the equilibrium of the mapped configuration is optionally restored (equilmc) and the analysis continues with the next load increment within the same run.

Otherwise, the required mesh densities are written by the interface and the computation stops; a new discretization has to be generated externally. The computation can then be restarted from the last step (see Running the code): the solution is mapped onto the new mesh in a separate solution step, and a new load increment is applied. You may of course also start the analysis from the beginning with the new mesh. The estimators and indicators currently available are the linear Zienkiewicz-Zhu estimator and the scalar error indicator.

Note

The adaptive framework needs specific functionality from the elements and material models. See the Element Library Manual and the Material Library Manual.

Record syntax

Adaptnlinearstatic Nonlinearstaticparams (…) errorestimatorparams (…) [equilmc (in)] [meshpackage (in)] [eetype (in)] [meshpackageparams (…)]

Parameters

Nonlinearstaticparams (…)

The parameters related to the nonlinear analysis itself, described in NonLinearStatic.

[equilmc (in)]

Whether equilibrium is restored after the primary and internal variables have been mapped onto the new mesh, before the new load increment is applied. 0 (default) does not restore equilibrium; 1 forces it to be restored before the new step is applied.

[meshpackage (in)]

Mesh package interface used to generate the required mesh density and, optionally, the new mesh. The supported interfaces are described in Mesh generator interfaces. The T3d interface is used by default.

[meshpackageparams (…)]

Parameters of the mesh package interface (for example remeshcmd, or gmshgeo and gmshctrl for Gmsh); see Mesh generator interfaces.

[eetype (in)]

Type of error estimator or indicator to be used; see Error estimators and indicators.

errorestimatorparams (…)

The set of parameters belonging to the selected error estimator; see Error estimators and indicators.

Example (notched beam, nonlocal damage driven refinement with Gmsh remeshing and state mapping, see tools/unv2oofem/examples/adaptgmsh):

adaptnlinearstatic nsteps 25 controlmode 1 rtolv 1.e-3 maxiter 300 stiffmode 1 renumber 1 equilmc 1 eetype 0 vartype 1 minlim 0.05 maxlim 0.9 mindens 12.0 maxdens 5.0 defdens 25.0 meshpackage 4 gmshgeo "beam.geo" gmshctrl "beam_nl.ctrl" profileopt 1 nmodules 1

Free warping analysis

Free warping analysis computes the deplanation function of a cross section of arbitrary shape, by solving Laplace’s equation with automatically generated boundary conditions corresponding to the free warping problem.

This analysis supports only TrWarp elements and WarpingCS cross sections. One external node must be defined for each warping cross section. The coordinates of this node are arbitrary, but it must be defined with DofIDMask 1 24 and with one boundary condition representing the relative twist acting on the corresponding warping cross section. No additional loads are meaningful in free warping analysis.

Record syntax

FreeWarping nsteps (in)

Parameters

nsteps (in)

Number of loading cases. The series of loading cases is maintained as a sequence of time steps: for each load case an auxiliary time step is generated whose time equals the load case number, and the load vector for each load case is formed at that auxiliary time.