PCL and Customization > Modifying the Database Using PCL > Adding New Multi-Point Constraint Definitions
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">   
Adding New Multi-Point Constraint Definitions
To associate multi-point constraint definitions to a new analysis code, first define the generic MPC types and then assign these types to the analysis code. To define the generic MPC types the following PCL function is used. 
  
db_create_mpc_type_def
(<type_id>, <type_name>, <geom_flag>, <coord_flag>, <const_flag>, <const_label>, <sequen_flag>, <depend_coeff_flag>, <depend_dof_flag>, <max_depend_terms>, <min_depend_terms>, <dofs_per_depend>, <nodes_per_depend>, <indep_coeff_flag>, <indep_dof_flag>, <max_indep_terms>, <min_indep_terms>, <dofs_per_indep>, <nodes_per_indep>)
Input:
 
 
INTEGER
<type_id>
The ID to be used in referencing this MPC type. This ID must be unique with respect to all previously defined MPC type IDs.
CHARACTER STRING
<type_name>
The name of this MPC type.
LOGICAL
<geom_flag>
A flag specifying whether this MPC type references geometry or nodes:
TRUE = references geometry.
FALSE = references nodes.
LOGICAL
<coord_flag>
A flag specifying whether this MPC type references a coordinate frame or not:
TRUE = references coordinate frame.
FALSE = does not reference frame.
LOGICAL
<const_flag>
A flag specifying whether this MPC type has a constant term or not:
TRUE = has constant term.
FALSE = does not have constant term.
CHARACTER STRING
<const_label>
The label to be used for the constant term.
LOGICAL
<sequen_flag>
A flag specifying whether the order of term. definition should be maintained or not:
TRUE = maintain order.
FALSE = ignore order.
LOGICAL
<depend_coeff_flag>
A flag specifying whether the dependent terms have multiplicative constants assigned to them or not:
TRUE = have multiplicative constants.
FALSE = do not have constants.
LOGICAL
<depend_dof_flag>
A flag specifying whether the dependent terms have explicitly or implicitly specified degrees-of-freedom:
TRUE = degrees-of-freedom explicitly defined.
FALSE = implicit degrees-of-freedom.
INTEGER
<max_depend_terms>
The maximum number of dependent terms allowed. Zero if there is no limit.
INTEGER
<min_depend_terms>
The minimum number of dependent terms allowed.
INTEGER
<dofs_per_depend>
The maximum number of degrees-of-freedom that can be associated with a dependent term.
INTEGER
<nodes_per_depend>
The number of nodes to be associated with each dependent term. Zero if there is no definite number.
LOGICAL
<indep_coeff_flag>
A flag specifying whether the independent terms have multiplicative constants assigned to them or not:
TRUE = have multiplicative constants.
FALSE = do not have constants.
LOGICAL
<indep_dof_flag>
A flag specifying whether the independent terms have explicitly or implicitly specified degrees-of-freedom:
TRUE = degrees-of-freedom explicitly defined.
FALSE = implicit degrees-of-freedom.
INTEGER
<max_indep_terms>
The maximum number of independent terms allowed. Zero if there is no limit.
INTEGER
<min_indep_terms>
The minimum number of independent terms allowed.
INTEGER
<dofs_per_indep>
The maximum number of degrees-of-freedom that can be associated with an independent term.
INTEGER
<nodes_per_indep>
The number of nodes to be associated with each independent term. Zero if there is no definite number.
Output:
 
 
INTEGER
<Return Value>
Status return value. The value will be 0 if the routine is successful.
Error Conditions:
 
None.
 
 
The list of MPC types used by MSC supplied analysis interfaces is given below. When defining his own MPC types, the user should use MPC type IDs distinct from those in this list, even if the type is synonymous to a type already in the list.
 
<type_name>
<type_id>
Explicit
1
Rigid ( Fixed )
2
Rigid ( Pinned )
3
Linear Surf-Surf
4
Linear Surf-Vol
5
Linear Vol-Vol
6
Quad. Surf-Surf
7
Quad. Surf-Vol
8
Quad. Vol-Vol
9
Slider (12)
10
RBAR
12
RBE1
13
RBE2
14
RBE3
15
RROD
16
RSPLINE
17
RTRPLT
18
Elbow (17)
19
Pin (9)
21
Tie (5)
22
Revolute
23
V Local
24
Universal
25
SS Linear (13)
26
SS Bilinear (14)
27
SSF Bilinear (15)
28
Tie DOFS
29
Axi Shell-Solid
30
Tri Plate-Plate
31
Quad Plate-Plate
32
Pinned Joint
33
Full Moment Joint
34
Rigid Link
35
CP
36
Cyclic Symmetry
37
Sliding Surface
38
Now, that the generic MPC types have been defined, associate the MPC types of interest to the new analysis code.