DisplacementControl#
In an analysis step with Displacement Control, the objective is to control the displacement of a particular degree-of-freedom at a node by a prescribed increment. To this end, the Displacement Control integrator will solve for the load multiplier \(d \lambda\) such that the displacement increment at the control DOF is equal to a prescribed value.
- Model.integrator("DisplacementControl", node, dof, incr[, numIter, dUmin, dUmax])
Configure the DisplacementControl integrator.
- Parameters:
- node: integer
tag identifying the node whose response controls solution
- dof: integer
tag identifying the degree of freedom at the node
- incr
float value of the displacement increment
- numIter
integer value of the number of iterations the user would like to occur in the solution algorithm. Optional; default = 1.0.
- dUmin
float value of the min step size the user will allow. Optional; default \(\Delta U_{min} = \Delta U_0\)
- dUmax
float value of the max step size the user will allow. Optional; default \(\Delta U_{max} = \Delta U_0\)
- integrator DisplacementControl $node $dof $incr <$numIter $dUmin $dUmax >
Argument |
Type |
Description |
|---|---|---|
|
integer |
node whose response controls solution |
|
integer |
degree of freedom at the node; valid options: 1 through ndf at node. |
|
float |
first displacement increment <math>Delta U_{text{dof}}</math> |
|
integer |
the number of iterations the user would like to occur in the solution algorithm. Optional; default = 1.0. |
|
float |
the min step size the user will allow. optional; default \(\Delta U_{min} = \Delta U_0\) |
|
float |
the max step size the user will allow. optional: default \(\Delta U_{max} = \Delta U_0\) |
Examples#
The following example configures a displacement control algorithm to maintain a constant increment of 0.1 at node 1 in the direction of DOF 2.
model.integrator("DisplacementControl", 1, 2, 0.1)
integrator DisplacementControl 1 2 0.1;
Theory#
If we write the governing finite element equation at \(t + \Delta t\) as:
where \(F(u_{t+\Delta t})\) are the internal forces which are a function of the displacements \(U_{t+\Delta t}\), \(F^{ext}\) is the set of reference loads and \(\lambda\) is the load multiplier. Linearizing the equation results in:
This equation represents n equations in \(n+1\) unknowns, and so an additional equation is needed to solve the equation. For displacement control, we introduce a new constraint equation in which in each analysis step we set to ensure that the displacement increment for the degree-of-freedom at the specified node is:
In Displacement Control the \(\Delta u_{\text{dof}}\) set to \(t + \lambda_{t+1}\) where,