SDT-nlsim
Contents  
Functions  
 ![]() ![]() |
Single mass test of various non-linearities t_nlspring ModalNewmark. Supported examples are
% Sample example with tabular stiffness and output spectrogram li={'MeshCfg{"d_fetime(1DOF):MaxwellA{q0}"}';';' 'SimuCfg{ModalNewmark{.1m,.3,fc,chandle1}}'}; RT=sdtm.range(struct,li);mdl=RT.nmap('CurModel'); mdl=stack_set(mdl,'info','DefaultZeta',@(f)zeros(size(f))); x=[-100 -1e-4 1e-4 100]';Fu=struct('X',{{x}},'Y',x.*[10 0 0 10]'); NLdata=struct('type','nl_inout','lab','TabK','keepLin',0,... 'isens',3,'MatTyp',{{[3]}},'Fu',{{Fu}}); mdl=feutil('setpro 1000',mdl,'NLdata',NLdata); mo2=nl_solve('ReducFree 2 10 0 -float2 -SE',mdl);% With internal DOF opt=d_fetime('TimeOpt dt=1e-4 tend=100 ModalNewmark'); RB=struct('spec','BufTime 20 Overlap .75 fmin0 fmax60 -window hanning','ci',3); opt=stack_set(opt,'ExitFcn','Tip', ... struct('FinalCleanup',{{'nl_solve','PostCdof'}},'DOF',2.03,'DoFreq',RB)); opt=stack_set(opt,'info','RangeTime',fe_range('grid',struct('A',logspace(-3,0,5)))); d2=fe_time(opt,mo2);d2=fe_def('subdef',d2,d2.data>d2.data(2));
The d_hbm TestSteppedSine example illustrates the stepped sine procedure implemented with the ModalNewmark solver.
See also d_tdoexxx.
In such computations, it is assumed that the excitation frequency is fixed during the transient, so that the following parameters can be used the the run options
After the time computation of the target number of periods the ExitFcn entries in RT.Stack are processed by order. Typical entries would be
The example is detailed in
d_fetime('tutoCbushOrient')
First do a sweep
sdtweb('_eval','d_fetime.m#TestBeamNLRed')
This test case is discussed with Marco Rosatello. See t_bjoint('TestTime').
The axial behavior of the C2 connector is given by a non-linear law in tabular Fz(e3) form. This force is output as the generalized stress during time computations, while for equations actually solved one uses
(2.1) |
For two directions x and y, the tangential behavior is incremented using a Dahl integration scheme
(2.2) |
Since this integration does not guarantee | Fx(t)| <= | µ Fz(t)| , the condition is enforced at each time step. Again there is the need to distinguish Fx(t) and the tangential load which needs to account for adherence stiffness in the nominal model used to generate the modal basis serving to define DOFs for time integration. Thus
(2.3) |
Iwan model with Dahl cells. Data is sigma slope at no load, α shape parameter, µ Fz normal load.
(2.4) |
nl_solve handles experiments associated with a series of time computations defined using the fe_range format. Typical applications are frequency and amplitude stepping experiments associated with HBM testing. For examples see
The principle of the experiment is that at each design point parameters are first changed before starting a time computation followed by postprocessing steps. The expression for changing the parameter can be given manually as in the first d_fetime doTimeRange example where
R1.param.Zener_c1.SetFcn='NL.opt(10:11)=[1 -1]*10/500*val(j1);';
changes the constants in NL.opt(10:11).
Other predefined set functions are
xxx