5.0 NODAL RESTRAINT
CONDITION DATA
5.1 Nodal
Boundary Condition Data
NODAL_BOUNDARY_CONDITIONS
NODAL_BOUNDARY_CONDITIONS generation_type = type , etc...
node, ng, ( id(i, node), i = 1, ndof )
< etc..., terminate with a blank record >
Boundary condition data must be input for each node which has one or more specified displacements, velocities or accelerations. Boundary condition codes for each node may be assigned the following values:
id( i, node) = 0 , unspecified (i.e., active degree of freedom)
id( i, node) = 1 , prescribed displacement
id( i, node) = 2 , prescribed velocity
id( i, node) = 3 , prescribed acceleration
where i = 1, 2,..., number_of_degrees_of_freedom. If prescribed, the value is assumed to be zero (0.0), unless it is assigned a nonzero value as described in Section 7.1.
Note Variable Name Type Default Description
Generation_type list [*] Generation case
list
type_1
type_2
type_3
Variable list [*] Nodal unknowns selection:
all all degrees of freedom
solid_displacement solid displacement
solid_rotation solid rotation
solid_displacement_and_rotation solid displacement and rotation
fluid_velocity fluid velocity
temperature temperature
pressure pressure
potential potential
electric_potential electric potential
scalar_transport scalar transport
level_set level set
stream_fct stream function
mesh_motion ALE mesh motion
File_name string [none] File name (optional). Name must
be enclosed in quotation marks.
• No Generation (List) Case
Nodal boundary conditions must follow in the form:
< Node_number , Restraint_X, Restraint_Y , Restraint_Z, etc...>
< etc..., terminate with a blank record >
• Generation Case
Nodal boundary conditions generation data must follow.
< terminate with a blank record >
EXAMPLE
Nodal_Boundary_Conditions /
file_name = "boundary_file" # Read displacements from file: boundary_file
EXAMPLE
Nodal_Boundary_Conditions /
generation_type = type_1 # Select generation option
Nodal Boundary Condition Generation Data follow
5.1.1 Nodal
Boundary Condition Generation Data Type 1
Note Variable Default Description
(1) NODE [0] Node number 1 and NUMNP
(2) NG [0] Generation increment
(3) ID(1, NODE) [0] Degree of freedom 1 boundary code
ID(2, NODE) [0] Degree of freedom 2 boundary code
. . .
etc. . .
. . .
ID(NDOF, NODE) [0] Degree of freedom NDOF boundary code
Notes/
(1) Boundary condition data must be input for
each node which has one or more specified displacements, velocities or
accelerations. If more than one boundary
condition data record for node N is input, the last one read takes
priority. Terminate with a blank record.
(2) Boundary condition data can be generated by employing a two record sequence as follows:
Record 1: L,
Record 2: N, NG, ID(1, N),..., ID(NDOF, N)
The boundary codes of all nodes NODE:
L + LG, L + 2*LG,..., N - MOD(N-L, LG)
(i.e., less than N) are set equal to those of node L. If LG is blank or zero, no generation takes place between L and N.
(3) Boundary condition codes for each node may be assigned the following values:
id( i, node) = 0 , unspecified (i.e., active degree of freedom)
id( i, node) = 1 , prescribed displacement
id( i, node) = 2 , prescribed velocity
id( i, node) = 3 , prescribed acceleration
where i = 1, 2,..., NDOF. If prescribed, the value is assumed to be zero (0.0), unless it is assigned a nonzero value as described in Section 7.1.
5.1.2 Nodal
Boundary Condition Generation Data Type 2
Note Variable Default Description
(1) NODE1 [0] Node number 1 1 and NUMNP
(1) NODE2 [0] Node number 2 1 and NUMNP
(2) NG [0] Generation increment
(3) ID(1) [0] Degree of freedom 1 boundary code
ID(2) [0] Degree of freedom 2 boundary code
etc. . .
ID(NDOF) [0] Degree of freedom NDOF boundary code
Notes/
(1) Boundary condition data must be input for
each node which has one or more specified displacements, velocities or
accelerations. If more than one boundary
condition data for any node NODE is input, the last one read takes
priority. Terminate with a blank record.
(2) If ng is non zero, boundary condition data for all nodes from node1 to node2 by increment ng can be generated. The boundary codes of all nodes:
NODE1 + NG, NODE1 + 2*NG,..., NODE2 - MOD(NODE2 - NODE1, NG)
(i.e., less than or equal to NODE2) are set equal to those of node NODE1. If either NODE2 or NG is zero, no generation takes place between NODE1 and NODE2.
(3) Boundary condition codes may be assigned the following values:
id( i, node) = 0 , unspecified (i.e., active degree of freedom)
id( i, node) = 1 , prescribed displacement
id( i, node) = 2 , prescribed velocity
id( i, node) = 3 , prescribed acceleration
where i = 1, 2,..., NDOF. If prescribed, the value is assumed to be zero (0.0), unless it is assigned a nonzero value as described in Section 7.1.
5.1.3 Nodal
Boundary Condition Generation Data Type 3
Note Variable Default Description
(1) NODE [0] Node number 1 and NUMNP
(2) NG [0] Generation code (=0 no generation,
=1 generation)
(3) ID(1, NODE) [0] Degree of freedom 1 boundary code
ID(2, NODE) [0] Degree of freedom 2 boundary code
. . .
etc. . .
. . .
ID(NDOF, NODE) [0] Degree of freedom NDOF boundary code
Notes/
(1) Boundary condition data must be input for
each node which has one or more specified displacements, velocities or
accelerations. If more than one boundary
condition data record for node N is input, the last one read takes priority. Terminate
with a blank record.
(2) Boundary condition data can be generated by employing a two record sequence as follows:
Record 1: N, NG, ID(1, N),..., ID(NDOF, N)
Record 2: Nodal Increment Data
If NG is zero, no generation takes place.
(3) Boundary condition codes for each node may be assigned the following values:
id( i, node) = 0 , unspecified (i.e., active degree of freedom)
id( i, node) = 1 , prescribed displacement
id( i, node) = 2 , prescribed velocity
id( i, node) = 3 , prescribed acceleration
where i = 1, 2,..., NDOF. If prescribed, the value is assumed to be zero (0.0), unless it is assigned a nonzero value as described in Section 7.1
Note Variable Default Description
NINC(1) [0] Number of nodal increments for direction 1
INC(1) [0] Node number increment for direction 1
(1) NINC(2) [0] Number of nodal increments for direction 2
INC(2) [0] Node number increment for direction 2
(1) NINC(3) [0] Number of nodal increments for direction 3
INC(3) [0] Node number increment for direction 3
Notes/
(1) Each option is assigned an option code (IOPT) as follows:
IOPT Option
1 Generation along a line
2 Generation over a surface
3 Generation over a volume
IOPT is determined by the following logic:
IOPT = 3
IF(NINC(3) = 0) IOPT = 2
IF(NINC(2) = 0) IOPT = 1
SLAVE_NODES
SLAVE_NODES file_name = "<string>"
node1, node2, ng , ( idof1(i), idof2(i), i = 1, ndof )
< etc..., terminate with a blank record >
Nodes may be slaved to share the same equation number for any selected degree of freedom. Such an option is useful, i.e., for modeling cyclic symmetry in structures, for modeling free-field conditions in seismic calculations, etc...
Note Variable Name Type Default Description
Input_format list [*] Select input format option
keywords / list
File_name string [none] File name (optional).
Name must be enclosed in quotation marks.
5.2.1 Slaved
Nodes Data (Keywords Read Method)
Note Variable Name Type Default Description
(1) NODE1 integer [0] Node number 1
NODE2 integer [0] Node number 2
(2) NG integer [0]--------------- Generation increment
(3) Variable_i_node1 string [none] Variable_i at NODEl
(3) Variable_i_node2 string [none] Variable_i at NODE2
.
etc.
Notes/
(1) Node numbers NODE1 and NODE2 are assigned to share the same equation numbers for the degrees of freedom listed in variable_i_node1 and variable_i_node2. Terminate with a blank record.
(2) See note 2 in Section 5.2.2
(3)
Variable_i_node1
and variable_i_node2 are assigned by using the following list of names:
solid_motion_i (i = 1,
Nsd)
solid_rotation_i (i = 1,
Nsd)
fluid_motion_i (i = 1,
Nsd)
pressure_i (i
= 1, Number_of_phases)
temperature
potential
scalar_transport_i (i = 1,
Number_of_components)
mesh_motion_i (i = 1,
Nsd)
5.2.2 Slaved
Nodes Data (List Read Method)
Note Variable Default Description
(1) NODE1 [0] Node number 1
NODE2 [0] Node number 2
(2) NG [0] Generation increment
(3) IDOF1(I) [0] Degree of freedom number for NODE1
IDOF2(I) [0] Degree of freedom number for NODE2
etc. . .
IDOF1(NDOF) [0] Degree of freedom number for NODE1
IDOF2(NDOF) [0] Degree of freedom number for NODE2
Notes/
(1) Node numbers NODE1 and NODE2 are assigned to share the same equation numbers for the degrees of freedom listed in IDOF1(I) and IDOF2(I). Terminate with a blank record.
(2) Slaved condition data can be generated by employing a two record sequence as follows:
Record 1: LODE1, LODE2, LG, ( IDOF1(I), IDOF2(I), I = 1, NDOF )
Record 2: NODE1, NODE2, NG, ( IDOF1(I), IDOF2(I), I = 1, NDOF )
The slaved conditions codes of all nodes:
LODE1 + LG, LODE1 + 2*LG,..., NODE1 - MOD(NODE1 - LODE1, LG)
LODE2 + LG, LODE2 + 2*LG,..., NODE2 - MOD(NODE2 - LODE2, LG)
(i.e., less than NODE1 and NODE2) are set equal to those of node LODE1 and LODE2. If LG is blank or zero, no generation takes place.
EQUIVALENCE_NODES
EQUIVALENCE_NODES file_name = "<string>"
node1, node2, ng
< etc..., terminate with a blank record >
Nodes may be equivalenced to share the same equation number for all degrees of freedom.
Note Variable Default Description
(1) NODE1 [0] Node number 1
NODE2 [0] Node number 2
(2) NG [0] Generation increment
Notes/
(1) Node numbers NODE1 and NODE2 are assigned to share the same equation numbers for all degrees of freedom. Terminate with a blank record.
(2) Equivalence nodes can be generated by employing a two record sequence as follows:
Record 1: LODE1, LODE2, LG
Record 2: NODE1, NODE2, NG
All nodes:
LODE1 + LG, LODE1 + 2*LG,..., NODE1 - MOD(NODE1 - LODE1, LG)
LODE2 + LG, LODE2 + 2*LG,..., NODE2 - MOD(NODE2 - LODE2, LG)
(i.e., less than NODE1 and NODE2) are set to be equivalenced. If LG is blank or zero, no generation takes place.
ALE_NODES
ALE_NODES file_name = "<string>"
node, ng, ( id(i, node), i = 1, NSD )
< etc..., terminate with a blank record >
Nodal degrees of freedom may be selectively assigned to be either Lagrangian or of free surface degrees of freedom (see Section 9.2.0.9). This option is used in arbitrary Lagrangian Eulerian (ALE) computations.
5.4.1 Euler-Lagrange
Nodal Data
Note Variable Default Description
(1) NODE [0] Node number 1 and NUMNP
(2) NG [0] Generation increment
(3) ID(1,NODE) [0] Degree of freedom 1
Euler-Lagrange code
ID(2,NODE) [0] Degree of freedom 2
Euler-Lagrange code
. . .
etc. . .
. . .
ID(NSD,NODE) [0] Degree of freedom NSD
Euler-Lagrange code
Notes/
(1) Euler-Lagrange condition data must be input for each node which is not ALE in one or more directions. Records need not be input in order. Terminate with a blank record.
(2) Euler-Lagrange nodal condition data can be generated by employing a two record sequence as follows:
Record 1: L,
Record 2: N, NG, ID(1, N),..., ID(NSD, N)
The Euler-Lagrange codes of all nodes NODE:
L + LG, L + 2*LG,..., N - MOD(N-L, LG)
(i.e., less than N) are set equal to those of node L. If LG is blank or zero, no generation takes place between L and N.
(3) Euler-Lagrange condition codes may be assigned the following values:
ID( I, NODE) = 0 , ALE degree of freedom
ID( I, NODE) = 1 , Lagrange degree of freedom
ID( I, NODE) = 2 , free surface degree of freedom
where I = 1, 2,..., NSD. If more than one Euler-Lagrange condition data record for node NODE is input, the last one read in takes priority
Notes . .
Notes . .