SDT-base         Contents     Functions         Previous Next     PDF Index

fe_caseg

Purpose

Gateway functions for advanced FEM utilities in SDT, regarding assembly, integrated case definition and post-treatments.

Description

This function is only used for internal SDT operation and actual implementation will vary over time. The following commands are documented to allow user calls and SDT source code understanding.

Assemble

Optimized strategies for assembly are provided in SDT through the fe_caseg Assemble command. More details are given in section 4.10.7.

StressCut

The StressCut command is the gateway for dynamic stress observation commands. Typical steps of this command are

For the selection generation, accepted options are

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

Change[,set]

High level model change functionality. These commands aim at providing a strategy to define model features that can be changed during a simulation procedure.

During model setup, one can define a changing feature with command ChangeSet.

The syntax is model=fe_caseg('ChangeSet',model,type,name,data). model is a standard SDT model, type is the feature type, name is the change feature reference name, data is defines the feature that will be changed. This command then stores relevant information in the model nmap('Map:MChange').

The following types and associated data definition strategy are supported

During simulation, one can then alter the model using predefined features with command Change The syntax is model=fe_caseg('Changeevt'),model,name)' or can be generated as a callback as model=fe_caseg(model,evt,'change')'. In the latter case, evt is a struct with fields .evt to define the change event, and .data to provide the change reference name. In the former case, evt is the change event. Depending on the change type, the following events are supported:

model=demosdt('demoubeam-noplot');
% add aluminum property
model=m_elastic('dbval2 aluminum',model);
% define change feature
model=fe_caseg('ChangeSet',model,'newmat',struct('sel','groupall','pl',2));
% apply feature change
evt=struct('evt','mp','data','newmat');
model=fe_caseg(model,evt,'change');
% reset feature change
model=fe_caseg('ChangeReset',model,'newmat');

Par[Mat,Pro,SE,Init,Set,2Case]

Advanced parameter declaration in models. Lower level declaration can be found in fe_case par. Model parametrization framework can be found in the zcoef documentation.

The following commands are available to declare SDT parameters

The following commands are available to declare and handle broader parameter definitions, to be used in dedicated routines

RbCheck

The RbCheck command checks rigid body modes consistency for the provided model. If not all rigid body modes are verfied, an error is issued. When using an feplot model, the DOF at which the verification is not met are highlighted. If an output is asked, a warning is issued and the list of concerned DOF is output.

% Get a sample model with base clamp
mo1=demosdt('demoubeam-noplot')
cf=feplot(mo1);

% check RBM: error due to clamping
try;fe_caseg('rbcheck',cf.mdl)
catch err; err.message
end
% clamped DOF are highlighted
% recover list of concerned DOF
r1=fe_caseg('rbcheck',cf.mdl);

% check without boundary condition works
fe_caseg('rbcheck',fe_case(mo1,'reset'))

StressObserve

The StressCut command typically returns all stress components (x, y, and z), for a relevant plot, it is useful to define a further post-treatment, using the sel.StressObs.CritFcn callback. This callback is 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 extract stresses in the x direction, the callback is

 sel.StressObs.CritFcn='r1=r1(1,:,:);';

The StressObserve command outputs the stress observation in an curve structure. You can provide a callback -crit "my_callback". The command option -trans allows observation of translations for selections that have this observation. If empty, all components are kept.

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

ZoomClip

The command accessible through the axes context menu Clip, can now also be called from the command line fe_caseg('ZoomClip',cf.ga,[xyz_left;xyz_right]).


©1991-2024 by SDTools
Previous Up Next