Contents     Functions         Previous Next     PDF Index

4.4  Stress observation

Observation of stress and resultant fields is an application that requires specific tools for performance. A number of commands are thus available for this purpose. The two main commands are fe_caseg('StressCut') and 'StressObserve'.

This functionality is new in SDT 6.4 and improvements and minor format changes are likely for future releases.

4.4.1  Building view mesh

Stresses can be observed at nodes of arbitrary meshes. You should look-up feutil('object') commands for ways to build simple shapes. A few alternate model generation calls are provided in fe_caseg('StressCut') as illustrated below and in the example for resultant sensors.

% Build straight line by weighting of two nodes
VIEW=fe_caseg('stresscut', ...
  struct('Origin',[0 0 0;0 0 1], ... % [n1,n2]
  'steps',linspace(0,1,10)))

% Automated build of a cut (works on convex cuts)
model=demosdt('demoubeam-pro');cf=feplot;
RO=struct('Origin',[0 0 .5],'axis',[0 0 1]);
VIEW=fe_caseg('StressCut',RO,cf);
feplot(VIEW) % note problem due to non convex cut

%View at Gauss points
model=demosdt('demoubeam-pro');cf=feplot;
cut=fe_caseg('StressCut-SelOut',struct('type','Gauss'),model);

% Observe beam strains at Gauss points
[model,def]=beam1t('testeig')
mo1=fe_caseg('StressCut',struct('type','BeamGauss'),model);
cut=fe_caseg('stresscut -radius 10 -SelOut',mo1,model);
cut.StressObs.CritFcn=''; % Observe all components
C1=fe_caseg('stressobserve',cut,def)

4.4.2  Building and using a selection for stress observation

The first use of StressCut is to build a feplot selection to be used to view/animate stress fields on the view mesh.

A basic example

% build model
model=demosdt('volbeam');cf=feplot(model);

% build view mesh
VIEW=fe_caseg('stresscut', ...
  struct('Origin',[0 .05 .05;1 .05 .05], ... % [n1,n2]
  'steps',linspace(1,0,10)))
% build stress cut view selection
sel=fe_caseg('stresscut -selout',VIEW,cf);cla;feplot % generation observation

cf.def=fe_eig(model,[5 10 0]);
fe_caseg('stresscut',sel,cf) % Overlay view and nominal mesh
fecom('scc2') % Force equal scaling

The sel data structure is a standard selection (see feplot sel) with additional field .StressObs a structure with the following fields

4.4.3  Observing resultant fields

StressCut sensors provide stress post-treatments in model cutoffs. The command interpets a data structure with fields


.EltSelFindElt command that gives the elements concerned by the resultant.
.SurfSelFindNode command that gives the selection where the resultant is computed.
.typecontains the string 'resultant'.

Following example defines a StressCut call to show modal stresses in an internal surface of a volumic model

demosdt('demoubeam')
cf=feplot;fecom('showpatch')
cf.mdl=feutil('lin2quad',cf.mdl); % better stress interpolation
def=fe_eig(cf.mdl,[5 10 1e3]);
cf.def=def;
r1=struct('EltSel','withnode {z<2}', ...
    'SurfSel','inelt{innode{z==2}}', ...
    'type','Resultant');
fe_caseg('stresscut',r1,cf);
% adapt transparencies
fecom(cf,'SetProp sel(1).fsProp','FaceAlpha',0.01,'EdgeAlpha',0.2);

The observation in feplot is performed on the fly, with data stored in cf.sel(2).StressObs (for the latter example).

Command option -SelOut allows recovering the observation data. Field .cta is here compatible with general sensors, for customized obervation.

cta=fe_caseg('StressCut-SelOut',r1,cf);

The StressCut command performs computation of stresses in all directions (x, y, and z), for a relevant plot, it is useful to define a further post-treatment, using the callback .CritFcn contained in the field .StressObs. This function will be called once the stress observation have been performed. The current result is stored in variable r1, and follows the dimensions declared in field .X of the observation. For example to plot the stresses in the x direction, one would adapt the feplot selection by entering

cf.SelF{2}.StressObs.CritFcn='r1=r1(1,:,:);';
feplot % reset the view

The StressObserve command outputs the stress observation in an iiplotdata structure for 2D views, from the feplot selection:

data=fe_caseg('StressObserve',cf.sel(2),def);
iiplot(data); % plot results

©1991-2011 by SDTools
Previous Up Next