3. Contents of objects#

'. DESM ': OJB S V I long=10

DESM (1): (empty)

DESM (2): number of nodes external to the mesh (nbnoe)

DESM (3): number of internal mesh nodes (nbnoi)

(mesh node = physical node or Lagrange node)

DESM (4): number of external ddls. total (nddle)

DESM (5): total number of internal ddls (nddli)

DESM (6): number of sd_char_mecacinematics. (Nbchar)

DESM (7): number of load cases defined. (Nbcases)

DESM (8): number of external languages (nlage)

DESM (9): number of large relationships (nlagl)

DESM (10): number of internal lagranges (nlagi)

'. REFM ': OJB S V K8 LONG =9+nbchar

REFM (1): sd_model

REFM (2): sd_mesh

REFM (3): sd_cham_mater

REFM (4): sd_cara_elem

REFM (5): sd_nume_ddl

REFM (6): « OUI_RIGI »/ » NON_RIGI »

REFM (7): « OUI_MASS »/ » NON_MASS »

REFM (8): « OUI_AMOR »/ » NON_AMOR »

REFM (9) :name of the data structure provided by the user behind the DEFINITION/PROJ_MESU keyword (type mode_gene, tran_gene,…)

REFM (9+1): char_cinema_1

REFM (9+2): char_cinema_2

… REFM (9+nchar): Char_cinema_n

'. LINO ': OJB S V I

LINOcontient the list of external physical nodes.

The actual number of these nodes (LONUTI) is also in DESM (2).

The order of the nodes in. LINOest the one that appeared in. CONX

'. CONX ': OJB S V I

Note:

This item is actually mandatory. But it only appears in the data structure at the moment of condensation of stiffness and since the sd_macr_elem_stat is a reentering object that can be built in several steps, it may happen that the object. CONXsoit absent from SD.

nbone = long (LINO)

nbnoet = nbnoe + nlage + nlagl: this is the total number of external nodes.

CONXest sized to 3*nbnoet

The external nodes are numbered in the order in which they appeared in the initial numbering (condensed matrix).

CONX (1, inoe): ili = ligrel number of. LILI (nume_ddl)

containing the inoe external node

CONX (2, inoe): ino = number of inoe in the ligrel ili

CONX (3, inoe): = 0 if physical node

= -1 if this Lagrange node is a "before" node

= -2 if this Lagrange node is an "after" node

“. VARM “: OJB S V R LONG =2


VARM (1) size of the blocks of the factorized stiffness matrix (LDLT) and size of the blocks of the matrix PHI_IE. This size is given in kilo r8.

VARM (2) instant of calculation (DEFINITION/INST)

'. PHI_IE ': OJB XD V R long=cste NU ()

PHI_IEest the matrix: PHI_IE = K_II**(-1)*K_IE

or K_II: sub-matrix of internal ddls.

or K_IE: submatrix of internal/external combinations.

PHI_IEest a matrix of nddle x nddli dimensions. It is stored as a scattered collection because this object can be very large. In each object in the collection (with a maximum size VARM (1)), a certain number (nlblph) of rows from the PHI_IE matrix are stored. Each line is nddle long.

The lines of PHI_IEsont of course stored consecutively in the objects of the collection. The 1st object contains lines 1 to nlblph, the 2nd object contains lines nlblph+1 to 2* nlblph,…

'. MAEL_RAID_VALE ': OJB S V R

Condensed stiffness matrix (called KP_EE).

KP_EEest the matrix: KP_EE = K_EE — K_EI* PHI_IE

This matrix is stored « symmetric » by columns:

KP_EE (i, j) = KP_EE (j* (j-1) /2 +i) for j≥i

KP_EEest a vector of length nddle* (nddle+1) /2

'. MAEL_MASS_VALE ': OJB S V R

Condensed mass matrix (called MP_EE).

MP_EEest the matrix:

⇒ MP_EE = M_EE + PHI_EI M_II PHI_IE - M_EI*PHI_IE - PHI_EI*M_EI

This matrix is stored « symmetric » as KP_EE

'. MAEL_AMOR_VALE ': OJB S V R

Condensed damping matrix (called AP_EE).

This matrix is stored « symmetric » as KP_EE

Note:

The MACR_ELEM_STAT command does not allow (for the moment) to calculate. MAEL_AMOR_VALE. But there is one (or several?) dynamic command in which we pass an sd_macr_elem_dyna for an sd_macr_elem_stat. The object. MAEL_AMOR_VALE, if present, will then be assembled into the global damping matrix.

'. LICH ': OJB XC V M8 LONG (cste) NO ()

This collection is oversized in relation to the number of load cases.

It is named by the names of the load cases nomcas.

LICH (cas name) has the dimension n_char_max+1

LICH (casename) (1) =/”NON_SUIV “unfollower load/” OUI_SUIV “follower loading

LICH (case name) (1<i≤n_char_max+1) = load name i-1

'. LICA ': OJB XD V R LONG (cste) NO ()

This collection is oversized in relation to the number of load cases.

It is named by the nomcas load case names.

LICA (cas name) has the dimension 2*nddlt= 2* (nddli+ nddle)

Each object LICA (nomcas) is composed of 2 segments of the same length (nddli+ nddle) stored end to end.

In the 1st segment, we find the second member corresponding to the load case nomcas:

LICA (case name) (1 ≤ i ≤ nddli) = F_I

LICA (case name) (nddli+1 ≤ i ≤ nddli+nddle) = F_E

In the second segment, we find the second condensed member corresponding to nomcas:

LICA (case name) (nddlt+1 ≤ i ≤ nddlt+nddli) = (K_II**-1)*F_I

LICA (case name) (nddlt+nddli+1 ≤ i ≤ nddlt+nddle) = FP_E

with FP_E = F_E - K_EI*(K_II**-1) *F_I