SDT-base Contents   Functions      PDF Index |
For interfacing with external finite element software the well documented superelement formalism is used. This formalism is largely used by Multibody Dynamic Software (Simpack, Adams, Excite, ...) and thus widely documented.
A superelement representation of the model is of the form
(6.97) |
In general, the reduction is performed so that the DOFs retained {qR} are related to the original DOFs of a larger model by a Rayleigh Ritz reduction basis T using
(6.98) |
This representation is fairly standard. The data structure representation within SDT is described in section 7.6. SDT/FEMLink supports import from various FEM codes and more details are given in section 6.4.2 for NASTRAN and section 6.4.4 for Abaqus.
For Craig-Bampton type reduction (enforced displacement on a set of interface DOF I and fixed interface modes on other DOF C), the reduction basis has the form
(6.99) |
which verifies the constraints on basis columns that TII=I and TIC=0.
For the free mode variant (McNeal) (see sdtweb('fe_reduc','free')), the form is
(6.100) |
with no TI columns.
The observation formalism of SDT which is applicable to both test/analysis sensors (see sdtweb('sensor')) and strain observations used for non-linearities .
(6.101) |
Standard notions that have an equivalent in other code are
Implementations of these are discussed for Abaqus section 6.4.5, NASTRAN section 6.4.2, ANSYS section 6.4.6.
For a demo, see d_cms('Tuto'). The superelement generation by NASTRAN is saved to an .op2 file that is automatically transformed to the SDT superelement format by FEMLink. A sample file is given in ubeamse.dat.
ASSIGN OUTPUT2='./ubeam_se.op2',UNIT=30 $ ID DFR SOL 101 GEOMCHECK NONE TIME 100 $ CEND TITLE=Generic computation of mode shapes METHOD=1 DISP(PLOT) = ALL SPCFORCES(PLOT)=ALL MPCFORCES(PLOT)=ALL $ Now extract stresses on base SET 101=1 THRU 16 STRESS(SORT)=101 $ MPC=1 SPC=1 $ RESVEC(NOINRL)= YES EXTSEOUT(ASMBULK,EXTBULK,EXTID=100,DMIGOP2=30) PARAM,POST,-2 PARAM,BAILOUT,-1 $ BEGIN BULK $EIGRL,SID,V1,V2,ND,MSGLV,MAXSET,SHFSCL,NORM EIGRL,1,,,20 $ DOF and nodes to support modal DOF QSET1,0,1000001,THRU,1000050 SPOINT,1000001,THRU,1000050 $ Master DOF 4 base corners BSET1,123,1,5,8,12 $ $ Residual on 3 DOF of input node 104 USET,U6,104,123 $ $ Residual associated with CAMP1 vector CDAMP1 161 2 114 1 244 1 PDAMP* 2 1. $ include 'ubeam_include.bdf' ENDDATA
The resulting basis has the following form
(6.102) |
The op2 file contains nodes and superelement definition. It is advised to read the bulk file to obtain a model containing elements and material properties.
When using a free mode computation, NASTRAN provides mechanisms to compute residual vectors, you should just insert the RESVEC=YES card. An example is given in the ubeamfr.dat file. The resulting basis has the following form
(6.103) |
The main mechanisms to generate residual vectors are
Superelement generation in Abaqus requires at least two consecutive steps, a frequency step *FREQUENCY to compute the reduction basis and a substructure step *SUBSTRUCTURE GENERATE to assemble the model and perform projections. Preloading is possible with preliminary steps. ABAQUS gives the possibility to compute residual vectors with option ,RESIDUAL MODES in the *FREQUENCY card. Depending on the mode resolution strategy residual vectors computation capabilities and input differ.
For a Craig-Bampton implementation, one needs to clamp the interface DOF in the *FREQUENCY step with *BOUNDARY and specify them in the *SUBSTRUCTURE GENERATE step with *RETAINED NODAL DOF. There is no specific DOF sets requirements. If the retained nodal DOF are not clamped in the frequency step, one will then get a MacNeal basis, and hybrid formulations with partially clamped sets is also possible.
Substructure output must be done to the RESULTS FILE (.fil extension). A direct import in SDT is then possible. sdtm.nodeLoadSE('FileName.fil') is the code independent entry point. d_cms('TutoAbqExp') illustrates a modeshape expansion case. This is the optimal solution as it is a documented binary file. The use of *INSTANCE for mesh definition is not recommended due to renumbering complexity. In particular, mapping between internal and global numbering is not written in the .fil file. SDT then exploits the .dat file in which the mapping is printed.
See SeGenResidual.inp
ABAQUS does not natively support generation of substructures with free mode reduction, an interface is always required. The workaround is to use a disconnected node as the interface to recover the free modes reduction. The generation is then exactly similar to the Craig-Bampton version, but with the handling of a spurious node bearing the interface DOF. Implementation is integrated in abaqusJobWrite functionality to ease usage. A free mode reduction job generation is provided in the following example.
% ABAQUS free mode reduction job generation % demonstration model mo1=demosdt('demoubeam-noplot'); % Export mesh in input format finp=fullfile(pwd,'ubeam_mesh.inp'); % mesh file name abaqus(['write' finp],mo1); % export command % Prepare job generation % setup context: data storage RT=struct('nmap',vhandle.nmap); % declare mesh file for input handling RT.nmap('MeshFile')=finp; % declare job name and working directory, store RJ=struct('Code','abaqus','Job','ubeam_job','RelDir',pwd); RT.nmap('CurJob')=RJ; % Declare job: working model, spurious node and steps li={['MeshCfg{MeshFile};'... 'SimuCfg{Inc:SpurNode{opt,-bcstore}:'... 'EIG{opt,-bc}:SEGen{opt,AMS}};']}; % Write Job abaqus('JobWrite',RT,li)
The superelement import with spurious node cleanup can then be obtained with FEMLinkRead
% SE import RT=struct('In',{{'se','ubeam_job.fil',pwd}}); SE=femlink('Read',RT);
The cards typically used for superelement generation in ANSYS are
/FILENAME,ubeam_se ! name must be the one used in SeOpt command /PREP7 !... ! Use command F to apply loads that will define the residual vector /SOLU antype,substr ! substructure analysis CmsOpt,Fix,20,,,,,TCMS RESVEC, ON SeOpt,ubeamse_ans,3,1,0,, ! 3(all matrices,2 for m and k), 1 to print ! Define list of master DOF, you cannot use ALL if the elements support multi-physics M,1,UX,,,UY,UZ,ROTX,ROTY,ROTZ M,5,UX,,,UY,UZ,ROTX,ROTY,ROTZ M,8,UX,,,UY,UZ,ROTX,ROTY,ROTZ M,12,UX,,,UY,UZ,ROTX,ROTY,ROTZ SAVE ! save .db file SOLVE ! generate the matrices FINISH