Displacement Control: Difference between revisions

From OpenSeesWiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(4 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{CommandManualMenu}}
{{CommandManualMenu}}


This command is used to construct a DisplacementControl integrator object. In an anslysis step with Displacement Control we seek to determine the time step that will result in a displacement increment for a particular degree-of-freedom at a node to be a prescribed value.   
This command is used to construct a DisplacementControl integrator object. In an analysis step with Displacement Control we seek to determine the time step that will result in a displacement increment for a particular degree-of-freedom at a node to be a prescribed value.   


{|  
{|  
| style="background:yellow; color:black; width:800px" | '''integrator DisplacementControl $node $dof $incr <$numIter $minLambda $maxLambda>'''
| style="background:yellow; color:black; width:800px" | '''integrator DisplacementControl $node $dof $incr <$numIter $<math>\Delta U \text{min} </math> $<math>\Delta U \text{max}</math>>'''
|}
|}


Line 14: Line 14:
| '''$dof''' || degree of freedom at the node, valid options: 1 through ndf at node.
| '''$dof''' || degree of freedom at the node, valid options: 1 through ndf at node.
|-
|-
| '''$incr''' || first displacement increment <math>\Delta U_0</math>
| '''$incr''' || first displacement increment <math>\Delta U_{\text{dof}}</math>
|-
|-
| '''$numIter''' || the number of iterations the user would like to occur in the solution algorithm. Optional, default = 1.0.
| '''$numIter''' || the number of iterations the user would like to occur in the solution algorithm. Optional, default = 1.0.
|-
|-
| '''$minLambda''' || the min stepsize the user will allow. optional,  defualt = <math>\Delta U_{min} = \Delta U_0</math>
| '''$<math>\Delta U \text{min}</math>''' || the min stepsize the user will allow. optional,  defualt = <math>\Delta U_{min} = \Delta U_0</math>
|-
|-
| '''$maxLambda''' || the max stepsize the user will allow. optional, default = <math>\Delta U_{max} = \Delta U_0</math>
| '''$<math>\Delta U \text{max}</math>''' || the max stepsize the user will allow. optional, default = <math>\Delta U_{max} = \Delta U_0</math>
|}
|}


Line 41: Line 41:




where <math>F(U_{t+\Delta t})\!</math> are the internal forces which are a function of the displacements <math>U_{t+\Delta t}\!</math>, <math>F^{ext}\!</math> is the set of reference loads and <math>\lambda\!</math> is the load multiplier.  This equation represents n equations in <math> n+1</math> unknowns, and so an additional equation is needed to solve the equation.
where <math>F(U_{t+\Delta t})\!</math> are the internal forces which are a function of the displacements <math>U_{t+\Delta t}\!</math>, <math>F^{ext}\!</math> is the set of reference loads and <math>\lambda\!</math> is the load multiplier.  Linearizing the equation results in:
   
   
:<math> K_{t+\Delta t}^{*i} \Delta U_{t+\Delta t}^{i+1} = R_{t+\Delta t}^i</math>
:<math> K_{t+\Delta t}^{*i} \Delta U_{t+\Delta t}^{i+1} = \left ( \lambda^i_{t+\Delta t} + \Delta \lambda^i \right ) F^{ext} - F(U_{t+\Delta t})</math>
   
 
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 <math>\text{dof}</math> at the specified node to be:
This equation represents n equations in <math> n+1</math> 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 <math>\text{dof}</math> at the specified node is:


:<math> \Delta U_\text{dof}  = \text{incr}\!</math>
:<math> \Delta U_\text{dof}  = \text{incr}\!</math>
Line 52: Line 52:
MORE TO COME:
MORE TO COME:
   
   
In Displacement Control the <math>\Delta_U\text{dof}</math>  set to <math>t + \lambda_{t+1}</math> where,
:<math> \Delta U_\text{dof}^{t+1} = \max \left ( \Delta U_{min},  \min \left ( \Delta U_\text{max},  \frac{\text{numIter}}{\text{lastNumIter}} \Delta U_\text{dof}^{t} \right ) \right ) </math>


----
----


Code Developed by: <span style="color:blue"> fmk </span>
Code Developed by: <span style="color:blue"> fmk </span>

Latest revision as of 20:35, 28 June 2011




This command is used to construct a DisplacementControl integrator object. In an analysis step with Displacement Control we seek to determine the time step that will result in a displacement increment for a particular degree-of-freedom at a node to be a prescribed value.

integrator DisplacementControl $node $dof $incr <$numIter $<math>\Delta U \text{min} </math> $<math>\Delta U \text{max}</math>>

$node node whose response controls solution
$dof degree of freedom at the node, valid options: 1 through ndf at node.
$incr first displacement increment <math>\Delta U_{\text{dof}}</math>
$numIter the number of iterations the user would like to occur in the solution algorithm. Optional, default = 1.0.
$<math>\Delta U \text{min}</math> the min stepsize the user will allow. optional, defualt = <math>\Delta U_{min} = \Delta U_0</math>
$<math>\Delta U \text{max}</math> the max stepsize the user will allow. optional, default = <math>\Delta U_{max} = \Delta U_0</math>



EXAMPLE:


integrator DisplacementControl 1 2 0.1; # displacement control algorithm seking constant increment of 0.1 at node 1 at 2'nd dof.



THEORY:

If we write the governing finite element equation at <math>t + \Delta t\!</math>as:

<math> R(U_{t+\Delta t}, \lambda_{t+\Delta t}) = \lambda_{t+\Delta t} F^{ext} - F(U_{t+\Delta t}) \!</math>


where <math>F(U_{t+\Delta t})\!</math> are the internal forces which are a function of the displacements <math>U_{t+\Delta t}\!</math>, <math>F^{ext}\!</math> is the set of reference loads and <math>\lambda\!</math> is the load multiplier. Linearizing the equation results in:

<math> K_{t+\Delta t}^{*i} \Delta U_{t+\Delta t}^{i+1} = \left ( \lambda^i_{t+\Delta t} + \Delta \lambda^i \right ) F^{ext} - F(U_{t+\Delta t})</math>

This equation represents n equations in <math> n+1</math> 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 <math>\text{dof}</math> at the specified node is:

<math> \Delta U_\text{dof} = \text{incr}\!</math>


MORE TO COME:


In Displacement Control the <math>\Delta_U\text{dof}</math> set to <math>t + \lambda_{t+1}</math> where,


<math> \Delta U_\text{dof}^{t+1} = \max \left ( \Delta U_{min}, \min \left ( \Delta U_\text{max}, \frac{\text{numIter}}{\text{lastNumIter}} \Delta U_\text{dof}^{t} \right ) \right ) </math>

Code Developed by: fmk