Boundary Conditions

Boundary conditions:

  • can be used to specify the values of all basic solution variables (displacements, rotations, warping amplitude, fluid pressures, pore pressures, temperatures, electrical potentials, normalized concentrations, acoustic pressures, or connector material flow) at nodes;

  • can be given as “model” input data to define zero-valued boundary conditions;

  • can be given as “history” input data (within an analysis step) to add, modify, or remove zero-valued or nonzero boundary conditions; and

  • can be defined by the user through subroutines DISP for Abaqus/Standard and VDISP for Abaqus/Explicit.

Relative motions in connector elements can be prescribed similar to boundary conditions. See Connector Actuation for more detailed information.

This page discusses:

Prescribing Boundary Conditions as Model Data

Only zero-valued boundary conditions can be prescribed as model data. You can specify the data using either “direct” or “type” format. As described below, the “type” format is a way of conveniently specifying common types of boundary conditions in stress/displacement analyses. “Direct” format must be used in all other analysis types.

For both “direct” and “type” format you specify the region of the model to which the boundary conditions apply and the degrees of freedom to be restrained. (See Conventions for the degree of freedom numbers used in Abaqus.)

Boundary conditions prescribed as model data can be modified or removed during analysis steps.

Using the Direct Format

You can choose to enter the degrees of freedom to be constrained directly.

Using the “Type” Format in Stress/Displacement Analyses

The type of boundary condition can be specified instead of degrees of freedom. The following boundary condition “types” are available in both Abaqus/Standard and Abaqus/Explicit:

XSYMM

Symmetry about a plane X=constant (degrees of freedom 1,5,6=0).

YSYMM

Symmetry about a plane Y=constant (degrees of freedom 2,4,6=0).

ZSYMM

Symmetry about a plane Z=constant (degrees of freedom 3,4,5=0).

ENCASTRE

Fully built-in (degrees of freedom 1,2,3,4,5,6=0).

PINNED

Pinned (degrees of freedom 1,2,3=0).

The following boundary condition types are available only in Abaqus/Standard:

XASYMM

Antisymmetry about a plane with X=constant (degrees of freedom 2, 3, 4 =0).

YASYMM

Antisymmetry about a plane with Y=constant (degrees of freedom 1, 3, 5 =0).

ZASYMM

Antisymmetry about a plane with Z=constant (degrees of freedom 1, 2, 6 =0).

Warning: When boundary conditions are prescribed at a node in an analysis involving finite rotations, at least two rotation degrees of freedom should be constrained. Otherwise, the prescribed rotation at the node may not be what you expect. Therefore, antisymmetry boundary conditions should generally not be used in problems involving finite rotations.

NOWARP

Prevent warping of an elbow section at a node.

NOOVAL

Prevent ovalization of an elbow section at a node.

NODEFORM

Prevent all cross-sectional deformation (warping, ovalization, and uniform radial expansion) at a node.

The NOWARP, NOOVAL, and NODEFORM types apply only to elbow elements (Pipes and Pipebends with Deforming Cross-Sections: Elbow Elements).

For example, applying a boundary condition of type XSYMM to node set EDGE indicates that the node set lies on a plane of symmetry that is normal to the X-axis (which will be the global X-axis or the local X-axis if a nodal transformation has been applied at these nodes). This boundary condition is identical to applying a boundary condition using the direct format to degrees of freedom 1, 5, and 6 in node set EDGE since symmetry about a plane X=constant implies ux=0, ϕy=0, and ϕz=0.

Once a degree of freedom has been constrained using a “type” boundary condition as model data, the constraint cannot be modified by using a boundary condition in “direct” format as model data; modifying a constraint in such a way will only produce an error message in the data (.dat) file indicating that conflicting boundary conditions exist in the model data.

Prescribing Boundary Conditions at Phantom Nodes for Enriched Elements

Phantom nodes for an enriched element can be either colocated with real nodes or located on an element edge between two real corner nodes (see Modeling Discontinuities as an Enriched Feature Using the Extended Finite Element Method). For phantom nodes coincident with real nodes, boundary conditions can be specified using the node numbers of the real nodes.

Alternatively, for phantom nodes with pore pressure degrees of freedom that are located on an element edge, you can specify the boundary conditions by identifying the phantom nodes in terms of the two real corner node numbers or by indicating they will be interpolated from the specified real corner nodes when the enriched element is cracked.

Prescribing Boundary Conditions as History Data

Boundary conditions can be prescribed within an analysis step using either “direct” or “type” format. As with model data boundary conditions, the “type” format can be used only in stress/displacement analyses; whereas, the “direct” format can be used in analysis types.

When using the “direct” format, boundary conditions can be defined as the total value of a variable or, in a stress/displacement analysis, as the value of a variable's velocity or acceleration.

As many boundary conditions as necessary can be defined in a step.

Using the Direct Format

Specify the region of the model to which the boundary conditions apply, the degree or degrees of freedom to be specified (see Conventions for the degree of freedom numbers used in Abaqus), and the magnitude of the boundary condition. If the magnitude is omitted, it is the same as specifying a zero magnitude.

In stress/displacement analysis you can specify a velocity history or an acceleration history. The default is a displacement history.

Prescribed Displacement

In Abaqus/Standard you can prescribe jumps in displacements. For example, a displacement-type boundary condition is used to apply a prescribed displacement magnitude of 0.5 in degree of freedom 1 (ux) to the nodes in node set EDGE. In a second step these nodes can be moved by another 0.5 length units (to a total displacement of 1.0) by applying a prescribed displacement magnitude of 1.0 in degree of freedom 1 to node set EDGE. Specifying a prescribed displacement magnitude of 0 (or omitting the magnitude) in degree of freedom 1 in the next step would return the nodes in node set EDGE to their original locations.

In contrast, Abaqus/Explicit does not admit jumps in displacements and rotations. Displacement boundary conditions in displacement and rotation degrees of freedom are enforced in an incremental manner using the slope of the amplitude curve (see below). If no amplitude is specified, Abaqus/Explicit will ignore the user-supplied displacement value and enforce a zero velocity boundary condition.

The displacement must remain continuous across steps. If amplitude curves are specified, it is possible, but not valid, to specify a jump in the displacement across a step boundary when using step time for the amplitude definition. Abaqus/Explicit will ignore such jumps in displacement if they are specified.

Using the “Type” Format in Stress/Displacement Analyses

The type of boundary condition can be specified (as history data) instead of degrees of freedom in the same manner as discussed above for model data. The boundary condition “types” that are available as history data are the same as those available as model data.

Once a degree of freedom has been constrained using a “type” boundary condition as history data, the constraint cannot be modified by using a boundary condition in “direct” format. The constraint can be redefined only by using a boundary condition in “direct” format after all previously applied boundary conditions specified using “type” format are removed.

Defining Boundary Conditions That Vary with Time

The prescribed magnitude of a basic solution variable, a velocity, or an acceleration can vary with time during a step according to an amplitude definition (Amplitude Curves).

When an amplitude definition is used with a boundary condition in a dynamic or modal dynamic analysis, the first and second time derivatives of the constrained variable may be discontinuous. For example, Abaqus will compute the corresponding velocity and acceleration from a given displacement boundary condition.

By default, Abaqus/Standard will smooth the amplitude curve so that the derivatives of the specified boundary condition will be finite. You must ensure that the applied values are correct after smoothing.

Abaqus/Explicit does not apply default smoothing to discontinuous amplitude curves. To avoid the “noisy” solution that may result from discontinuities in Abaqus/Explicit, it is better to specify the velocity history of a node. See Amplitude Curves.

Defining Boundary Conditions through User Subroutines

If an amplitude based evolution of a boundary condition is not sufficient, you can define it yourself in a user subroutine. For this purpose, Abaqus/Standard provides the routine DISP; whereas, Abaqus/Explicit provides the routine VDISP. The region to which the boundary conditions apply and the constrained degrees of freedom are specified as part of the boundary condition definition. The actual boundary condition is set within the user routine based on a number of variables made available in those routines (see DISP and VDISP).

Abaqus/Standard allows for an amplitude and a reference magnitude definition for a user-defined boundary condition and you may overwrite the amplitude based boundary value within the DISP routine. Whereas, Abaqus/Explicit ignores the reference magnitude, but passes in the amplitude value as an argument to the user routine VDISP and you may define the boundary condition to a non-zero value.

Boundary Condition Propagation

By default, all boundary conditions defined in the previous general analysis step remain unchanged in the subsequent general step or in subsequent consecutive linear perturbation steps. Boundary conditions do not propagate between linear perturbation steps. You define the boundary conditions in effect for a given step relative to the preexisting boundary conditions. At each new step the existing boundary conditions can be modified and additional boundary conditions can be specified. Alternatively, you can release all previously applied boundary conditions in a step and specify new ones. In this case any boundary conditions that are to be retained must be respecified.

Modifying Boundary Conditions

When you modify an existing boundary condition, the node or node set must be specified in exactly the same way as previously. For example, if a boundary condition is specified for a node set in one step and for an individual node contained in the set in another step, Abaqus issues an error. You must remove the boundary condition and respecify it to change the way the node or node set is specified.

Removing Boundary Conditions

If you choose to remove any boundary condition in a step, no boundary conditions will be propagated from the previous general step. Therefore, all boundary conditions that are in effect during this step must be respecified. The only exception to this rule is during an eigenvalue buckling prediction procedure, as described in Eigenvalue Buckling Prediction.

Setting a boundary condition to zero is not the same as removing it.

Fixing Degrees of Freedom at a Point in an Abaqus/Standard Analysis

In Abaqus/Standard you can “freeze” specified degrees of freedom at their final values from the last general analysis step. Specifying a zero velocity or zero acceleration boundary condition has the same effect as fixing the degrees of freedom for displacement or velocity, respectively. In a one-step inverse procedure, all degrees of freedom are constrained based on the specified initial configuration for the point.

Prescribing Boundary Conditions in Linear Perturbation Steps

In a linear perturbation step (General and Perturbation Procedures) the magnitudes of prescribed boundary conditions should be given as the magnitudes of the perturbations about the base state. Boundary conditions given within the model definition are always regarded as part of the base state, even if the first analysis step is a linear perturbation step. The boundary conditions given in a linear perturbation step will not affect subsequent steps.

If a perturbation step does not contain a boundary condition definition, degrees of freedom that are restrained/prescribed in the base state will be restrained in the perturbation step and will have perturbation magnitudes of zero. To prescribe nonzero perturbation magnitudes, you have to modify the existing boundary conditions. You can also fix and prescribe perturbation magnitudes of degrees of freedom that are unrestrained in the base state.

If degrees of freedom that are restrained/prescribed in the base state are released, all restraints that are to remain must be respecified, remembering that all magnitudes will be interpreted as perturbations.

Fixing the degrees of freedom at their final values from the last general analysis step (see previous discussion) has the same effect as modifying the existing boundary conditions to have zero perturbation magnitudes for all specified degrees of freedom.

The antisymmetric buckling modes of a symmetric structure can be found in an eigenvalue buckling prediction analysis by specifying the proper boundary conditions (see Eigenvalue Buckling Prediction).

Prescribing Real and Imaginary Values in Boundary Conditions

In steady-state dynamic and matrix generation procedures, a boundary condition can be prescribed using either a real or an imaginary value (see Direct-Solution Steady-State Dynamic Analysis and Generating Structural Matrices). If the real value is prescribed for a degree of freedom (and the imaginary value is not explicitly prescribed), the imaginary value is considered to be zero. Similarly, if the imaginary value is prescribed (and the real value is not explicitly prescribed), the real value is considered to be zero.

Prescribed Motion in Modal Superposition Procedures

In modal superposition procedures (About Dynamic Analysis Procedures) prescribed displacements cannot be defined directly using a boundary condition. Instead, the boundary conditions are grouped into bases in a frequency extraction step. Then, the motion of each base is prescribed in the modal superposition step. See Natural Frequency Extraction and Transient Modal Dynamic Analysis for details on this method.

Submodeling

When using the submodeling technique, the magnitudes of the boundary conditions in the submodel can be defined by interpolating the values of the prescribed degrees of freedom from the file output results of the global model. See Node-Based Submodeling for details.

Prescribing Large Rotations

Sequential finite rotations about different axes of rotation are not additive, which can make direct specification of such rotations challenging. It is much simpler to apply finite-rotation boundary conditions by specifying the rotational velocity versus time. For a discussion of the rotation degrees of freedom and a multiple step finite rotation example that demonstrates why velocity-type boundary conditions are preferred for specifying finite-rotation boundary conditions, see Conventions.

When velocity-type boundary conditions are used to prescribe rotations, the definition is given in terms of the angular velocity instead of the total rotation. If the angular velocity is associated with a nondefault amplitude, Abaqus calculates the prescribed increment of rotation as the average of the prescribed angular velocities at the beginning and the end of each increment, multiplied by the time increment.

In Abaqus/Explicit displacement-type boundary conditions that refer to an amplitude curve are effectively enforced as velocity boundary conditions using average velocities over time increments as computed by finite differences of values from the amplitude curve. As with prescribed displacements (see Prescribed Displacement above), Abaqus/Explicit does not admit jumps in rotations.

Displacement-type boundary conditions in Abaqus/Standard that constrain just one component of rotation can have essentially no effect on the solution because the two unconstrained rotational degrees of freedom can combine to override the constraint.

Example: Using Velocity-Type Boundary Conditions to Prescribe Rotations

For example, if a rotation of 6π about the z-axis is required in a static step, with no rotation about the x- and y-axes, use a step time (specified as part of the static step definition) of 1.0, and define a velocity-type boundary condition to specify zero velocity for degrees of freedom 4 and 5 and a constant angular velocity of 6π for degree of freedom 6. Since the default variation for a velocity-type boundary condition in a static procedure is a step, the velocity will be constant over the step. Alternatively, an amplitude reference could be used to specify the desired variation over the step.

BOUNDARY, TYPE=VELOCITY
NODE, 4
NODE, 5
NODE, 6, 6, 18.84955592

If, in the next step, the same node should have an additional rotation of π/2 radians about the global x-axis, use another static step with a step time of 1.0 and again define a velocity-type boundary condition to prescribe zero velocity for degrees of freedom 5 and 6 and a constant angular velocity of π/2 for degree of freedom 4.

BOUNDARY, TYPE=VELOCITY
NODE, 4, 4, 1.570796327
NODE, 5
NODE, 6

Prescribing Radial Motion on an Axisymmetric Model

The radial coordinate for any node in an axisymmetric model must be positive. Therefore, you must make sure that any specified boundary condition does not violate this condition.