SDT-rotor         Contents     Functions         Previous Next     PDF Index

mkl_utils

Purpose

For detailed callback information see sdtweb('nlspring_timeopt').

Residual

Residual command is used to compute standard residue.
mkl_utils('residual',r,model,u,v,a,opt,Case); call modifies variable r in memory according to following standard residue computation (implicit Newmark).

 r = model.K{1}*a + model.K{2}*v + model.K{3}*u + b*(snl_fun) + fnl_int -fc;

In this formula, b*(snl_fun) refers to the legacy m file implementations (non chandle) which expect the nl_ function to fill a unl vector multiplying b (.snl field support was not activated). This was incorrectly noted -fnl in earlier documentation the minus sign coming from the convention of considering non-linear forces as external rather than internal (the convention used from now on). fnl_int refers to chandle implementations that match classical conventions : traction leading to positive stress in continuous mechanics, positive over-closure (negative gap) leading to positive pressures in contact mechanics.

Typically in fe_time computations one has

opt.Residual='r=-full(fc);mkl_utils(''residual'',r,model,u,v,a,opt,Case);';

with fc the time load (resulting from DofLoad entries in model Case) and fnl is the sum of the non linear efforts (if any) computed directly by mkl_utils (rotcenter, mocirc2), in the non linear functions (see sdtweb nl_fun) or in nl_spring. mkl_utils then calls the adequate nl_fun function (nl_spring by default) automatically.
Such call stored in opt.Residual is filled by nl_spring('TimeOpt') for default simulations.

Model information specifically supported by the residual command are


Typically, fnl is computed by non linearity functions, see nl_fun for details on these functions. The non linear functions are called by mkl_utils to provide the value of fnl at a given state. Two implementations are supported

chandle

chandle objects are used to streamline communication between mex and MATLAB in iterative processes. They are used in various nl_solve calls and in particular for ModalNemwark and ExpNewmark.


©1991-2023 by SDTools
Previous Up Next