SDT-nlsim
Contents  
Functions  
 ![]() |
One is interested in solving equations of the general form
(1.1) |
with q the finite element DOFs, M,C,K the mass, viscous damping, and stiffness matrices respectively, Fext the external forces and FNL the non-linear forces internal to the system which may depend on the FEM motion described by its DOFs q and their velocities q as well as possibly internal states of the non-linear elements qNL. When internal states are necessary (friction, plasticity, ...), additional equations are provided to model their evolution.
Estimation of the non-linear forces can,, in a very general fashion, be decomposed in three steps: observation of strains, evaluation of constitutive law at a material point to compute stresses, application of stresses on the model as detailed below.
(1.2) |
where strains may represent quantities dependent on the model displacement (relative motion, mechanical strain, ...), but also possibly internal states of the non-linearity if those are included in the definition of q. For HBM solutions qNL will be assumed to be part of q but for transient simulations this may not be optimal.
Strategies for the construction of the observation matrix c will be discussed for point to point connection in section ??, surfaces in section ??, volumes in section ??.
In the time domain, generalized strains є (noted .unl in the code) are obtained by computing
(1.3) |
In the implementation, the strain vector may have NE components ei, and strains at NG material points (Gauss or physical points) may be stored as a single vector to allow vectorization of non-linearities of a given kind, thus leading to ei,gk components.
For HBM computations NT times will be evaluated and stored as columns. The internal storage in field NL.unl is thus of the form
(1.4) |
In a similar fashion strain rates are obtained using
(1.5) |
and stored in field NL.vnl.
(1.6) |
The generic representation of non-linearities should verify classical assumptions on objectivity and on the validity of constitutive relations, which is compatible with the idea that generalized strains are defined at a material point.
The definition of a non-linear constitutive relation giving a definition of generalized stresses snl which has the same (NE × NC) × NT size as unl and is thus stored NL.unl field to allow overwrite. This allows memory optimization even though the output result is a force and not a strain). When internal states are present, the strain field NL.unl may not be efficiently used to store stresses, it is then possible to store stresses in field NL.snl of size (NS × NG)× NT) with NS the number of stress components.
(1.7) |
In the proposed framework,
The simplest example is the observation of unaxial springs oriented along vector {d} where the generalized strain is the relative displacement
(1.8) |
The non-linear implementation of the OpenFEM cbush element provides 6 generalized strains at a given location corresponding to relative translations and rotations. For EDID==-1 this is with respect to a local basis B=[xe ye ze].
(1.9) |
Initialisation of non-linear behavior in a cbush element group is performed when the NLdata property contains fields
A sample problem with cbush can be found in section ??.
When considering non small angular rotations of the two nodes, the orientation basis in (??) cannot be considered considered constant. It is thus necessary to express motion of each part at the bushing node using large rotations
(1.10) |
In non-linearities that implement such large rotation, SDT expects that the bushing frame is associated with the first node and that motion of the bushing node associated with the second. Thus the relative translation in first node frame is given by
(1.11) |
For rotational springs at the bushing, there is no obvious large rotation formulation. The current implementation uses the difference of angles even though this does not always make sense.
Zero thickness elements which provide 3 generalized strains which correspond at each gauss point to the relative motion of two surfaces in the normal and two tangential directions are implemented in p_zt. When an NLdata field is defined a vectorized non-linearity is initialized.
Contact elements, implemented in p_contact have an objective similar to that of zero thickness element but allow the handling of non-conform meshes. Subtype 1 does not account for large displacement so that matching can be performed once and kept constant during time. Subtype 2 allows for relative motion of two bodies (wheel moving on a rail for example) and currently only works for matching to triangular surfaces.
SDT implements observation of strains in configurations where no geometry updating is needed using StressCut calls. This strategy is compatible with all physics (acoustics, piezo-electricity, ...) and can also be used for shells (to observe membrane strains and curvature) and beams (to observe axial elongation, shear, torsion and curvature).
For volumes, the choice of strain is obtained using the p_solid Isop parameters. For explicit mechanics in large deformation, the displacement gradient is used and obtained using Isop=100.
For generic implementation of multi-physic non-linear volumes, a generalized strain giving the displacement and its gradient for each field. For a field with 3 components at N nodes
(1.12) |
As a an example, the standard linearized mechanical strain
(1.13) |
can be related to the generic multi-physic strain using a transformation matrix TEp
(1.14) |
The usual mechanical stiffness can thus be reformulated using BMP
(1.15) |
A generic non-linear multiphysic constitutive law is a function that will receive a NL structure with fields
From this information the function should return a structure with field
Once a kinematic reduction defined, where {q}=[T]{qR} is defined, non-linear observation and command matrices are simply reduced using cR=c*T and bR=TTb.
For resultant observations, the strategy is however more complex. In a frequency domain model, the resultant is associated with ZI(p,s) the dynamic stiffness restricted to an interface
(1.16) |
so that the coefficients of the observation depends on frequencies and parameters involved in ZI(p,s). In SDT, such linear combinations as described in section ??. Taking the case of a bushing where [ZI]=E(ω,a)[Ku], the resultant observer is simply given by [cI][ZI]=E(ω,a)[cI Ku].
When the observer is built around an operating condition where large displacement has occurred, the observation matrix may depend on the current position c(x). For example, the elongation of a large rotation rod is given by dl(t) = √{u2−u1}T {u2−u1}−l0, so that the linearized observation is given by
dl(t) = {ei(u0)}T {ui2−ui1}= |
| {u2(0)−u2(0)}T {ui2−ui1} (1.17) |
For the case of resultant observation in enforced displacement problems, RI(t)=[TI]T F(t), the reduced equations of motion give an estimate of FR(t) and not FT, thus TIRT should be used when observing.
Hyperreduction is a strategy where kinematic reduction is combined with selection of a subset of non-linear integration points based on criteria on the work of reduced model. Thus from a set E of gauss points where each non-linear strain is described by unlg=[cg]{q}, one restricts to a subset EHR. Needs more details.
While the general approach is to associate non-linearities with strains in elements as described in the following sections, it is possible to define a pro.NLdata structure giving