II.4.8.1 Calculation of laminate loads, stresses and strains
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:
-
1.
- The first argument is a “ClaDb” object in which the materials used in the laminate
definition are stored.
-
2.
- 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.
-
3.
- 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.
-
4.
- 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.)
-
5.
- The fifth parameter is an Array of Strings specifying the non-layered laminate results that
will be returned by the method.
-
6.
- The sixth parameter is an Array of Strings specifying the layered laminate results that
will be returned by the method. (Results at ply level.)
-
7.
- 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.)
-
8.
- 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)
- A String corresponding to the key by which the corresponding result shall be
referred in the Hash returned by “calcFiniteElementResponse” method.
-
(b)
- A String corresponding to the name of the criterion. This name must one of the
names defined in Table II.1.2.
-
(c)
- 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.
-
(d)
- 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.
-
(e)
- 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.
-
9.
- 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)
Table II.4.2: Laminate non-layered Results requirements.
|
|
Requirement | Finite Element Result |
|
|
|
|
“Shell Forces” | “Shell Forces” |
|
|
“Shell Moments” | “Shell Moments” |
|
|
“Shell Curvatures” | “Shell Curvatures” |
|
|
“Average Strain Tensor” | “Average Strain Tensor” |
|
|
|
Table II.4.3: Laminate non-layered Results requirements.
|
|
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.)
II.4.8.1.1 Units
The different calculated results from the ClaLam object are expressed in the units system associated
with the object.