FeResPost Web Site                     FeResPost Online User Manual

IV.4.1.2 “Post-processing” classes

All the post-processing classes derive from the generic “GenPost” class defined in file “PGR/post.rb”. A post-processing object performs the calculation of a one or several criteria on a specific structural part or interface. It then manages the following operations:

The different member data of “GenPost” class deserve some explanation as well:

Note that the “Post” classes have been programmed in such a way that they remain, as much as possible “unaware” of the particular solver that is used to produce the results that are post-processed. In particular:

The classes inheriting “GenPost” class are listed below.

IV.4.1.2.1 “PostCauchyStress” class

This class is devoted to the post-processing of “Stress Tensor” Results. It proposes several failure criteria corresponding to Von Mises or core justification. For a single “Stress Tensor” Result extraction, several failure criteria can be calculated, and parameters specific to each failure criterion are defined in the data for this failure criterion. A “PostCauchyStress” object is created as follows:

        p=PostCauchyStress.new()
        p.setData(partName,loc,grpName,layers,criteria,params)

The parameters of “setData” method are explained in Table IV.4.1. It is the user’s responsibility to write the code that builds the post-processing objects with appropriate parameters. (See examples of definitions of data in section IV.4.2 for more details.)

Table IV.4.1: Parameters for the “PostCauchyStress” class.
Parameters for the extraction of Stress Tensor (“setData” parameters)
partName String The name of the part to which Excel results will be associated
loc String Location of extraction (“Elements”, “ElemCorners”, “ElemCenters”,...)
grpName String The name of Group on which stress tensor is extracted
layer(s) String, Integer or Array Layer(s) on which stress tensor is extracted
criteria Array Description of the derived criteria that must be calculated. (See below.)
Criteria and their parameters
Each criterion is defined in an Array of 5 elements
critName String Name of the criterion
gmshFileName String GMSH file name
gmshResName String GMSH result name
xlTableName String Name of the Excel worksheet in which results will be saved
critParams Hash Parameters for the derivation of criterion. (See below.)
Parameters if critName =“VonMises”
FoS Real Safety factor
All_VM Real Allowable
Parameters if critName =“MaxStress”
FoS Real Safety factor
All_MaxStress Real Allowable
Parameters if critName =“HoneyAirbus”
FoS Real Safety factor
All_L Real Core Shear Allowable (longitudinal direction)
All_W Real Core Shear Allowable (transverse direction)
Parameters if critName =“HoneyMaxShear”
FoS Real Safety factor
All_Shear Real Core Shear Allowable
Parameters if critName =“HoneyAxialComp”
FoS Real Safety factor
Comp_S String Axial Component (“XX”, “YY” or “ZZ”)
All_T Real Core Tensile Allowable
All_C Real Core Compression Allowable

IV.4.1.2.2 “PostLaminate” class

This class is devoted to the calculation of composite failure criteria via the classical laminate analysis. Here also, several criteria can be calculated by each “PostLaminate” object, but always for a single calculation of Stress or Strain Tensor Result.A “PostLaminate” object is created as follows:

        p=PostLaminate.new()
        p.setData(partName,loc,grpName,layers,criteria,params)

The parameters of “setData” method are explained in Table IV.4.2. It is the user’s responsibility to write the code that builds the post-processing objects with appropriate parameters. (See examples of definitions of data in section IV.4.2 for more details.)

Table IV.4.2: Parameters for the “PostLaminate” class.
Parameters for the extraction of Stress or Strain Tensor (“setData” parameters)
partName String The name of the part to which Excel results will be associated
loc String Location of extraction (“Elements”, “ElemCorners”, “ElemCenters”,...)
grpName String The name of Group on which stress tensor is extracted
layer(s) String, Integer or Array Layers on which stress tensor is extracted
bCurvature Boolean This parameter is set to True if laminate Curvature Tensor is used in Classical Laminate Analysis. Otherwise, the Shell Moments are used. For laminate in plane and out-of-plane shear loading, Shell Forces Tensor is always used. (It is not possible in “PostLaminate” class to use the laminate average Strain Tensor.)
FoS Real Safety factor for all the failure criteria
criteria Array Description of the derived criteria that must be calculated. (See below.)
Criteria and their parameters
Each criterion is defined in an Array of 5 elements
critName String Name of the criterion
gmshFileName String GMSH file name
gmshResName String GMSH result name
xlTableName String Name of the Excel worksheet in which results will be saved
critParams Hash Parameters for the derivation of criterion.
None of the laminate failure criteria needs additional parameters. The same safety factor is considered for all failure modes, and allowables are found in the composite database associated with current load case.

IV.4.1.2.3 “PostConnect” class

This class is devoted to the justification of connections. It presents several failure criteria corresponding to sliding of interfaces, gapping,failure of inserts, failure of bolts (according to method proposed in [otNCE21]), failure by bearing... A “PostConnect” object is created as follows:

        p=PostConnect.new()
        p.setData(ifName,params)

The parameters of constructor method are explained in Table IV.4.3. It is the user’s responsibility to write the code that builds the post-processing objects with appropriate parameters. (See examples of definitions of data in section IV.4.2 for more details.)

Note that:

Table IV.4.3: Parameters for the “PostConnect” class.
Parameters for the extraction of connection loads (“setData” parameters)
ifName String The name of the interface to which Excel results will be associated
type String Description of the type of connection saved in Excel table of results. This parameter does not influence the calculation.
interfaceDef Hash This Hash contains information regarding the interface definition and how connection loads are retrieved from FEM results. Additional information is given below in the Table.
criteria Array The different extraction or failure criteria that will be processed at step 2 (or step 1 for “GlobFM” extraction).
How the “interfaceDef” Hash parameter defines the interface... Defines the extraction source and method, possible modification of coordinate system, direction vector for connection axis, optional parameters for bolt group redistribution of connection loads, ... Optional parameters are in parentheses.
ifName String The name of the interface for which connection loads are extracted. This should match the “ifName” argument of “setData” method discussed above.
grpNameA String The name of Group “A” defining the interface.
grpNameB String The name of Group “B” defining the interface. This second Group is not necessarily used but parameter is requested. It can be set to nil if the extraction method does not require Group “B”.
method String Identifies the loads extraction method. Possible values are “BMFRC”, “BSHFRC”, “GPFINT”, “GPFMPC”, “GPFSPC”, “MPCFRC”, “SPCFRC” and “APPFRC”. This corresponds to the specification of entities on which forces and moments are extracted. (See the sources of “PostConnect” class if you have doublts regarding the meaning of these parameters.)
csId String or Integer Specification of the coordinate system in which interface load components must be expressed before deriving axial forces, shear forces, bending moments...
direction Array Array of three Real values specifying connections’ axis. Components of this vector are given wrt the coordinate system identified by “csId” above.
bRedistr Boolean Specifies whether a bolt group redistribution is requested. The parameters that follow are optional and must be provided only if a bolt group redistribution is requested. (Theory is given in Appendix X.E.4.3.)
(bgCsId) Integer Identification of the coordinate system for bolt group redistribution
(kT) Real Translational stiffness of connections for bolt group redistribution
(kR) Real Rotational stiffness of connections for bolt group redistribution
(grpName3) String Name of a group of nodes defining the locations of connections onto which global loads are redistributed. If this argument is nil, the redistribution is done on locations corresponding to the FEM entities from which loads are extracted.
Criteria and their parameters
Each criterion is defined in an Array of 5 elements
critName String Name of the criterion
gmshFileName String GMSH file name
gmshResName String GMSH result name
xlTableName String Name of the Excel worksheet in which results will be saved
critParams Hash Parameters for the derivation of criterion. (See below.)
The different extraction or failure criteria are generally calculated in “calc_2” method of the post-processing object. “GlobFM” extraction criterion is the exception as this one is calculated at in “calc_1” method.
Parameters if critName =“GlobFM”
csId Integer Specifies the coordinate system considered for the calculation of interface global force and global moment. Note that this coordinate system may differ from the coordinate system specified in interface definition above, even though we use the same “csId” Hash key.
refPoint Array Array of three Real values specifying the coordinates of the point wrt which global force and moment are calculated. Coordinates are given wrt to coordinate system specified by “csId” above.
format String Specifies the format in which results are saved in Excel table. Possible values are “R”, “RI” or “MP”. This parameter matters when complex Results are post-processed (SOL 111 analysis).
This extraction is done in “calc_1” method. This is because for the post-processing of SOL 111 interface results the results are complex and one performs an extraction of complex components instead of one extraction for each phase that is post-processed.
Parameters if critName =“Sliding”
FoS Real Safety Factor
Pmin Real Minimum value of bolts’ pretension
Cf Real Friction coefficient between assembled parts
Parameters if critName =“Gapping”
FoS Real Safety Factor
Pmin Real Minimum value of bolts’ pretension
Lg Real Prying length for bending moment contribution
Parameters if critName =“Insert”
FoS Real Safety Factor
PSS Real Insert tensile allowable
QSS Real Insert shear allowable
Parameters if critName =“PullThru”
FoS Real Safety Factor
PSS Real Insert tensile allowable
Parameters if critName =“ShearBearing”
FoS Real Safety Factor
QSS Real Insert shear allowable
Parameters if critName =“IfLoads”
No parameter are provided for this criterion. (“critParams” is an empty Hash.) The failure criterion saves load components as they have been extract from FEM Results, according to “interfaceDef” Hash parameters. (See above in the table.)
Parameters if critName =“NasaStd5020”
FoS Real Safety factor
D Real Connection diameter. (Does not seem to be used in calculation of failure criterion.)
Lg Real Prying length considered to account for the bending moment
hsp Real ...
etaPhi Real ...
Pmax Real Maximum bolt pretension
Pt Real Bolt tensile allowable
Ps Real Bolt shear allowable
Pb Real Bolt bending allowable
bSpInThreads Boolean True if the shear plane is in threaded part of fastener
bPrldCombined Boolean True if the preload is considered in fastener shear or combined failure analysis. (According to section A.7 of [otNCE21], this preload can be neglected for some failure modes.)
Parameters if critName =“NasaStd5020_DBG”
This criterion is used for debugging purpose only and very close to “NasaStd5020’´. Corresponding parameters may be modified without notification and are therefore not described here.

IV.4.1.2.4 “PostExtract” class

This method performs simple extractions of results, to be archived in excel-like SQL tables, but without actual calculation of failure criteria. This is an example of post-processing class in which no “calc_2” method is defined. Also, this class does not fill the “@srResults” member data.

Table IV.4.4: Parameters for the “postExtract” class.
Parameters for the extraction (“setData” parameters)
extractName String The name of the extraction
params Hash Other parameters. (See below.)
Extraction parameters (“params” Hash object)
extractType String type of extraction
resName String Name of the Result being extracted
loc String FEM location for the extraction (“EC”, “EN” or “N”)
format String Format of the extraction (“RI”, “MP” or “R”)
elemId Integer or String Element on which results are extracted
nodeId Integer or String Node on which results are extracted
layerId Integer or String Layer on which results are extracted
csId Integer or StringCoordinate system in which components are given. (Use “None” or “AsIs” is no modification of coordinate system is requested.)
deriv String Derivation criterion. Identification of a Result derivation from tensorial, vectorial or scalar Result to scalar result.
xlTableName String Name of the Excel table in which extractions are saved

IV.4.1.2.5 “PostBuckling” class

This class is used to post-process the buckling results. Post-processing of buckling results requires an additional preliminary step before launching the Static loop analysis. Method “identifyCriticalBucklingElemLoadCases” is used to build a separate SQLite database containing a summary of buckling load case results. File “DATA/postBucklingDatag.rb" in post-processing main directory illustrates the use of this method. For example:

    sqlDbName="buckling.db3"

    datFile="../../MODEL/EXEC_XDB/sol105_unit_xyz.bdf"
    resFile="../../MODEL/EXEC_XDB/sol105_unit_xyz.xdb"
    PostBuckling.identifyCriticalBucklingElemLoadCases(datFile,resFile,sqlDbName)

    datFile="../../MODEL/EXEC_XDB/sol105_temp_grad.bdf"
    resFile="../../MODEL/EXEC_XDB/sol105_temp_grad.xdb"
    PostBuckling.identifyCriticalBucklingElemLoadCases(datFile,resFile,sqlDbName)

    datFile="../../MODEL/EXEC_XDB/sol105_temp_disc.bdf"
    resFile="../../MODEL/EXEC_XDB/sol105_temp_disc.xdb"
    PostBuckling.identifyCriticalBucklingElemLoadCases(datFile,resFile,sqlDbName)

In this example, SQLite database containing the buckling results is stored in file “buckling.db3” in post-processing main directory.

The function builds for each load case in a Nastran SOL 105 analysis output file (HDF5 or XDB), a map of the critical load factors associated to the different parts of the structure. More precisely:

In the end, for each load case, one builds two scalar Results corresponding to the positive and negative envelopes respectively (Figure IV.4.1). The load case names to which envelope Results are associated are the Nastran static load case names. This means that the buckling load case names must be transformed into static ones. In our class, the default transformation is done in method “filterBucklingLcName” as follows:

    shortLcName=tmpName.strip.gsub("BUCK_","").gsub("BUCKLING_","")

This default transformation can be modified via a redefinition of method “filterBucklingLcName” in a class deriving from “PostBuckling”


PICT

Figure IV.4.1: Storage of buckling positive and negative critical load factor envelopes in SQLite database.

The rest of buckling post-processing is done as for the other criteria. The only difference is that the positive and negative envelopes of critical load fators are extracted from SQLite database "buckling.db3" and not from Nastran HDF5 or XDB files. One distinguishes the elementary and combined load cases:

As for the other post-processing classes, “PostBuckling” outputs “xl_” outputs and SR mapping on the structure. The calculation of buckling can be done for separate parts. Parameters of the “PostBuckling” class are summarized in Table IV.4.5. An example of buckling distribution of strnegth ratios is shown in Figure IV.4.2.

Table IV.4.5: Parameters for the “postBuckling” class.
Parameters for the buckling post-processing (“setData” parameters)
params Hash Other parameters. (See below.)
Extraction parameters (“params” Hash object)
FoS Real Factor of Safety
partName String post-processing name of the area
grpName String Group of nodes on which CLFs are extracted
xlTableName String Name of the “excel” output table
Buckling.gmsh String GMSH file name for buckling SR Result storage
Buckling.gmsh String Result name for buckling SR Result storage
sqlFileName StringPath to SQLite database from which CLF envelopes are read

PICT

Figure IV.4.2: Example of envelope of buckling strength ratios distribution.