felupe

finite element analysis for continuum mechanics of solid bodies

GPL-3.0 License

Downloads
5.7K
Stars
75
Committers
1
felupe - v1.3.0

Published by adtzlr almost 3 years ago

Changelog since [1.2.0]

[1.3.0] - 2021-11-02

Changed

  • Rename mesh.as_discontinous() to mesh.disconnect().
  • Rename constitution.Mixed to constitution.ThreeFieldVariation.
  • Rename unstack to offsets as return of dof-partition and all subsequent references.
  • Import tools (newtonrhapson, project, save) and constitution (NeoHooke, LinearElastic and ThreeFieldVariation) to FElupe's namespace.
  • Change minimal README-example to a high-level code snippet and refer to docs for details.
felupe - v1.2.0

Published by adtzlr almost 3 years ago

Changelog since [1.1.0]

[1.2.0] - 2021-10-31

Added

  • Add template regions, i.e. a region with a Hexahedron() element and a quadrature scheme GaussLegendre(order=1, dim=3) as RegionHexahedron, etc.
  • Add biaxial and planar loadcases (like uniaxial).
  • Add a minimal README-example (Hello FElupe!).

Changed

  • Deactivate clamped boundary (clamped=False) as default option for uniaxial loading dof.uniaxial
felupe - v1.1.0

Published by adtzlr almost 3 years ago

Changelog since [1.0.1]

[1.1.0] - 2021-10-30

Added

  • Add inverse quadrature method quadrature.inv() for Gauss-Legendre schemes.
  • Add discontinous representation of a mesh as mesh method mesh.as_discontinous().
  • Add tools.project() to project (and average) values at quadrature points to mesh points.

Changed

  • Removed quadpy dependency and use built-in polynomials of numpy for Gauss-Legendre calculation.

Fixed

  • Fix typo in first shear component of math.tovoigt() function.
  • Fix wrong stress projection in tools.topoints() due to different quadrature and cell ordering.
felupe - v1.0.1 Fix install with pip if `sparse` is not installed

Published by adtzlr about 3 years ago

Changelog

[1.0.1] - 2021-10-19

Fixed

  • Fix import of dof-module if sparse is not installed.
felupe - v1.0.0 Code simplifications and faster indices evaluation of Fields

Published by adtzlr about 3 years ago

Changelog of [1.0.0] - 2021-10-19

Added

  • Start using a Changelog.
  • Added docstrings for essential classes, methods and functions.
  • Add array with point locations for all elements.

Changed

  • Rename element methods (from basis to function and from basisprime to gradient).
  • Make constitutive materials more flexible (allow material parameters to be passed at stress and elasticity evaluation umat.gradient(F, mu=1.0)).
  • Rename ndim to dim.
  • Simplify element base classes.
  • Speed-up calculation of indices (rows, cols) for Fields and Forms (about 10x faster now).
  • Update test_element.py according to changes in element methods.

Removed

  • Automatic check if the gradient of a region can be calculated based on the dimensions. The grad argument in region(grad=False) has to be enforced by the user.
felupe - v0.1.1 First BETA release of FElupe

Published by adtzlr about 3 years ago

First BETA release of FElupe 🥇

A lot of unused, undocumented or deprecated features have been removed. Test coverage is now > 97%. Docs have been simplified, re-tested and enhanced. The code structure is now easier to understand as all sub-modules are located in subfolders. Constitution has been simplified, Automatic Differentation capability is now outsourced to a separate package matadi.

Have fun 🏖️

felupe - v0.0.11 Bugfixes and Improvements

Published by adtzlr about 3 years ago

Changelog

Bugfixes:

  • fix MINI element by using a non-normalized bubble function r*s*t*(1-r-s-t) [1]. This prevents convergence problems.

Enhancements:

  • allow user-defined bubble-multiplier for MINI element
  • add point_data and cell_data to save option
  • add MultiPointContact (no friction), similar to MultiPointConstraint
  • add new three-field (Grad(u), P, F) template for Materials with automatic differentiation using CasADi
  • IntegralForm (lineaform): allow arbitrary dimension of fun if grad_v=None (non-parallel only)
  • add grad argument to Region (default is True)
  • add FieldMixed class for mixed-field problems
  • split huge source files into several smaller files
felupe - v0.0.10 Enhance IntegralForm classes

Published by adtzlr about 3 years ago

Now all IntegralForms have the same arguments.

felupe - v0.0.9 Introduce Automatic Differentation Capability (via casADi)

Published by adtzlr about 3 years ago

Introduce Automatic Differentation Capability (via casADi)

felupe.constitution now contains ad.Material, ad.Materialup and ad.MaterialupJ for single-, two- and three-field formulations. Only the strain energy density function has to be defined - stress and elasticity tensors are created by automatic differentiation.

Example usage: Neo-Hookean material model

import felupe as fe
import casadi as ca

def W(F, mu, bulk):
    "Strain energy density function for Neo-Hookean material formulation."
    J = ca.det(F)
    C = F.T @ F
    I_C = ca.trace(C)
    return mu / 2 * (I_C * J ** (-2 / 3) - 3) + bulk / 2 * (J - 1) ** 2

umat = fe.constitution.ad.Material(W, mu=1.0, bulk=2.0)

P = umat.f(F)
A = umat.A(F)
felupe - v0.0.8 Bugfixes & Tests

Published by adtzlr over 3 years ago

felupe - v0.0.7 Initial Axisymmetric features

Published by adtzlr over 3 years ago

This release adds initial support for axisymmetric problems with rudimental support for fe.utils.axito3d() conversion. Also, Triangle & Tetrahedral elements are supported (experimental). Lots of small improvements since v0.0.6

felupe - v0.0.6 Several code improvements

Published by adtzlr over 3 years ago

felupe - v0.0.5-jaeds Minimal release for JAEDS paper

Published by adtzlr over 3 years ago

This is a minimal release of felupe based on v0.0.5 containing two scripts which results are used for further postprocessing in a paper.

felupe - v0.0.5 Fix README images

Published by adtzlr over 3 years ago

felupe - v0.0.4 Fix badge in Readme

Published by adtzlr over 3 years ago

felupe - v0.0.3 Update Requirements and cleanup of docs

Published by adtzlr over 3 years ago

felupe - v0.0.2 Initial Alpha Release of Felupe

Published by adtzlr over 3 years ago