Skip to content

Node Commands

Node commands are related to defining nodes or nsets.

  • *Node: Define nodes
  • *NGen: Generate nodes in a line pattern
  • *NSet: Define a nset
  • *NFill: Generate nodes by filling a space
  • *NCopy: Copy nodes
  • *NProp : Define nodal properties

Nodes are assigned a unique integer identifier greater than 1 (node ID) for later use. A nset is a collection of nodes that are assigned a unique name as a string.

*Node

Defines nodes.

*Node [, NSet=NSet, Offset=nodeIdOffset, Ref=ucs]
  id, x, y, z
  ...
Keyword line
  • NSET=NSet: Optional nset in which the created nodes will be included. If a predefined nset does not exist, a new nset is created.
  • Offset=nodeIdOffset: Node ID offset (optional; default: 0).
  • Ref=ucs: Reference coordinate system for nodal coordinates and shell nodal director vectors (optional; default: the global coordinate system).
First data line and subsequent data lines
  • id, x, y, z: Node ID (required), followed by coordinates (optional; default: 0, 0, 0) [L].

You can use the optional NSet parameter to specify the nset in which the nodes created on the data line will be included. If there is no predefined nset from the keyword line, a new nset will be created. An error occurs if you attempt to redefine an existing node.

Example
*Node   # Creates node 1. It does not belong to any node set.
  1, 1,0.0

*Node, NSet=WEB  # Creates nodes 1001 and 1002, and assigns them to the node set WEB.
 1001, 10., 0., 0.
 1002, 10., 0., 10.

*Node
 1001, 20., 0., 0.    # Error: Node 1001 already exists.

*CoordinateSystem, TYPE=UCS, Name=ucs
 1,0,0,0,1,0
 10,10,0

*Node, Offset=10000, Ref=ucs
 1, 10,5,0    # 10001 and coordinate values on ucs
 2, 11,4,1    # 10002 and coordinate values on ucs

*NSet

Defines a nset.

*NSET, [TYPE=type], Name=name[,UNSORTED]
  ...
Keyword line
  • TYPE=type: Defines how nodes are assigned to the nset. If omitted, the default: SELECT.
  • Select: Manually select nodes to assign to the nset.
  • Element: Assign connected nodes of specified elements or elsets.
  • Surface: Assign nodes that form a specified surface.
  • Box: Select nodes within the boundaries xmin < X < xmax, ymin < Y < ymax, zmin < Z < zmax.
  • Name=name: Name of the nset (required).

The *NSET command assigns already defined nodes to a nset specified by name. If no nset with the specified name exists, a new nset is created. The type specifies how nodes are selected.

If no data line is provided, and the nset already exists, no action is taken. Otherwise, an empty nset is defined.

*NSet, Type=Select

Select nodes, nsets, or node patterns to assign to the specified nset or remove nodes from it.

*NSet, [Type=Select,] Name=name
  source, ...
  ...
First data line and subsequent data lines
  • source: Node IDs, nsets, or node patterns to be added to the nset. Node patterns use the format start:end:spacing, with the spacing omitted if it is 1. Prefix with - to remove nodes from the set.
Example
*NSet, Name=A
 1, 10, up, 20:30:2, 101:105   # 1, 10, "up", 21, 23, ..., 30, 101, 102, ..., 105 are assigned to "A".
 slab                          # All nodes in "slab" are assigned to "A".

*NSet, TYPE=Select, Name=B
 A, -2, B, -C   # Remove node 2 from set A, add nodes from set B, remove nodes from set C.
 -1:5:2, 9:11   # Node patterns support removal, e.g., remove nodes 1, 3, 5.

*NSet, Type=Element

Assign nodes connected to specified elements or elsets to a nset.

*NSET, TYPE=ELEMENT, Name=name
  target, ...
  ...
First data line and subsequent data lines
  • target: Element IDs, elsets, or element number patterns. Patterns use the format start:end:spacing, with the spacing omitted if it is 1.

The command assigns the nodes connected to the elements specified by the data line to the nset. If the nset already exists, nodes are added to it.

Example
*NSet, Type=Element, Name=Connected
 1, slab, 1:100:2

*NSet, Type=Surface

Assign nodes that form a surface to a nset.

*NSet, Type=Surface, Name=name
  target, ...
  ...
First data line and subsequent data lines
  • target: Name of the surface.

The command assigns the nodes that form the surface specified in the data line to the nset. If the nset already exists, nodes are added to it.

Example
*NSet, Type=Surface, Name=Connected
 upstream, bottom

*NSet, Type=Box

Select nodes within the boundaries xmin < X < xmax, ymin < Y < ymax, zmin < Z < zmax to assign to a nset.

*NSet, Type=Box, Name=name
  [X=xmin,xmax | X=val],[Y=ymin,ymax | Y=val],[Z=zmin,zmax | Z=val], [NSET|ELSET|SURFACE=target]
  ...
First data line and subsequent data lines
  • X=xmin,xmax | X=val: X direction boundaries for the box [L]. If two values (xmin,xmax) are given, the range is defined explicitly. If a single value (X=val) is given, it is internally expanded to [val−tiny, val+tiny] with tiny = 1.0E-10.
  • Y=ymin,ymax | Y=val: Y direction boundaries for the box [L]. In the case of a single value, it is treated in the same way as X.
  • Z=zmin,zmax | Z=val: Z direction boundaries for the box [L]. In the case of a single value, it is treated in the same way as X.
  • NSET|ELSET|SURFACE=target: Specify the target to search within (optional). If not provided, the entire model is searched. NSET searches within a nset, ELSET within elements, SURFACE within surfaces.
Example
*NSet, Type=Box, Name=BoxSet
 X=0.1, 100, Y=10., 20.

*NSet, Type=Box, Name=BoxSet2
 Y=10., 20., NSet=Slab
 X=0.1, 100, ELSet=El
 Z=-0.1, 0.1, Surface=Top
 X=0, Y=-150

*NGEN

Generate intermediate nodes on a line between two end nodes.

*NGen, NSet=nset
  n1, n2, increment, ratio
  ...
Keyword line
  • nset: Optional nset for the end nodes and generated nodes. If not provided, a new nset is created.
First data line and subsequent data lines
  • n1, n2, increment: Nodes are generated in increments between n1 and n2 (required). n1 and n2 must be predefined.
  • ratio: The ratio of the length of the last segment to the first segment. If the ratio is 1, nodes are generated with equal spacing (optional; default: 1).

If a node to be generated already exists, an error occurs unless the generated node has the same coordinates as the existing one.

If the ratio is not specified, nodes are generated with equal spacing. When the ratio is specified, intermediate nodes are generated to have segment lengths according to the following formulas.

\[ \small L_k = [ \frac{ r-1}{n-1} k + 1 ] L_0, ~~~~ {\rm where,~~~ } L_0 = \frac{2}{n(r+1)}L, ~~ k=0,1,...,n-1 \]

Thus, expressed in terms of coordinate values:

\[ \small x_k = x_0 + l_k s_x , ~~y_k = y_0 + l_k s_y ~~, z_k = z_0 + l_k s_z \]

where

\[ \small l_k = \frac{r-1} {n-1} \frac{k(k-1)} {2} + k \]
\[ \small s_x = \frac{2}{n(r+1)} (x_n - x_0 ) ~~ s_y = \frac{2}{n(r+1)} (y_n - y_0 ) ~~ s_z = \frac{2}{n(r+1)} (z_n - z_0 ) \]
Example
*NGen, NSet=left
 1, 10, 1
101, 110, 1
 20, 25, 1, 0.5  # The distance between nodes 24 and 25 is 0.5 times the distance between nodes 20 and 21.

*NFILL

Generate nodes between two nsets.

*NFill, NSet=nset
  nset1, nset2, increment, ratio
  ...
Keyword line
  • NSET=nset: Optional nset that will include nodes from both ends and generated nodes. If not provided, a new nset is created.
First data line and subsequent data lines
  • nset1, nset2, increment: Generate nodes at intervals between nsets nset1 and nset2 (required). The number of nodes in nset1 and nset2 must be the same.
  • ratio: The ratio of the length of the last segment to the first segment. If the ratio is 1, nodes are generated with equal spacing (optional; default: 1).
Example
*NSet, Name=left
 1, 10, 1

*NSet, Name=right
1001, 1010, 1

*NFill, NSet=LoadingSurface1
 left, right, 10

*NCOPY

Copy nodes to create new ones.

*NCopy, NSet=nset[, Multiple=multiple]
  source_nset, increment, dx, dy, dz
  ...
Keyword line
  • NSET=nset: Optional nset for the newly created nodes. If not provided, a new nset is created.
  • MULTIPLE=multiple: Number of times the *NCOPY is repeated (optional; default: 1).
First data line and subsequent data lines
  • source_nset, increment, dx, dy, dz: Copy nodes from source_nset with updated coordinates (dx, dy, dz) and incremented node IDs. The default values for dx, dy, and dz are 0 and their units are [L].
Example
*NODE
 1, 0., 0., 0.
 4, 1., 0., 0.

*NGEN, NSET=left
 1, 4, 1  # left = 1, 2, 3, 4

*NCOPY, NSET=all, MULTIPLE=2
 left, 100, 0., 1., 0.  # all = nodes 101, 102, 103, 104, 201, 202, 203, 204 are created.

*NProp

Define nodal properties

*NProp, Type=type
  ...
Keyword line
  • Type=type: Property type
    • ShellThickness: Specifies nodal thicknesses for shell elements (S3, S3F, S4, S4F)
    • ShellDirector: Specifies nodal director vectors for shell elements (S3, S4)

*NProp, Type=ShellThickness

Set nodal thickness for shell elements (S3, S3F, S4, S4F).

*NProp, Type=ShellThickness
 target, h
 target, n1,n2,n3, h1,h2,h3
 target, n1,n2,n3,n4, h1,h2,h3,h4
 ...
First data line and subsequent data lines
  • target: Node number, node number pattern, node set, or surface to which the shell node thickness will be applied using the projection method (required). The node number pattern is in the form of start:end:spacing, where spacing can be omitted if it is 1. If a surface is specified, the nodes within the surface are the targets.
  • h: Node thickness (required) [L].
  • n1,n2,n3,h1,h2,h3: Nodes and thicknesses that define a projection plane composed of 3 points (required). The units of thicknesses are [L]. This information is used to calculate the thickness for the target nodes.
  • n1,n2,n3,n4,h1,h2,h3,h4: Nodes and thicknesses that define a projection plane composed of 4 points (required). The units of thicknesses are [L]. This information is used to calculate the thickness for the target nodes.

The thickness of shell elements is determined through the shell section and the nodal thickness, among other factors. When nodal thickness (*NProp, TYPE=ShellThickness) is specified, the thickness defined in the shell section is ignored.

When determining thickness by projecting onto a projection plane composed of four nodes, the four nodes must lie on the same plane. If they belong to a warped geometry and do not lie on the same plane, the projection is made onto the plane defined at the centroid of the four nodes. Therefore, in cases with warped geometry, slight errors may occur.

Example
*NProp, TYPE=ShellThickness
 1, 0.4
 slab, 0.7
 slab1, 1,100,105, 0.1,0.2,0.3
 slab2, 1,100,105,107, 0.1,0.2,0.3,0.4
 1:200:5, 1,100,105,107, 0.1,0.2,0.3,0.4

*NProp, Type=ShellDirector

Set nodal director vectors for shell elements (S3, S4).

*NProp, Type=ShellDirector
 target, vx, vy, vz
 ...
First data line and subsequent data lines
  • target: Node number, node number pattern, node set, or surface to which the shell node thickness will be applied using the projection method (required). The node number pattern is in the form of start:end:spacing, where spacing can be omitted if it is 1. If a surface is specified, the nodes within the surface are the targets.
  • vx, vy, vz: Components of the shell nodal director vector (required). Internally normalized to a unit vector.

*NProp, TYPE=ShellDirector defines the nodal director vectors for shell elements S3 and S4. If nodal directors are defined using this command, automatically computed directors from connected shell elements are ignored.

Example
*NProp, TYPE=ShellDirector
 1, 1., 1., 0.
 slab, 4, 1, 2.