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
prescribedtimesis given.- [
deltat(rn)] Length of the time step. Default
1.0. Ignored whenprescribedtimesis 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:
0tangent (default),1secant,2the original elastic stiffness throughout.- [
initialguess(in)] How each step starts; see Parameters common to all engineering models. For
StaticStructuralthe default is1(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
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 0disables 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
deltaTis reduced internally,nstepsis 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,
tauandpybecome mandatory.- [
tau(rn)] Dynamic relaxation: the \(\tau\) parameter. Mandatory when
drflagis nonzero.- [
py(rn)] Dynamic relaxation: the estimate of the loading magnitude. Mandatory when
drflagis nonzero.- [
nonlocalext] Parallel build only. Turns on the nonlocal constitutive extension; see
nonlocalextunder 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:0TD_ThreePointBackward(default),1TD_TwoPointBackward,2TD_Newmark,3TD_Wilson,4TD_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
prescribedTimesis 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).2adds 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,1active.- [
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.1uses 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, anddeltatdetermines 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.1forces the use of the secant stiffness in the same places.2uses 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
manrmstepssteps.- [
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
nccdgis omitted, one group containing all DOF types is created.- [
ccdg1(ia)] … [ccdgN(ia)] The DOF types of each convergence group, where the
#inccdg#is the group number, counted from 1. The array holdsDofIDItemvalues identifying the physical meaning of the DOFs in the group; seesrc/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,rtolfandrtoldare real values; when convergence criteria DOF groups are used, they must be real arrays of sizenccdg, 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. With1, 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
stepLengthis 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.
reqIterationsis set to the same value, andMaxIteris raised if it is lower.- [
manrmsteps(in)] Forces the use of the accelerated Newton-Raphson method, where the stiffness is updated after
manrmstepssteps. 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 oncehpcis used) full ALM with a quadratic constraint taking only the selected DOFs into account;2constraint 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
hpcand 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
pertand 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 is0: 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, orgmshgeoandgmshctrlfor 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;1forces 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, orgmshgeoandgmshctrlfor 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.