4. SD description classes#
The Python sd_* class therefore contains the description of SD in terms of Fortran objects, it derives from the ASBase object. The ASBase class contains:
the name of the SD name
an attribute to classify SD as « optional » or not: optional
a method for assigning the name: setname
a method to check the SD:check
various methods for printing (repr overload)
By inheritance, we define the object JEVEUXde base: class OJB (asBase). This class contains:
the description of attributes JEVEUX (see D6.02.01 Memory Management: JEVEUX) in protected attributes
a protected attribute on the existence or not of the object JEVEUX: __exists
As we can see, the protected attributes of the OJBsont class, which are accessed via classes derived from OJBqui, describe existing objects. There are three basic classes:
OJBVect: a simple object in the JEVEUX sense
OJBPtnom: a name pointer object in the JEVEUX sense
OJBCollec: a collection object in the JEVEUX sense
There are « aliases » of these classes, for reasons of compatibility and readability:
asObject is another name from class OJB
ASPN is another name for class OJBPtnom
ASVect is another name for class OJBVect
AsColl is another name for class OJBCollec
Class OJBVect is derived into even more basic objects, which approximates the syntax of the Fortran WKVECT routine:
*ASVi: the object is an integer vector INTEGER*8
*asVr: the object is a vector of reals REAL*8
*asVc: the object is a vector of complexes COMPLEX*16
*asVl: the object is a Boolean vector LOGICAL*8
*As VK8: the object is a CHARACTER*8 character vector
*As VK16: the object is a character vector CHARACTER*16
*As VK24: the object is a CHARACTER*24 character vector
*As VK32: the object is a character vector CHARACTER*32
*As VK80: the object is a CHARACTER*80 character vector
Note: The types used in*Code_Aster* are defined in the asterf.config.h file
The constructor for these objects can contain all the usual JEVEUX attributes. For example, for a collection:
TAVA = asColl (SDNom (start=19), access='nu', storage=' CONTIG ',
modellong=” CONSTANT “, type=”K”, ltyp=8,)