The “calcFiniteElementResponse” method allows the calculation of finite element load response. More precisely the method calculates several Result objects containing finite laminate finite element results, from loading of which some components are finite element results. The method has up to nine arguments:
The first argument is a “ClaDb” object in which the materials used in the laminate definition are stored.
The second argument, “theta”, is a real value corresponding to the angle in degrees of loading wrt laminate axes. In most cases, this angle will be zero. Note that the same angle is used to calculate laminate load response for all elements and nodes on which it is required.
The third argument is a ClaLoad object in which the loading is defined. This ClaLoad object must have some components defined as finite element results.
The fourth argument is an Array of three logical values. Each logical value corresponds to the request of results at bottom, mid and top location respectively, in each ply. (The components are similar to three of the arguments of “calcResponse” method described in section II.4.7.1.)
The fifth parameter is an Array of Strings specifying the non-layered laminate results that will be returned by the method.
The sixth parameter is an Array of Strings specifying the layered laminate results that will be returned by the method. (Results at ply level.)
The seventh parameter is a Real object corresponding to the safety factor. This parameter is used by the method only for the calculation of reserve factors, or strength ratios. (See the following argument.)
The eighth parameter is an Array of Arrays describing the failure indices, reserve factors or equivalent scalar derived values requirements. Each element of the first Array is an Array of up to five elements:
A String corresponding to the key by which the corresponding result shall be referred in the Hash returned by “calcFiniteElementResponse” method.
A String corresponding to the name of the criterion. This name must one of the names defined in Table II.1.2.
A string defining the type of Result that shall be defined. Values can be “FI”, “RF”, “SR” or “EQ”. They correspond to the calculation of Failure Indices, Reserve Factors, Strength Ratios or Scalar Derived values respectively. If a Reserve Factor or Strength Ratio is required, the factor of safety parameter is used for the calculation.
A logical value specifying whether the laminate allowables are used for the calculation of Result values. If this value is false, then the ply material allowables are used in the calculations.
A logical value specifying if Result values are required for all the plies. If the argument is “false”, the critical layer value only is inserted in the returned Result.
The Logical parameters are optional. If not defined, “false” values are assumed.
An Array containing the list of plies on which stresses, strains or scalar failure indices are to be calculated. (For example, an Array of integers corresponding to ply idfiers.)
The method returns a Hash object containing pairs of Strings and Results. One can make a few remarks that should help to understand Results returned by the method:
FeResPost first calculates a list of all the entities (elements, or elements and their corner nodes) for which mechanical, thermo-elastic or hygro-elastic loading components are defined in the ClaLoad object. FeResPost calculates a load response and corresponding finite element Results for all these finite element entities.
When mechanical loading components are defined as finite element Results, it is the responsibility of the user to first transform the components in such a way that their use by FeResPost makes sense. This means that the Results must be expressed in the appropriate coordinate system. (See also section II.5.6.)
When mechanical loading components are defined as finite element Results, and when for some components, and if some of the finite element entities (elements or nodes) are not present in all the corresponding finite element Result stored in the ClaLoad object, FeResPost assumes the corresponding components to be zero for the loading of the entity.
When thermo-elastic or hygro-elastic components are defined as finite element Results:
Values on upper and lower faces correspond to the finite element temperatures found at layers Z1 and Z2 respectively.
If values at Z1 and/or Z2 are not found, and a value is found at layer Z0 or NONE, this value is used instead. Note that when both Z0 and NONE layers are found in the layers, Z0 layer value supersedes the NONE layer value.
If either of the two values at Z1 or Z2 is not found by either of the two methods listed above, then the thermo-elastic or hygro-elastic contribution is not considered for laminate response analysis of the current FEM entity.
Non-layered vectorial or tensorial Results are calculated in laminate axes. Layered vectorial and tensorial Results are calculated in ply axes. Scalar Results are not associated to a coordinate system.
The “Ilss” and “Ilss_b” scalar results are always calculated at bottom layer of each ply, even if no explicit request of output to bottom sub-layer has been done.
The requirements for laminate non-layered and layered Results are summarized in Table II.4.2 and Table II.4.3 respectively.
An example of use of the method follows:
criteria = [] criteria << ["TS FI","TsaiHill2D","FI",true,true] criteria << ["TW FI","TsaiWu2D","FI",true,true] criteria << ["TW FI Critical","TsaiWu2D","FI",true,false] criteria << ["ILSS FI Critical","Ilss","FI",true,false] theta=0.0 outputs=lam.calcFiniteElementResponse(compDb,theta,ld,[true,true,true], ["Shell Forces","Shell Moments", "Shell Curvatures", "Average Strain Tensor"], ["Stress Tensor","Strain Tensor","Mechanical Strain Tensor", "Ply Temperature Variation"], 1.5,criteria)
Requirement | Finite Element Result |
“Shell Forces” | “Shell Forces” |
“Shell Moments” | “Shell Moments” |
“Shell Curvatures” | “Shell Curvatures” |
“Average Strain Tensor” | “Average Strain Tensor” |
Requirement | Finite Element Result |
“Stress Tensor” | “Stress Tensor” |
“Strain Tensor” | “Strain Tensor” |
“Mechanical Strain Tensor” | “Mechanical Strain Tensor” |
“Ply Temperature” | “Ply Temperature” |
“Ply Temperature Variation” | “Ply Temperature Variation” |
“Ply Moisture” | “Ply Moisture” |
“Ply Moisture Variation” | “Ply Moisture Variation” |
Note that the same method with exactly the same arguments has been defined in the DataBase class. (See section I.1.5.)
The different calculated results from the ClaLam object are expressed in the units system associated with the object.