Repository navigation
v6.0.0
- Inelastic materials are written on a contract (breaking): a
Models.InElastic._Behaviordeclares itsInternalsand writesUpdate(eps, z, dt)
andStress(eps, z)at one 3D point injax.numpy; EasyFEA lifts them to every Gauss
point, derives the tangent byjax.jacfwd, handles plane strain and plane stress, and
commits the internal state at every convergedSolve(Save_Iteronly records it, so
it can be skipped on some steps).Newton,Trace,Deviator,Von_Mises_stress
help write one. A behavior takes only its elastic model,_Behavior(elastic):dim,
planeStressandthicknessare the model's,Cits 3D stiffness even in 2D, and
modifying the model rebuilds the kernel. External variables, such as a temperature,
are declared asExternalsand set withsimu.Set_external(T=...). - Shipped behaviors:
Plasticity(elastic, surface, hardening),Norton,Chaboche
with N back-stresses, andMaxwellwith N branches. Surfaces (Yield.VonMises,
Hill,DruckerPrager) and hardening (IsotropicHardening.Perfect,Linear,
Voce,Swift) are plain callables. - The numpy
Behavior(dim, elastic, yieldSurface, hardening, kinematic, rate, branches)
is removed, withKinematicHardening,ViscoPlastic(Perzynais Norton with
A = 1/eta) andViscoElastic(breaking).Chaboche's back-stresses are one
alphaof shape(N, 6), notalpha0,alpha1, ...;Simulations.InElasticno
longer reports a free energy. - Inelastic behaviors need jax:
pip install EasyFEA[jax]. The README lists the
optional dependencies by extra (viz,io,jax). - Boundary surfaces of 3D meshes built with the OCC factory are oriented outward, so
their normals may flip sign. - Fixed the weights of the 6-point triangle quadrature rule, truncated to about 14
digits.
Full Changelog: v5.0.0...v6.0.0