Boundary Conditions in Abaqus: A Comprehensive Guide to Setting Degrees of Freedom

Boundary conditions are a fundamental concept in finite element analysis (FEA), particularly within the Abaqus software suite. They define the constraints and loads applied to a model, specifying how the structure or fluid interacts with its environment. Understanding the various types of boundary conditions, how to apply them, and how they propagate between analysis steps is critical for obtaining accurate and reliable simulation results. This article provides a detailed overview of boundary conditions in Abaqus, focusing on their definition, application, and management within the software's framework.

In computational mechanics, boundary conditions are mathematical constraints that describe the behavior of a system at its boundaries. They are essential for solving the governing equations of physics, such as the equations of equilibrium or fluid flow. In Abaqus, boundary conditions can be applied to nodes, node sets, surfaces, or other geometric entities to define fixed supports, prescribed displacements, applied loads, or other constraints. The software supports several types of boundary conditions, including Dirichlet, Neumann, and Robin conditions, each serving a distinct purpose in the simulation process.

The application of boundary conditions in Abaqus is managed through the Abaqus/CAE graphical user interface or directly via the input file. The Load module in Abaqus/CAE provides tools for creating, modifying, and managing boundary conditions. Users can specify the region to which the condition applies, the degrees of freedom (DOFs) to be constrained, and the magnitude of the constraint or load. For example, a displacement-type boundary condition can be used to apply a prescribed displacement magnitude to specific degrees of freedom on selected nodes.

Abaqus/CAE automatically respecifies any boundary conditions that should remain in effect during a new analysis step. However, all boundary conditions that are in effect during a step must be respecified when a new step is created. The only exception to this rule is during an eigenvalue buckling prediction procedure. It is important to note that setting a boundary condition to zero is not the same as removing it. For instance, applying a prescribed displacement magnitude of zero in a degree of freedom will constrain that DOF to its original position, whereas omitting the boundary condition entirely leaves it free.

To release all previously applied boundary conditions and specify new ones, the BOUNDARY, OP=NEW option can be used in the input file. In Abaqus/CAE, this is achieved by deactivating a boundary condition within the Load module's Boundary Condition Manager. If there are other boundary conditions in the same step that also use OP=NEW, the FIXED parameter must be used with BOUNDARY, OP=NEW. When FIXED is specified, any magnitudes given for the boundary condition are ignored.

In Abaqus/Standard, it is possible to "freeze" specified degrees of freedom at their final values from the last general analysis step. This is done using the BOUNDARY, FIXED option. Specifying a zero velocity or zero acceleration boundary condition has the same effect as fixing the degrees of freedom for displacement or velocity, respectively. This feature is useful for holding a structure in its deformed state from a previous step.

The propagation of boundary conditions between steps follows specific rules. By default, all boundary conditions defined in a previous general analysis step remain unchanged in subsequent general steps or in subsequent consecutive linear perturbation steps. However, boundary conditions do not propagate between linear perturbation steps. Users define the boundary conditions in effect for a given step relative to the preexisting conditions. At each new step, existing boundary conditions can be modified, and additional conditions can be specified. This allows for the simulation of complex loading histories where constraints or loads change over time.

Abaqus/Explicit handles boundary conditions differently from Abaqus/Standard. Abaqus/Explicit does not admit jumps in displacements and rotations. Displacement boundary conditions in displacement and rotation degrees of freedom are enforced incrementally using the slope of the amplitude curve. If no amplitude is specified, Abaqus/Explicit ignores the user-supplied displacement value and enforces 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.

Several types of boundary conditions are available in Abaqus, each with specific applications. Dirichlet boundary conditions specify the value of a variable, such as displacement, at the boundary. In computational fluid mechanics, a classical Dirichlet boundary condition consists of the value of velocity and/or pressure to be taken by a certain set of nodes. In solid mechanics, a displacement-type boundary condition is used to apply a prescribed displacement magnitude. For example, a prescribed displacement magnitude of 0.5 in degree of freedom 1 can be applied to nodes in a node set EDGE. In a subsequent step, these nodes can be moved by another 0.5 length units by applying a prescribed displacement magnitude of 1.0 in degree of freedom 1 to the same node set. Specifying a prescribed displacement magnitude of 0 (or omitting the magnitude) in the next step would return the nodes to their original locations.

Neumann boundary conditions refer to imposed strains or stresses. In solid mechanics, the spatial derivatives of displacements are related to the strain tensor. In elasticity, the strain is proportional to the stress, hence the Neumann boundary condition refers to both imposed strains and stresses. Since stress is also linked to external forces through Cauchy’s stress principle, the Neumann condition is also used to apply external loads. The homogeneous Neumann condition is naturally satisfied, so "free" boundaries may not need to be modeled explicitly.

Robin boundary conditions are used to model the mechanical impedance of a structure, i.e., how much it resists motion when subjected to a harmonic load. These conditions are useful for simulating interactions with damping or spring-like supports.

Clamp boundary conditions fully constrain the movement of all degrees of freedom to zero. They can be applied only in mechanical steps and to various supports, including points, curves, surfaces, bodies, groups, virtual parts, rigid coupling features, or smooth coupling features. When selecting a support, users can also choose an existing clamp from a different analysis case created in the Generative Structural Analysis workbench. The new clamp boundary condition is applied to the same region as the original clamp.

Displacement boundary conditions constrain the movement of selected degrees of freedom to zero or to a prescribed displacement history. They can only be applied in mechanical steps. The magnitude of a displacement boundary condition can vary with time during a step according to an amplitude definition. If an analysis includes multiple general static steps, a "fixed" displacement boundary condition can be specified in the second or later general static step. Applying a fixed displacement boundary condition holds the selected degrees of freedom at their final position from the previous general static step. The time variation of the magnitude of a displacement boundary condition can be prescribed in a user subroutine, which is sometimes preferable when the time history of the magnitude is complex.

For more complex or nonuniform boundary conditions, Abaqus provides user subroutines. Abaqus/Standard offers the routine DISP, while 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 variables made available in those routines. Abaqus/Standard allows for an amplitude and a reference magnitude definition for a user-defined boundary condition, and users may overwrite the amplitude-based boundary value within the DISP routine. Abaqus/Explicit ignores the reference magnitude but passes the amplitude value as an argument to the user routine VDISP, allowing users to define the boundary condition to a non-zero value. In the input file, this is specified with BOUNDARY, USER. In Abaqus/CAE, this is done by selecting "User-defined" under Distribution when creating a boundary condition.

Boundary conditions can also be applied to phantom nodes for enriched elements, which are used in fracture mechanics simulations. To specify boundary conditions at a phantom node originally located coincident with a specified real node, the option BOUNDARY, PHANTOM=NODE is used. For a phantom node located at an element edge, BOUNDARY, PHANTOM=EDGE is used, specifying the two corner node numbers. To indicate that boundary conditions applied to a phantom node at an element edge will be interpolated automatically from the specified real corner nodes when the enriched element is cracked, BOUNDARY, PHANTOM=INCLUDED is used. It is important to note that prescribing boundary conditions at phantom nodes for enriched elements is not supported in Abaqus/CAE.

Local coordinate systems can be used for applying boundary conditions, allowing constraints to be defined relative to a user-defined orientation rather than the global coordinate system. This is particularly useful for modeling structures with complex geometries or loading directions. In Abaqus/CAE, local coordinate systems can be defined and assigned to boundary conditions.

The choice of boundary condition type and application method depends on the physical problem being simulated. For example, in a static structural analysis, fixed supports (clamp conditions) and applied loads are common. In dynamic analyses, prescribed displacements or velocities may be used to simulate motion. In fluid-structure interaction problems, pressure or velocity boundary conditions might be applied.

It is crucial to apply boundary conditions correctly to avoid unrealistic results. Over-constraining a model can lead to singularities, while under-constraining can result in rigid body motions. The software typically provides warnings or errors for such cases, but careful model setup is essential.

In summary, boundary conditions in Abaqus are a versatile and powerful tool for defining the constraints and loads on a model. They can be applied to various geometric entities and can vary with time. Different types of boundary conditions, such as Dirichlet, Neumann, Robin, clamp, and displacement conditions, serve specific purposes. The propagation of boundary conditions between steps follows defined rules, and user subroutines allow for complex, nonuniform conditions. Understanding these concepts is fundamental to performing accurate finite element simulations in Abaqus.

Sources

  1. Abaqus Documentation - Boundary Conditions
  2. SimScale Wiki - What are Boundary Conditions?
  3. CATIA Documentation - Boundary Conditions

Related Posts