UMESHMOTION

User subroutine to specify mesh motion constraints during adaptive meshing.

User subroutine UMESHMOTION:

  • is called at the end of any increment where adaptive meshing is performed;

  • can be used to define the motion of nodes in an adaptive mesh constraint node set; and

  • can call utility routines GETVRN, GETNODETOELEMCONN, and GETVRMAVGATNODE to access results data at the node.

This page discusses:

Accessing Node Point Data

You are provided with access to the values of the node point quantities at the end of the increment through the utility routine GETVRN described in Obtaining Node Point Information. You can also access values of material point quantities extrapolated to, and averaged, at nodes at the end of the increment through the utility routine GETVRMAVGATNODE described in Obtaining Material Point Information Averaged at a Node. GETVRMAVGATNODE requires the list of elements attached to the node, which is obtained by calling the utility routine GETNODETOELEMCONN described in Obtaining Node to Element Connectivity.

User Subroutine Interface

      SUBROUTINE UMESHMOTION(UREF,ULOCAL,NODE,NNDOF,
     *    LNODETYPE,ALOCAL,NDIM,TIME,DTIME,PNEWDT,
     *    KSTEP,KINC,KMESHSWEEP,JMATYP,JGVBLOCK,LSMOOTH)
C
      INCLUDE 'ABA_PARAM.INC'
C
      DIMENSION ULOCAL(NDIM),JELEMLIST(*)
      DIMENSION ALOCAL(NDIM,*),TIME(2)
      DIMENSION JMATYP(*),JGVBLOCK(*)
C


      user coding to define ULOCAL
      and, optionally PNEWDT


      RETURN
      END

Variables to Be Defined

ULOCAL

Components of the mesh displacement or velocity of the adaptive mesh constraint node, described in the coordinate system ALOCAL. ULOCAL will be passed into the routine as values determined by the mesh smoothing algorithm. All components of the mesh displacement or velocity will be applied; i.e., you do not have the ability to select the directions in which the mesh displacement should be applied.

Variables That Can Be Updated

PNEWDT

Ratio of suggested new time increment to the time increment currently being used (DTIME, see below). This variable allows you to provide input to the automatic time incrementation algorithms in Abaqus/Standard (if automatic time incrementation is chosen).

PNEWDT is set to a large value before each call to UMESHMOTION.

The suggested new time increment provided to the automatic time integration algorithms is PNEWDT × DTIME, where the PNEWDT used is the minimum value for all calls to user subroutines that allow redefinition of PNEWDT for this increment.

If automatic time incrementation is not selected in the analysis procedure, values of PNEWDT greater than 1.0 will be ignored and values of PNEWDT less than 1.0 will cause the job to terminate.

LSMOOTH

Flag specifying that surface smoothing be applied after application of the mesh motion constraint. Set LSMOOTH to 1 to enable surface smoothing. When this flag is set, the constraint defined in ULOCAL will be modified by the smoothing algorithm. In cases where ULOCAL describes mesh motion normal to a surface, the smoothing will have a minor impact on this normal component of mesh motion.

Variables Passed in for Information

UREF

The value of the user-specified displacement or velocity provided as part of the adaptive mesh constraint definition. This value is updated based on any amplitude definitions used with the adaptive mesh constraint or default ramp amplitude variations associated with the current step.

NODE

Node number.

NNDOF

Number of degrees of freedom at the node.

LNODETYPE

Node type flag.

LNODETYPE=1 indicates that the node is on the interior of the adaptive mesh region.

LNODETYPE=2 indicates that the node is involved in a tied constraint.

LNODETYPE=3 indicates that the node is at the corner of the boundary of an adaptive mesh region.

LNODETYPE=4 indicates that the node lies on the edge of a boundary of an adaptive mesh region.

LNODETYPE=5 indicates that the node lies on a flat surface on a boundary of the adaptive mesh region.

LNODETYPE=6 indicates that the node participates in a constraint (other than a tied constraint) as a main node.

LNODETYPE=7 indicates that the node participates in a constraint (other than a tied constraint) as a secondary node.

LNODETYPE=10 indicates that a concentrated load is applied to the node.

ALOCAL

Local coordinate system aligned with the tangent to the adaptive mesh domain at the node. If the node is on the interior of the adaptive mesh domain, ALOCAL will be set to the identity matrix. In other cases the 1-direction is along an edge or in the plane of a flat surface. When NDIM=2, the 2-direction is normal to the surface. When NDIM=3, the 2-direction also lies in the plane of a flat surface or is arbitrary if the node is on an edge. When NDIM=3 the 3-direction is normal to the surface or is arbitrary if the node is on an edge.

NDIM

Number of coordinate dimensions.

TIME(1)

Current value of step time.

TIME(2)

Current value of total time.

DTIME

Time increment.

KSTEP

Step number.

KINC

Increment number.

KMESHSWEEP

Mesh sweep number.

JMATYP

Variable that must be passed into the GETVRMAVGATNODE utility routine to access local results at the node.

JGVBLOCK

Variable that must be passed into the GETVRN, GETNODETOELEMCONN, and GETVRMAVGATNODE utility routines to access local results at the node.