From 99b2cbd894a71593415853ccdb53ea011e44409b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Mas=C3=B3?= Date: Thu, 18 Jun 2026 17:26:17 +0200 Subject: [PATCH 01/16] initial commit --- README.md | 2 +- docs/Project.toml | 2 +- docs/make.jl | 33 ++++++++++++++------------------- docs/src/api.md | 9 +++++++++ 4 files changed, 25 insertions(+), 21 deletions(-) create mode 100644 docs/src/api.md diff --git a/README.md b/README.md index d40f096..f8dd9a5 100644 --- a/README.md +++ b/README.md @@ -173,4 +173,4 @@ src="https://github.com/MultiSimOLab/HyperFEM/blob/main/docs/imgs/aei.png?raw=tr # Contact -Contact the project administrator [Jesús Martínez-Frutos](jesus.martinez@upct.es) for further questions about licenses and terms of use. \ No newline at end of file +Contact the project administrator [Jesús Martínez-Frutos](mailto:jesus.martinez@upct.es) for further questions about licenses and terms of use. \ No newline at end of file diff --git a/docs/Project.toml b/docs/Project.toml index 7ebfe31..0f7c6d0 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -1,3 +1,3 @@ [deps] Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" -Mimosa = "ddbf423a-3df4-409e-9685-3dc416cae46c" +HyperFEM = "ddbf423a-3df4-409e-9685-3dc416cae46c" diff --git a/docs/make.jl b/docs/make.jl index 9d8baf8..7a39a22 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -1,25 +1,20 @@ -using HyperFEM using Documenter +using HyperFEM -DocMeta.setdocmeta!(HyperFEM, :DocTestSetup, :(using HyperFEM); recursive=true) +readme_path = joinpath(@__DIR__, "..", "README.md") +index_path = joinpath(@__DIR__, "src", "index.md") +cp(readme_path, index_path, force=true) -makedocs(; - modules=[HyperFEM], - authors="MultiSimo_Group", - repo="https://github.com/jmartfrut/Mimosa.jl/blob/{commit}{path}#{line}", - sitename="HyperFEM.jl", - format=Documenter.HTML(; - prettyurls=get(ENV, "CI", "false") == "true", - canonical="https://jmartfrut.github.io/HyperFEM.jl", - edit_link="main", - assets=String[], - ), - pages=[ - "Home" => "index.md", - ], +makedocs( + sitename = "HyperFEM.jl", + modules = [HyperFEM], + pages = [ + "HyperFEM" => "index.md", # Inject README.md (previously cloned into index.md) + "API reference" => "api.md" # Inject the docstrings from the code + ] ) -deploydocs(; - repo="github.com/jmartfrut/HyperFEM.jl", - devbranch="main", +deploydocs( + repo = "github.com/MultiSimOLab/HyperFEM.jl.git", + devbranch = "main" ) diff --git a/docs/src/api.md b/docs/src/api.md new file mode 100644 index 0000000..378b831 --- /dev/null +++ b/docs/src/api.md @@ -0,0 +1,9 @@ +# API reference + +En esta sección se detallan de forma automatizada todas las funciones, macros y tipos estructurados expuestos por `HyperFEM.jl`. + +```julia +@autodocs +Modules = [HyperFEM] +Order = [:function, :type] +``` \ No newline at end of file From 0be2c9108e29cbfc03e17ed3133aa7efd7bb7419 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Mas=C3=B3?= Date: Thu, 18 Jun 2026 17:27:30 +0200 Subject: [PATCH 02/16] remove index --- docs/src/index.md | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 docs/src/index.md diff --git a/docs/src/index.md b/docs/src/index.md deleted file mode 100644 index 798c9c6..0000000 --- a/docs/src/index.md +++ /dev/null @@ -1,14 +0,0 @@ -```@meta -CurrentModule = Mimosa -``` - -# Mimosa - -Documentation for [Mimosa](https://github.com/jmartfrut/Mimosa.jl). - -```@index -``` - -```@autodocs -Modules = [Mimosa] -``` From 39a627dcba889f82613cb34147551474cf794925 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Mas=C3=B3?= Date: Thu, 18 Jun 2026 17:27:38 +0200 Subject: [PATCH 03/16] ignore index --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index fa224e8..ff668ee 100644 --- a/.gitignore +++ b/.gitignore @@ -2,5 +2,6 @@ Manifest.toml results/ debug/ data/sims/ +docs/src/index.md **/.DS_Store .vscode/ From 2c66c7d10e1005bb7db55c32cfb153f2345ccb3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Mas=C3=B3?= Date: Thu, 18 Jun 2026 18:08:04 +0200 Subject: [PATCH 04/16] try fix --- .gitignore | 1 + docs/src/api.md | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index ff668ee..df95825 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ Manifest.toml results/ debug/ data/sims/ +docs/build/ docs/src/index.md **/.DS_Store .vscode/ diff --git a/docs/src/api.md b/docs/src/api.md index 378b831..2fc4c58 100644 --- a/docs/src/api.md +++ b/docs/src/api.md @@ -1,9 +1,8 @@ # API reference -En esta sección se detallan de forma automatizada todas las funciones, macros y tipos estructurados expuestos por `HyperFEM.jl`. - ```julia @autodocs Modules = [HyperFEM] -Order = [:function, :type] +Public = true +Order = [:module, :type, :function, :macro] ``` \ No newline at end of file From f125aeacc3d2e034d5eb2d688f1da0a02515af95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Mas=C3=B3?= Date: Fri, 19 Jun 2026 09:28:00 +0200 Subject: [PATCH 05/16] try fix build --- README.md | 16 +++++++--------- docs/make.jl | 4 +++- docs/src/api.md | 4 +--- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index f8dd9a5..f89ff22 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,10 @@

        Dark +src="https://github.com/jmartfrut/HyperFEM/raw/main/docs/imgs/logo.png?raw=true" width="30%">

- - [![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://jmartfrut.github.io/HyperFEM.jl/stable/) [![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://jmartfrut.github.io/HyperFEM.jl/dev/) [![Build Status](https://github.com/MultiSimOLab/HyperFEM/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/MultiSimOLab/HyperFEM/actions/workflows/ci.yml?branch=main) @@ -145,7 +143,7 @@ x = solve!(comp_model; stepping=(nsteps=5, maxbisec=5), post=post_model)

        Dark +src="https://github.com/MultiSimOLab/HyperFEM/raw/main/docs/imgs/sims_.png?raw=true" width="110%">

@@ -160,7 +158,7 @@ C. Perez‐Garcia, R. Ortigosa, J. Martínez‐Frutos, and D. Garcia‐Gonzalez, along with the required citations for [Gridap](https://github.com/gridap/Gridap.jl). -# Project funded by: +## Project funded by - Grants PID2022-141957OA-C22/PID2022-141957OB-C22 funded by MCIN/AEI/ 10.13039/501100011033 and by ''ERDF A way of making Europe'' @@ -168,9 +166,9 @@ along with the required citations for [Gridap](https://github.com/gridap/Gridap.

        Dark +src="https://github.com/MultiSimOLab/HyperFEM/raw/main/docs/imgs/aei.png?raw=true" width="70%">

- -# Contact -Contact the project administrator [Jesús Martínez-Frutos](mailto:jesus.martinez@upct.es) for further questions about licenses and terms of use. \ No newline at end of file +## Contact + +Contact the project administrator [Jesús Martínez-Frutos](mailto:jesus.martinez@upct.es) for further questions about licenses and terms of use. diff --git a/docs/make.jl b/docs/make.jl index 7a39a22..f1cae56 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -11,7 +11,9 @@ makedocs( pages = [ "HyperFEM" => "index.md", # Inject README.md (previously cloned into index.md) "API reference" => "api.md" # Inject the docstrings from the code - ] + ], + checkdocs = :none, + warnonly = true ) deploydocs( diff --git a/docs/src/api.md b/docs/src/api.md index 2fc4c58..0b4318e 100644 --- a/docs/src/api.md +++ b/docs/src/api.md @@ -1,8 +1,6 @@ # API reference -```julia -@autodocs +```@autodocs Modules = [HyperFEM] -Public = true Order = [:module, :type, :function, :macro] ``` \ No newline at end of file From 203f049383ec304d197360ec4b8adfa72f673e21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Mas=C3=B3?= Date: Fri, 19 Jun 2026 11:36:49 +0200 Subject: [PATCH 06/16] clean readme --- README.md | 26 +++----------------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index f89ff22..913c43b 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,4 @@ -

-        -Dark -

- + [![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://jmartfrut.github.io/HyperFEM.jl/stable/) [![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://jmartfrut.github.io/HyperFEM.jl/dev/) @@ -12,13 +7,8 @@ src="https://github.com/jmartfrut/HyperFEM/raw/main/docs/imgs/logo.png?raw=true" # Multiphysics Simulation of Multifunctional Soft Materials -
- **HyperFEM** is a library within the [Gridap](https://github.com/gridap/Gridap.jl) ecosystem designed for the simulation of multiphysics problems involving multifunctional hyperelastic materials. The ultimate goal of HyperFEM is to provide a **high-level, expressive, and rapid prototyping tool** that accelerates the modeling stages of **Thermo–Electro–Magneto–Mechanical** multiphysics problems. To this end, it includes a comprehensive library of **analytically derived constitutive models** formulated through tensor algebra. In addition, HyperFEM provides abstractions for **monolithic and staggered solution schemes**, extending Gridap’s capabilities in the context of **nonlinear solid mechanics**. -
- - ## Installation Open the Julia REPL, type `]` to enter package mode, and install as follows @@ -139,12 +129,7 @@ x = solve!(comp_model; stepping=(nsteps=5, maxbisec=5), post=post_model) ## HyperFEM Gallery - -

-        -Dark -

+ @@ -162,12 +147,7 @@ along with the required citations for [Gridap](https://github.com/gridap/Gridap. - Grants PID2022-141957OA-C22/PID2022-141957OB-C22 funded by MCIN/AEI/ 10.13039/501100011033 and by ''ERDF A way of making Europe'' - -

-        -Dark -

+ ## Contact From 2274c94587f579b3132abd4b0b50f524d4e4e1cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Mas=C3=B3?= Date: Fri, 19 Jun 2026 11:37:10 +0200 Subject: [PATCH 07/16] clean files --- docs/imgs/.DS_Store | Bin 6148 -> 0 bytes docs/src/api.md | 11 ++++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) delete mode 100644 docs/imgs/.DS_Store diff --git a/docs/imgs/.DS_Store b/docs/imgs/.DS_Store deleted file mode 100644 index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 Date: Fri, 19 Jun 2026 12:15:58 +0200 Subject: [PATCH 08/16] added CI --- .github/workflows/docs.yml | 36 ++++++++++++++++++++++++++++++++++++ docs/make.jl | 14 +++++++++++++- 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/docs.yml diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000..560176b --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,36 @@ +name: Documentation + +on: + push: + branches: + - main + tags: ['*'] + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} + +jobs: + docs: + name: Documentation + runs-on: ubuntu-latest + permissions: + contents: write # write to gh-pages + statuses: write + steps: + - uses: actions/checkout@v4 + - uses: julia-actions/setup-julia@v2 + with: + version: '1' # latest stable Julia 1.x + - uses: julia-actions/cache@v1 + - name: Install dependencies + run: | + julia --project=docs -e ' + using Pkg + Pkg.develop(PackageSpec(path=pwd())) + Pkg.instantiate()' + - name: Build and deploy + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: julia --project=docs docs/make.jl diff --git a/docs/make.jl b/docs/make.jl index f1cae56..a020958 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -7,11 +7,23 @@ cp(readme_path, index_path, force=true) makedocs( sitename = "HyperFEM.jl", - modules = [HyperFEM], + modules = [ + HyperFEM, + HyperFEM.TensorAlgebra, + HyperFEM.PhysicalModels, + HyperFEM.WeakForms, + HyperFEM.Solvers, + HyperFEM.DiscreteModeling, + HyperFEM.ComputationalModels + ], pages = [ "HyperFEM" => "index.md", # Inject README.md (previously cloned into index.md) "API reference" => "api.md" # Inject the docstrings from the code ], + format = Documenter.HTML( + prettyurls = get(ENV, "CI", "false") == "true", + canonical = "https://MultiSimOLab.github.io/HyperFEM.jl", + ), checkdocs = :none, warnonly = true ) From 6c30569f165ee77eceee3c4f84712a33db665e9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Mas=C3=B3?= Date: Fri, 19 Jun 2026 12:37:16 +0200 Subject: [PATCH 09/16] update yml --- .github/workflows/docs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 560176b..9488508 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -2,10 +2,10 @@ name: Documentation on: push: - branches: - - main + branches: [ main ] tags: ['*'] pull_request: + branches: [ main ] concurrency: group: ${{ github.workflow }}-${{ github.ref }} From 98c53bf38347c7a2ff65f9c375b3d9729b310423 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Mas=C3=B3?= Date: Fri, 19 Jun 2026 14:21:07 +0200 Subject: [PATCH 10/16] remove and ad docstrings --- src/PhysicalModels/MechanicalModels.jl | 66 ++++++++------------------ 1 file changed, 20 insertions(+), 46 deletions(-) diff --git a/src/PhysicalModels/MechanicalModels.jl b/src/PhysicalModels/MechanicalModels.jl index dc6aeac..8a7a1bd 100644 --- a/src/PhysicalModels/MechanicalModels.jl +++ b/src/PhysicalModels/MechanicalModels.jl @@ -4,6 +4,12 @@ # Coercive volumetric Mechanical models # ============================================ +""" +Coercive volumetric energy term of the form +```math +\\Psi = \\frac{1}{\\kappa} (J-1)^2 +``` +""" struct VolumetricEnergy <: Volumetric λ::Float64 function VolumetricEnergy(; λ::Float64) @@ -190,6 +196,12 @@ end # Mechanical models # =================== +""" +Yeoh constitutive model for 3D solid kinematics. +```math +\\Psi = \\sum_{i=1}^3 C_i (I_1 - 3)^i +``` +""" struct Yeoh3D <: IsoElastic λ::Float64 C10::Float64 @@ -625,6 +637,14 @@ I1iso(F) = det(F)^(-2 / 3) * F ⊙ F ∂I1iso_∂F∂Ftotal(F) = ∂I1iso_∂F∂F(F) + ∂I1iso_∂F∂J(F) ⊗ cof(F) + cof(F) ⊗ ∂I1iso_∂F∂J(F) + ∂I1iso_∂J∂J(F)*cof(F) ⊗ cof(F) + ∂I1iso_∂J(F)*×ᵢ⁴(F) +""" +Simplified eight-chain model by Arruda and Boyce. +the implementation uses the first five terms of the inverse Langevin function. + +```math +\\Psi = C_1 \\sum_{i=1}^{3} \\alpha_i \\beta^{i-1} (I_1^i - 3^i) +``` +""" struct EightChain <: IsoElastic μ::Float64 N::Float64 @@ -846,22 +866,6 @@ struct IncompressibleNeoHookean3D <: IsoElastic end -function SecondPiola(obj::IncompressibleNeoHookean3D, Λ::Float64=1.0) - Ψ(C) = obj.μ / 2 * tr(C) * det(C)^(-1 / 3) - 3 * obj.μ / 2 - S(C) = begin - detC = det(C) - invC = inv(C) - obj.μ * detC^(-1 / 3) * I3 - obj.μ / 3 * tr(C) * detC^(-1 / 3) * invC - end - ∂S∂C(C) = begin - detC = det(C) - trC = tr(C) - invC = inv(C) - IinvC = I3 ⊗ invC - 1 / 3 * obj.μ * detC^(-1 / 3) * (4 / 3 * trC * invC ⊗ invC - (IinvC + IinvC') - trC / detC * ×ᵢ⁴(C)) - end - return (Ψ, S, ∂S∂C) -end struct IncompressibleNeoHookean2D <: IsoElastic λ::Float64 @@ -1047,33 +1051,3 @@ function SecondPiola(obj::IsochoricNeoHookean3D) end return (Ψ, S, ∂S∂C) end - - -struct IncompressibleNeoHookean3D_2dP <: Mechano - μ::Float64 - τ::Float64 - Δt::Float64 - ρ::Float64 - - function IncompressibleNeoHookean3D_2dP(; μ::Float64, τ::Float64, Δt::Float64, ρ::Float64=0.0) - new(μ, τ, Δt, ρ) - end - - function (obj::IncompressibleNeoHookean3D_2dP)(Λ::Float64=1.0; Threshold=0.01) - μ = obj.μ - H(F) = det(F) * inv(F)' - Ψ(Ce) = μ / 2 * tr(Ce) * (det(Ce))^(-1 / 3) - ∂Ψ∂Ce(Ce) = μ / 2 * I3 * (det(Ce))^(-1 / 3) - ∂Ψ∂dCe(Ce) = -μ / 6 * tr(Ce) * (det(Ce))^(-4 / 3) - Se(Ce) = let HCe = H(Ce) - 2 * (∂Ψ∂Ce(Ce) + ∂Ψ∂dCe(Ce) * HCe) - end - ∂2Ψ∂CedCe(Ce) = -μ / 6 * I3 * (det(Ce))^(-4 / 3) - ∂2Ψ∂2dCe(Ce) = 2 * μ / 9 * tr(Ce) * (det(Ce))^(-7 / 3) - ∂Se∂Ce(Ce) = let HCe = H(Ce) - 2 * (∂2Ψ∂2dCe(Ce) * (HCe ⊗ HCe) + ∂2Ψ∂CedCe(Ce) ⊗ HCe + HCe ⊗ ∂2Ψ∂CedCe(Ce) + ∂Ψ∂dCe(Ce) * ×ᵢ⁴(Ce)) - end - - return (Ψ, Se, ∂Se∂Ce) - end -end From fda769b821257e8a84871218f970f4cf1d8135f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Mas=C3=B3?= Date: Fri, 19 Jun 2026 14:24:05 +0200 Subject: [PATCH 11/16] Revert "remove and ad docstrings" This reverts commit 98c53bf38347c7a2ff65f9c375b3d9729b310423. --- src/PhysicalModels/MechanicalModels.jl | 66 ++++++++++++++++++-------- 1 file changed, 46 insertions(+), 20 deletions(-) diff --git a/src/PhysicalModels/MechanicalModels.jl b/src/PhysicalModels/MechanicalModels.jl index 8a7a1bd..dc6aeac 100644 --- a/src/PhysicalModels/MechanicalModels.jl +++ b/src/PhysicalModels/MechanicalModels.jl @@ -4,12 +4,6 @@ # Coercive volumetric Mechanical models # ============================================ -""" -Coercive volumetric energy term of the form -```math -\\Psi = \\frac{1}{\\kappa} (J-1)^2 -``` -""" struct VolumetricEnergy <: Volumetric λ::Float64 function VolumetricEnergy(; λ::Float64) @@ -196,12 +190,6 @@ end # Mechanical models # =================== -""" -Yeoh constitutive model for 3D solid kinematics. -```math -\\Psi = \\sum_{i=1}^3 C_i (I_1 - 3)^i -``` -""" struct Yeoh3D <: IsoElastic λ::Float64 C10::Float64 @@ -637,14 +625,6 @@ I1iso(F) = det(F)^(-2 / 3) * F ⊙ F ∂I1iso_∂F∂Ftotal(F) = ∂I1iso_∂F∂F(F) + ∂I1iso_∂F∂J(F) ⊗ cof(F) + cof(F) ⊗ ∂I1iso_∂F∂J(F) + ∂I1iso_∂J∂J(F)*cof(F) ⊗ cof(F) + ∂I1iso_∂J(F)*×ᵢ⁴(F) -""" -Simplified eight-chain model by Arruda and Boyce. -the implementation uses the first five terms of the inverse Langevin function. - -```math -\\Psi = C_1 \\sum_{i=1}^{3} \\alpha_i \\beta^{i-1} (I_1^i - 3^i) -``` -""" struct EightChain <: IsoElastic μ::Float64 N::Float64 @@ -866,6 +846,22 @@ struct IncompressibleNeoHookean3D <: IsoElastic end +function SecondPiola(obj::IncompressibleNeoHookean3D, Λ::Float64=1.0) + Ψ(C) = obj.μ / 2 * tr(C) * det(C)^(-1 / 3) - 3 * obj.μ / 2 + S(C) = begin + detC = det(C) + invC = inv(C) + obj.μ * detC^(-1 / 3) * I3 - obj.μ / 3 * tr(C) * detC^(-1 / 3) * invC + end + ∂S∂C(C) = begin + detC = det(C) + trC = tr(C) + invC = inv(C) + IinvC = I3 ⊗ invC + 1 / 3 * obj.μ * detC^(-1 / 3) * (4 / 3 * trC * invC ⊗ invC - (IinvC + IinvC') - trC / detC * ×ᵢ⁴(C)) + end + return (Ψ, S, ∂S∂C) +end struct IncompressibleNeoHookean2D <: IsoElastic λ::Float64 @@ -1051,3 +1047,33 @@ function SecondPiola(obj::IsochoricNeoHookean3D) end return (Ψ, S, ∂S∂C) end + + +struct IncompressibleNeoHookean3D_2dP <: Mechano + μ::Float64 + τ::Float64 + Δt::Float64 + ρ::Float64 + + function IncompressibleNeoHookean3D_2dP(; μ::Float64, τ::Float64, Δt::Float64, ρ::Float64=0.0) + new(μ, τ, Δt, ρ) + end + + function (obj::IncompressibleNeoHookean3D_2dP)(Λ::Float64=1.0; Threshold=0.01) + μ = obj.μ + H(F) = det(F) * inv(F)' + Ψ(Ce) = μ / 2 * tr(Ce) * (det(Ce))^(-1 / 3) + ∂Ψ∂Ce(Ce) = μ / 2 * I3 * (det(Ce))^(-1 / 3) + ∂Ψ∂dCe(Ce) = -μ / 6 * tr(Ce) * (det(Ce))^(-4 / 3) + Se(Ce) = let HCe = H(Ce) + 2 * (∂Ψ∂Ce(Ce) + ∂Ψ∂dCe(Ce) * HCe) + end + ∂2Ψ∂CedCe(Ce) = -μ / 6 * I3 * (det(Ce))^(-4 / 3) + ∂2Ψ∂2dCe(Ce) = 2 * μ / 9 * tr(Ce) * (det(Ce))^(-7 / 3) + ∂Se∂Ce(Ce) = let HCe = H(Ce) + 2 * (∂2Ψ∂2dCe(Ce) * (HCe ⊗ HCe) + ∂2Ψ∂CedCe(Ce) ⊗ HCe + HCe ⊗ ∂2Ψ∂CedCe(Ce) + ∂Ψ∂dCe(Ce) * ×ᵢ⁴(Ce)) + end + + return (Ψ, Se, ∂Se∂Ce) + end +end From 7fc8eafcd6235c8436b513274ab72750cee9da05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Mas=C3=B3?= Date: Mon, 22 Jun 2026 16:29:14 +0200 Subject: [PATCH 12/16] img align --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 913c43b..89cfadc 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ - +

[![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://jmartfrut.github.io/HyperFEM.jl/stable/) [![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://jmartfrut.github.io/HyperFEM.jl/dev/) @@ -129,7 +129,7 @@ x = solve!(comp_model; stepping=(nsteps=5, maxbisec=5), post=post_model) ## HyperFEM Gallery - +

@@ -147,7 +147,7 @@ along with the required citations for [Gridap](https://github.com/gridap/Gridap. - Grants PID2022-141957OA-C22/PID2022-141957OB-C22 funded by MCIN/AEI/ 10.13039/501100011033 and by ''ERDF A way of making Europe'' - +

## Contact From 4ca7356e4d438fa28c57a48a453f7100a696e5bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Mas=C3=B3?= Date: Mon, 22 Jun 2026 16:31:11 +0200 Subject: [PATCH 13/16] center aligned img --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 89cfadc..16e9f2f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -

+

[![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://jmartfrut.github.io/HyperFEM.jl/stable/) [![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://jmartfrut.github.io/HyperFEM.jl/dev/) @@ -129,7 +129,7 @@ x = solve!(comp_model; stepping=(nsteps=5, maxbisec=5), post=post_model) ## HyperFEM Gallery -

+

@@ -147,7 +147,7 @@ along with the required citations for [Gridap](https://github.com/gridap/Gridap. - Grants PID2022-141957OA-C22/PID2022-141957OB-C22 funded by MCIN/AEI/ 10.13039/501100011033 and by ''ERDF A way of making Europe'' -

+

## Contact From 7a242472cf8a9ed74091250e2f358d22fac1426c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Mas=C3=B3?= Date: Mon, 22 Jun 2026 16:32:45 +0200 Subject: [PATCH 14/16] center --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 16e9f2f..76df5a8 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -

+

[![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://jmartfrut.github.io/HyperFEM.jl/stable/) [![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://jmartfrut.github.io/HyperFEM.jl/dev/) From 10edcbf2273502ffc32ca8a64d57b8b02d2efc85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Mas=C3=B3?= Date: Mon, 22 Jun 2026 16:33:32 +0200 Subject: [PATCH 15/16] try --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 76df5a8..7a80ed0 100644 --- a/README.md +++ b/README.md @@ -147,7 +147,7 @@ along with the required citations for [Gridap](https://github.com/gridap/Gridap. - Grants PID2022-141957OA-C22/PID2022-141957OB-C22 funded by MCIN/AEI/ 10.13039/501100011033 and by ''ERDF A way of making Europe'' -

+

## Contact From 5b23d3cb53293486969a2854041d431485f3ad71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Mas=C3=B3?= Date: Mon, 22 Jun 2026 16:35:09 +0200 Subject: [PATCH 16/16] center 2 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7a80ed0..0e3cf49 100644 --- a/README.md +++ b/README.md @@ -129,7 +129,7 @@ x = solve!(comp_model; stepping=(nsteps=5, maxbisec=5), post=post_model) ## HyperFEM Gallery -

+

@@ -147,7 +147,7 @@ along with the required citations for [Gridap](https://github.com/gridap/Gridap. - Grants PID2022-141957OA-C22/PID2022-141957OB-C22 funded by MCIN/AEI/ 10.13039/501100011033 and by ''ERDF A way of making Europe'' -

+

## Contact