linc — Linear constraint equations block


linc id
  [tol_drop v]
  equation ...
  equation ...


The linc command specifies one or more linear constraint equations.

Linear constraint equations and their terms can be specified in any order. There are no a priori restrictions on the nodes and degrees-of-freedom that may be specified in linear constraints, since B2000++ does not distinguish between master and slave nodes.

A linc set is identified by id, a non-negative integer which must be unique for the linc conditions of the current model. id is the number which is referenced by the linc option of the case definition. Sets with an id of 0 will be active for all analysis cases.

The constraint equations are of the form

ci* ui + c0 = 0, i=1,n

where the coefficients ci pertain to the dof's of the global equation system.

In case nodes are to be explicitly connected it is preferable to make use of the join command, because join connects all dof's and it also ensures that node types are processed properly.

Specification of equations and how they should be processed

equation nc c0 branch1 node1 dof1 c1 ... branchn noden dofn cn

Specifies a complete constraint equation containing n terms ci ui. nc is the number of coefficients of the equation and c0 the constant c0. Each term is described by the external branch number branchi, the external node number nodei, the degree-of-freedom dofi relating to node nodei, and the constant ci.

tol_drop v

Sets the value for the drop tolerance. Default is 1e-4. Any term of subsequently specified equations with an absolute weight below the drop tolerance will be ignored.

Depending on how linear constraints are enforced (see Imposing Constraints), the system of linear equations may need to be modified to ensure a well conditioned global stiffness matrix. Automatically generated linear constraint equations may contain very small weights, which my result in a poorly conditioned global stiffness matrix. When using the default reduction method for linear constraints, it is recommended to set tol_drop to a sufficiently large value.

If weights below 1e-4 are specified but the drop tolerance is smaller, the B2000++ input processor b2ip++ will print a warning.

To check whether the calculated solution is accurate, an error analysis on the matrix factorization and backsubstitution process can be conducted by specifying the command-line option

$ b2000++ -l 'debug of linear_algebra' DBNAME

when executing B2000++.


Establish a rigid link between displacements in the x-direction (dof 1) by coupling node 23 of branch 1 to node 45 of branch 4:

linc 0
  equation 2 0.0  1  23  1  1.0    4  45  1  -1.0