Felupe

Latest version: v8.7.0

Safety actively analyzes 638238 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 11

8.7.0

Added
- Add `math.solve_nd(A, b, n=1)` as a generalized function of `math.solve_2d(A, b)` with supported broadcasting on the elementwise-operating trailing axes.

Changed
- Rebase `math.solve_2d(A, b)` on `math.solve_nd(A, b, n=2)` with a batched-rhs supported in NumPy 2.0.
- Change `ogden_roxburgh()` and `OgdenRoxburgh` to use the Gauss error function `erf` instead of `tanh` as internal sigmoid function.
- Flatten the returned `inverse` indices-array of `np.unique(..., return_inverse=True)` in `mesh.merge_duplicate_points()` to ensure compatibility with NumPy 2.0.

Fixes
- Reset state variables in `PlotMaterial.evaluate()` after each completed load case.

8.6.0

Added
- Add the isotropic-hyperelastic `alexander(C1, C2, C2, gamma, k)` material model formulation to be used in `Hyperelastic()`.
- Add the isotropic-hyperelastic Micro-Sphere `miehe_goektepe_lulei(mu, N, U, p, q)` material model formulation to be used in `Hyperelastic()`.
- Add the pseudo-elastic `ogden_roxburgh(r, m, beta, material, **kwargs)` material model formulation to be used in `Hyperelastic()`.
- Add an optional relative-residuals argument to `ConstitutiveMaterial.optimize(relative=False)`.
- Add a class-decorator `constitutive_material(Msterial, name=None)`.
- Add the Total-Lagrange MORPH material formulation implemented by the concept of representative directions `morph_representative_directions(p)` to be used in `MaterialAD()`.
- Add the Total-Lagrange (original) MORPH material formulation `morph(p)` to be used in `Hyperelastic()`.
- Add decorators `total_lagrange` and `updated_lagrange` for Total / Updated Lagrange material formulations to be used in `MaterialAD`.
- Add the isotropic-hyperelastic `anssari_benam_bucchi(mu, N)` material model formulation to be used in `Hyperelastic()`.
- Add the isotropic-hyperelastic `lopez_pamies(mu, alpha)` material model formulation to be used in `Hyperelastic()`.

Changed
- Recfactor the `constitution` module.

Fixed
- Fix plotting the keyword-arguments of a constitutive material `ConstitutiveMaterial.plot(show_kwargs=True)`. For list-based material parameters of length 1, the brackets aren't shown now. E.g., this affects optimized material parameters.
- Don't update the material parameters in-place in `ConstitutiveMaterial.optimize()`.
- Don't convert material parameter scalars to arrays in `ConstitutiveMaterial.optimize()`.

8.5.1

Fixed
- Fix the gradient evaluation in `NeoHookeCompressible(mu=1, lmbda=None)`.
- Fix `MaterialStrain.plot()`.

8.5.0

Added
- Add `umat_new, res = ConstitutiveMaterial.optimize(ux=[stretches, stresses], ps=None, bx=None)` to optimize the material parameters on given experimental data for incompressible uniaxial, biaxial and / or planar tension / compression data by `scipy.optimize.least_squares()`.
- Add initial default material parameters for the hyperelastic material model formulations.

8.4.0

Added
- Add `math.solve_2d(A, b, solver=np.linalg.solve, **kwargs)` to be used in `newtonrhapson(solve=solve_2d, ...)` for two-dimensional unknowns. This is useful for local Newton-iterations related to viscoelastic evolution equations inside constitutive material formulations.
- Add x- and y-offsets in `Job.plot(xoffset=0.0, yoffset=0.0)`.

Changed
- Wrap the ax-title with the parameters of the material model in `ConstitutiveMaterial.plot()`.

Fixed
- Sort array of principal values in descending order before plotting in `Scene.plot("Principal Values of ...")`. This ensures that the labels are matching user-defined arrays of principal values.

8.3.1

Fixed
- Set the default verbosity level to None in `newtonrhapson(verbose=None)` and `Job.evaluate(verbose=None)`. If None, this defaults to True (as before) but evaluates the environmental variable `FELUPE_VERBOSE` if present with `FELUPE_VERBOSE == "true"`. This does not ignore custom verbosity levels.

Page 1 of 11

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.