HMRES_complexvonmisesadd()
Use to add complex vonmises results to a data type.
Syntax
int HMRES_complexvonmisesadd(HM_entityidtype id, double magnitude, double phase, double offset);
Type
HyperMesh hmreslib Function
Description
Use to add complex vonmises results to a data type.
Inputs
- id
- The ID of the node or element.
- magnitude
- The magnitude component of the complex number.
- phase
- The phase component of the complex number in degrees.
- offset
- The offset applied to the sine wave.
Example
Use to add complex vonmises results to a data type. hmreslib stores complex results in polar format (magnitude/phase). This presents a problem, as vonmises stress cannot be represented as a complex number. Instead, hmreslib stores vonmises stress squared. This requires that a complex number and an offset be written to the results file.
To calculate the correct values for the magnitude, phase, and offset, a three point method can be used. First obtain the square of vonmises stress at a base angle of 0, 45, and 180 degrees. After these three values are found, the following equations provide the correct magnitude, phase, and offset:
VM1, VM2, and VM3 are the three points where vonmises squared is evaluated at 0, 45, and 90 degrees respectively.
alpha = 2*VM2-VM1-VM3
beta = VM3-VM1
gamma = VM1+VM3
offset = gamma/2.0
magnitude = 0.5*sqrt(alpha*alpha+beta*beta)
phase = 180.0*atan2(beta,alpha)/PI
Errors
None.