6.8 Viscoelastic device meshing tools
6.8.1 Generation of sandwich models
Starting from an undamped structure without treatment, you often want to generate models for viscoelastic patches applied to the structure. This is done using fevisco MakeSandwich commands. Modeling issues associated with this meshing are discussed in section ??.
For example, the generation of a three layer sandwich with the original layer 0.01 thick (leading to a 0.005 offset), a volume of thickness 0.002, and a second 0.01 thick shell looks like
model=femesh('testquad4 divide 10 12');
model.Elt=feutil('orient 1 n 0 0 1',model);
sandCom=['makesandwich shell 0 0 .005 ' ...
'volume 101 .002 shell 102 -.005 .005'];
treated='withnode{x>.5 & y>.5}';
model=fevisco(sandCom,model,treated);
cf=feplot;cf.model=model;fecom('colordatamat');
You can also specify normals using a map.
model=femesh('testquad4 divide 3 4');
model.Elt=feutil('orient 1 n 0 0 1',model);
sandCom=['makesandwich shell 0 0 .005 volume 101 .2 '];
% use a normal map that specify the direction of extrusion
MAP=feutil('getnormal map node',model); MAP.normal(:,1)=2;
model=fevisco(sandCom,model,'withnode{x>.5 & y>.5}',MAP);
cf=feplot;cf.model=model;fecom(';colordatamat;view 1');
6.8.2 Meshing foam fillings
When meshing foam filling of geometrically complex parts, generating a mesh of the part and foam can be difficult. The problem is solved through the following steps
-
mesh the part (usually done in an CAD environment then imported into SDT), and mesh approximate foam volume.
- define a foam expansion map giving a expansion direction for external nodes of the approximate foam volume. In this phase, one typically defines the connected surface of the foam model, defines normals on this surface and possibly corrects these normals. The result is a vector map structure with field .ID node numbers of connected nodes and .normal giving the associated directions (see fe_case map).
- expand the foam to touch the initial part mesh and generate MPC connections to connect the foam and the underlying mesh. This is done automatically with the ConnectionStickThenSolid command.
Example
femesh('reset');
model=femesh('testubeam');
model=feutil('objecthexa 101 101',model, ...
[-.3 -.5 0;.6 0 0;0 .8 0;0 0 2.5],3,3,12);
cf=feplot(2);cf.model=model;fecom('colordatamat -alpha.1')
% Build normal MAP for connected foam surface
MAP=feutil('getnormal node MAP',model.Node, ...
feutil(['selelt matid==101 &selface& ' ...
'withnode {y>-.49 & z>0 & z<2.5}',model));
% Define the facing elements
FacingSurface='matid 1 & selface & facing >0 0 0 1';
%
mo2=fevisco('ConnectionStickThenSolid',model,'Foam',MAP,FacingSurface);
cf.model=mo2;fecom('colordatamat -alpha .3')
6.8.3 Exporting submeshes to NASTRAN
Once the sandwich model generated it can be exported to NASTRAN. There two typical strategies, rewriting the whole model (using naswrite('FileName',model)) or generating an include file.
The second strategy is more adapted when testing multiple viscoelastic configurations since it is more robust at preserving all options of the original file. The fevisco WriteInclude command is meant for that purpose. It lets you select newly meshed viscoelastic parts using any selection (their MatId for example) and generates the NASTRAN bulk containing the associated nodes, elements, material and element property cards, RBE2 entries connected to the selected elements.
©1991-2007 by SDTools