Subroutine Type |
Utility/Data Access |
|||||||||||||||||||
Definition |
GTCMAT calculates the compliance matrix between “N” REFERENCE_MARKERS in a MotionSolve model. |
|||||||||||||||||||
Use |
GTCMAT is usually called from a REQSUB user subroutine. |
|||||||||||||||||||
Calling Syntax |
FortranCALL GTCMAT (NM, MKID, NC, CMAT, ISTAT)
Cc_gtcmat(nm, mkid, nc, cmat, istat)
Python[cmat, istat] = py_gtcmat(mkid) |
|||||||||||||||||||
Input Arguments |
NM |
Integer NM > 0 |
Defines the number of REFERENCE_MARKERS between which the compliance matrix is to be calculated. |
|||||||||||||||||
MKID |
Integer Array Size ≥ NM |
Contains the IDs of the REFERENCE_MARKERS for which the compliance matrix is to be calculated. |
||||||||||||||||||
NC |
Integer NC ≥ 6*NM |
Defines the row and column dimension of the double precision array CMAT that will contain the computed compliance matrix. |
||||||||||||||||||
Output Values |
CMAT |
Double Precision Array Size = NC*NC |
The array containing the compliance matrix for the REFERENCE_MARKERs specified. |
|||||||||||||||||
|
ISTAT |
Integer |
The return status from GTCMAT. ISTAT has the following meanings: |
|||||||||||||||||
|
ISTAT= 0 |
Normal return. Compliance matrix was calculated. |
||||||||||||||||||
|
ISTAT= -1 |
Error return. NMID < 0. |
||||||||||||||||||
|
ISTAT= -2 |
Error return. NM > 100. |
||||||||||||||||||
|
ISTAT= -3 |
Error return. NC < 6*NM. |
||||||||||||||||||
|
ISTAT= -6
|
Error return. MKID refers to a non-existent REFERENCE_MARKER. |
||||||||||||||||||
|
ISTAT= -7 |
Error return. The system has zero degrees of freedom. |
||||||||||||||||||
|
ISTAT= -9 |
Error return. A singular Jacobian matrix was encountered during the calculations. |
||||||||||||||||||
|
ISTAT=-11 |
Error return. One of the REFERENCE_MARKERs is on GROUND. By definition, it cannot move. |
||||||||||||||||||
|
ISTAT=-12 |
Error return. An initial static equilibrium was not performed. |
||||||||||||||||||
|
ISTAT=-99999 |
Error return. |
||||||||||||||||||
Comments |
|
|||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
The quantities in the above equation are defined as follows:
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
For example, the vertical wheel rate is defined as the inverse of the vertical displacement measures at the wheel center, due to a vertical load applied at the wheel center. Assuming that the compliance matrix between two markers located at the suspension wheel center has been computed, then it is quite obvious to express the vertical wheel rate as follows: |
||||||||||||||||||||
Where the various terms are entries in the compliance matrix are: |
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
Examples |
Figure 1 below shows a triangle T that is suspended from an annulus A. Annulus A is grounded. T is connected to A by means of three bushings: B1, B2, and B3. The mass properties of T and the stiffness characteristics of B1, B2, and B3 are shown below. The aim of this test is to find the compliance of the system at the three bushing locations. The system is modeled as follows:
A REQSUB is written to calculate the compliance matrix. In the REQSUB, GTCMAT is invoked with the appropriate parameters. The REQSUB obtains the compliance matrix and writes it to a file. The contents of this file are shown below. The file contains an 18 by 18 matrix, conveniently partitioned into 6 by 6 blocks.
COMPLIANCE MATRIX =================
IM = B1 JM = B1 Row Range = 1 -- 6 Col Range = 1 -- 6 2.78486E-03 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 -2.79544E-06 0.00000E+00 1.66667E-03 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 3.49751E-03 4.57714E-06 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 4.57711E-06 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 -2.79548E-06 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
IM = B1 JM = B2 Row Range = 1 -- 6 Col Range = 7 --12 1.10757E-03 8.38643E-04 0.00000E+00 0.00000E+00 0.00000E+00 -2.79544E-06 0.00000E+00 1.66667E-03 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 7.51245E-04 4.57714E-06 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 -2.28855E-06 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 3.51939E-06 0.00000E+00 0.00000E+00 0.00000E+00 1.39774E-06 -2.09661E-06 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
IM = B1 JM = B3 Row Range = 1 -- 6 Col Range = 13 --18 1.10757E-03 -8.38643E-04 0.00000E+00 0.00000E+00 0.00000E+00 -2.79543E-06 0.00000E+00 1.66667E-03 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 7.51245E-04 4.57714E-06 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 -2.28855E-06 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 -3.51939E-06 0.00000E+00 0.00000E+00 0.00000E+00 1.39774E-06 2.09661E-06 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
IM = B2 JM = B1 Row Range = 7 --12 Col Range = 1 -- 6 1.10757E-03 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 1.39772E-06 8.38643E-04 1.66667E-03 0.00000E+00 0.00000E+00 0.00000E+00 -2.09658E-06 0.00000E+00 0.00000E+00 7.51245E-04 -2.28857E-06 3.51938E-06 0.00000E+00 0.00000E+00 0.00000E+00 4.57711E-06 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 -2.79548E-06 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
IM = B2 JM = B2 Row Range = 7 --12 Col Range = 7 --12 1.94621E-03 -4.19322E-04 0.00000E+00 0.00000E+00 0.00000E+00 1.39772E-06 -4.19322E-04 2.29565E-03 0.00000E+00 0.00000E+00 0.00000E+00 -2.09658E-06 0.00000E+00 0.00000E+00 3.18019E-03 -2.28857E-06 3.51938E-06 0.00000E+00 0.00000E+00 0.00000E+00 -2.28855E-06 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 3.51939E-06 0.00000E+00 0.00000E+00 0.00000E+00 1.39774E-06 -2.09661E-06 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
IM = B2 JM = B3 Row Range = 7 --12 Col Range = 13 --18 1.94621E-03 4.19322E-04 0.00000E+00 0.00000E+00 0.00000E+00 1.39772E-06 -4.19322E-04 1.03768E-03 0.00000E+00 0.00000E+00 0.00000E+00 -2.09658E-06 0.00000E+00 0.00000E+00 1.06856E-03 -2.28857E-06 3.51938E-06 0.00000E+00 0.00000E+00 0.00000E+00 -2.28855E-06 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 -3.51939E-06 0.00000E+00 0.00000E+00 0.00000E+00 1.39774E-06 2.09661E-06 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
IM = B3 JM = B1 Row Range = 13 --18 Col Range = 1 -- 6 1.10757E-03 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 1.39772E-06 -8.38643E-04 1.66667E-03 0.00000E+00 0.00000E+00 0.00000E+00 2.09658E-06 0.00000E+00 0.00000E+00 7.51245E-04 -2.28857E-06 -3.51938E-06 0.00000E+00 0.00000E+00 0.00000E+00 4.57711E-06 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 -2.79548E-06 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
IM = B3 JM = B2 Row Range = 13 --18 Col Range = 7 --12 1.94621E-03 -4.19322E-04 0.00000E+00 0.00000E+00 0.00000E+00 1.39772E-06 4.19322E-04 1.03768E-03 0.00000E+00 0.00000E+00 0.00000E+00 2.09658E-06 0.00000E+00 0.00000E+00 1.06856E-03 -2.28857E-06 -3.51938E-06 0.00000E+00 0.00000E+00 0.00000E+00 -2.28855E-06 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 3.51939E-06 0.00000E+00 0.00000E+00 0.00000E+00 1.39774E-06 -2.09661E-06 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
IM = B3 JM = B3 Row Range = 13 --18 Col Range = 13 --18 1.94621E-03 4.19322E-04 0.00000E+00 0.00000E+00 0.00000E+00 1.39772E-06 4.19322E-04 2.29565E-03 0.00000E+00 0.00000E+00 0.00000E+00 2.09658E-06 0.00000E+00 0.00000E+00 3.18019E-03 -2.28857E-06 -3.51938E-06 0.00000E+00 0.00000E+00 0.00000E+00 -2.28855E-06 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 -3.51939E-06 0.00000E+00 0.00000E+00 0.00000E+00 1.39774E-06 2.09661E-06 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 |
|||||||||||||||||||
The 18x18 matrix is organized in 6x6 blocks as shown below. Blocks that are transposes of each other are shaded in the same color.
Black definition in the compliance matrix, CMAT. |