Nodal Results

The NodeResult object encapsulates the results at a node for a particular analysis.  The properties of this object, which are all read-only, return the displacement of the node and the resultant reactions.  The properties of this object are listed in the table below.

 

Property

Type

Description

Analysis

mfAnalysisType

Read Only.  Returns the type of analysis used to generate the results.

Displacement*

Double

Read Only.  Returns the displacement/rotation of the node in a specified degree of freedom.

Displacements

Variant

Read Only.  Returns a vector containing the displacements/rotations in each of the nodes degrees of freedoms.

dx, dy, dz

Double

Read Only.  Returns the displacement of the node along the x, y and z-axes respectively.

Node

Node

Read Only.  Returns a reference to the node to which the results apply.

Mx, My, Mz

Double

Read Only.  Returns the component of the reaction at the node acting about the x, y and z-axes respectively.

Reaction*

Double

Read Only.  Returns the reaction acting in a specified degree of freedom.

Reactions

Variant

Read Only.  Returns a vector containing the reactions acting in each of the nodes degrees of freedoms.

ResultCase

ResultCase

Read Only.  Returns a reference to the parent Results Case containing these results.

Rx, Ry, Rz

Double

Read Only.  Returns the component of the reaction at the node acting along the x, y and z-axes respectively.

Solved

Boolean

Read Only.  Returns true if the results for this case has been computed.

Thetax

Double

Read Only.  Returns the rotation of the node about the x-axis.

Thetay

Double

Read Only.  Returns the rotation of the node about the y-axis.

Theta

Double

Read Only.  Returns the rotation of the node about the z-axis.

*Denotes a property that takes a parameter specifying a nodal degree of freedom.

 

The Application and Frame properties are common to many objects and are described in Chapter 2.  The NodeResult object has no methods.

 

The NodeResult object can be obtained for a node even if the specified analysis has not been performed.  As such, the Solved property has been provided to determine if the results are available.  This property returns true if the results for the node are available for the associated type of analysis.  Trying to access many other properties of this object will return and error if the results have not been solved for.  As such, it is good programming practice to determine if the results are available prior to accessing the other properties of the NodeResult object.

 

The displacements at a node can be obtained in three different ways using the properties of the NodeResult object.  The appropriate means of access if often dependent upon the script in which the values are used.  The first technique for accessing the displacements is via the individual properties representing the displacement in each degree of freedom.  The translation of the node is obtained via the properties dx, dy and dz while the rotational displacements are specified by the properties thetax, thetay, thetaz.  These properties all return the displacement of the node in terms of the global coordinate system.

 

The second method of accessing the displacements at a node is using the Displacement property of the NodeResult object.  This property returns the displacement for a specified degree of freedom.  The distinction of this member as a property and not a method is purely academic since it is read only.  However, it is a special type of property that takes a single enumerated parameter identifying the degree of freedom.

 

The final means of accessing the displacements is using the Displacements property.  This property returns a variant containing an array of six real numbers that are the displacements for each degree of freedom at the node.  This property is the fastest method of accessing all the displacements at a node, as it only requires a single call to the automation interface.  The displacements returned by any of these properties is specified in terms of either the displacement or rotation units currently in use by the Multiframe application.  The following example demonstrates the use of all three techniques of accessing the displacements in determining the total distance moved by a node.

Dim myResult As Multiframe.NodeResult
Dim dist As Double
Dim i As Long
Dim myVar As Variant

’Get results at Node 5 for linear analysis of load case 1
Set myResult = myFrame.Results.Case(1,mfAnalysisStatic).NodeResults(5)

’Test if results are solved
If (myResult.Solved) then

  '(1)Compute distance moved by node
  dist = myResult.dx ^ 2 + myResult.dy ^ 2 + myResult.dz ^ 2
  dist = Sqr(dist)

  '(2)Compute distance moved by node
  dist = 0#
  For i = 1 To 3
    dist = dist + myResult.Displacement(i) ^ 2
  Next
  dist = Sqr(dist)

  '(3)Compute distance moved by node
  myVar = myResult.Displacements
  dist = myVar(1) ^ 2 + myVar(2) ^ 2 + myVar(3) ^ 2
  dist = Sqr(dist)

Endif

A similar interface is also provided to access the reactions at a node.  The properties, Rx, Ry, Rz and Mx, My, Mz return the reactions in each degree of freedom.  Alternatively the Reaction property returns the reaction for a specified degree of freedom while the Reactions method returns an array of the reactions at the node.  The values returned by each of these properties is specified in terms of either the force or moment units currently in use by the Multiframe application.

 

The Node property of the NodeResult object returns a reference to a Node object that identifies the node to which the results apply. 

 

The analysis used to generate the results can be determined from the Analysis property of the NodeResult object.  This property returns an enumerated value of type mfAnalysisType.