Contents  
Functions  
 ![]() ![]() |
Purpose
Computation of stresses and energies for given deformations.
Syntax
Result = fe_stress('Command',MODEL,DEF) ... = fe_stress('Command',node,elt,pl,il, ...) ... = fe_stress( ... ,mode,mdof)
Description
You can display stresses and energies directly using fecom ColorDataEner commands and use fe_stress to analyze results numerically. MODEL can be specified by four input arguments node, elt, pl and il (those used by fe_mk, see also section 7.1 and following), a data structure with fields .Node, .Elt, .pl, .il, or a database wrapper with those fields.
The deformations DEF can be specified using two arguments: mode and associated DOF definition vector mdof or a structure array with fields .def and .DOF.
Element energy computation. For a given shape, the levels of strain and kinetic energy in different elements give an indication of how much influence the modification of the element properties may have on the global system response. This knowledge is a useful analysis tool to determine regions that may need to be updated in a FE model. Accepted command options are
Obsolete options are
The strain and kinetic energies of an element are defined by
Estraine= |
| φTKelementφ and Ekinetice= |
| φTMelementφ |
For complex frequency responses, one integrates the response over one cycle, which corresponds to summing the energies of the real and imaginary parts and using a factor 1/4 rather than 1/2.
feplot allows the visualization of these energies using a color coding. You should compute energies once, then select how it is displayed. Energy computation clearly require material and element properties to be defined in InitModel.
The earlier high level commands fecom ColorDataK or ColorDataM don't store the result and thus tend to lead to the need to recompute energies multiple times. The preferred strategu is illustrated below.
demosdt('LoadGartFe'); % load model,def cf=feplot(model,def);cf.sel='eltname quad4';fecom ch7 % Compute energy and store in Stack Ek=fe_stress('ener -MatDes 1 -curve',model,def) cf.Stack{'info','Ek'}=Ek; % Color is energy density by element feplot('ColorDataElt -dens -ColorBarTitle "Ener Dens"',Ek); % Color by group of elements cf.sel={'eltname quad4', ... % Just the plates 'ColorDataElt -ColorBarTitle "ener" -bygroup -edgealpha .1', ... Ek}; % Data with no need to recompute
Accepted ColorDataElt options are
The color animation mode is set to ScaleColorOne.
out=fe_stres('stress CritFcn Rest',MODEL,DEF,EltSel) returns the stresses evaluated at elements of Model selected by EltSel.
The CritFcn part of the command string is used to select a criterion. Currently supported criteria are
sI, sII, sIII | principal stresses from max to min. sI is the default. |
mises | Returns the von Mises stress (note that the plane strain case is not currently handled consistently). |
-comp i | Returns the stress components of index i. This component index is giving in the engineering rather than tensor notation (before applying the TensorTopology transformation). |
The Rest part of the command string is used to select a restitution method. Currently supported restitutions are
AtNode | average stress at each node (default). Note this is not currently weighted by element volume and thus quite approximate. Result is a structure with fields .DOF and .data. |
AtCenter | stress at center or mean stress at element stress restitution points. Result is a structure with fields .EltId and .data. |
AtInteg | stress at integration points (*b family of elements). |
Gstate | returns a case with Case.GroupInfo{jGroup,5} containing the group gstate. This will be typically used to initialize stress states for non-linear computations. For multiple deformations, gstate the first nElt columns correspond to the first deformation. |
The fecom ColorDataStress directly calls fe_stress and displays the result. For example, run the basic element test q4p testsurstress, then display various stresses using
q4p('testsurstress') fecom('ColorDataStress atcenter') fecom('ColorDataStress mises') fecom('ColorDataStress sII atcenter')
To obtain strain computations, use the strain material as shown below.
[model,def]=hexa8('testload stress'); model.pl=m_elastic('dbval 100 strain','dbval 112 strain'); model.il=p_solid('dbval 111 d3 -3'); data=fe_stress('stress atcenter',model,def)
For stress processing, one must often distinguish the raw stress components assoicated with the element formulation and the desired output. CritFcn are callback functions that take a local variable r1 of dimensions (stress components × nodes × deformations) and to replace this variable with the desired stress quantity(ies). For example
function out=first_comp(r1)
out=squeeze(r1(1,:,:,:));
would be a function taking the first component of a computed stress. sdtweb fe_stress(''Principal''' provides stress evaluations classical for mechanics.
Redefining the CritFcn callback is in particular used in the StressCut functionality, see section 4.4.
See also