@@ -909,16 +909,57 @@ struct EightChain{A} <: Elasto
909909 end
910910
911911 function (obj:: EightChain )(Λ:: Float64 = 1.0 )
912+ _, H, J = get_Kinematics (obj. Kinematic; Λ= Λ)
913+ μ, N = obj. μ, obj. N
914+
912915 Ψ (F) = begin
913916 C = F' * F
914- C_iso = det (C)^ (- 2 / 3 ) * C
915- β = sqrt (tr (C_iso) / 3 / obj. N)
917+ C_iso = J (F)^ (- 2 / 3 ) * C
918+ β = sqrt (tr (C_iso) / 3 / N)
919+ L = β * (3.0 - β^ 2 ) / (1.0 - β^ 2 )
920+ μ * N * (β * L + log (L / sinh (L)))
921+ end
922+
923+ ∂Ψ∂F (F) = begin
924+ C = F' * F
925+ C_iso = J (F)^ (- 2 / 3 ) * C
926+ β = sqrt (tr (C_iso) / 3 / N)
916927 L = β * (3.0 - β^ 2 ) / (1.0 - β^ 2 )
917- obj. μ * obj. N * (β* L + log (L / sinh (L)))
928+ ∂β∂I1_ = 0.5 / sqrt (tr (C_iso) * 3 * N)
929+ ∂L∂I1_ = ((3 * (1 - β^ 2 )^ 2 + 2 * β * (3 * β - β^ 3 )) / (1 - β^ 2 )^ 2 ) * ∂β∂I1_
930+ n = (∂L∂I1_ * sinh (L) - L * cosh (L) * ∂L∂I1_)
931+ d = (L * sinh (L))
932+ ∂Ψ∂I1_ = μ * N * (∂β∂I1_ * L + β * ∂L∂I1_ + n / d)
933+ ∂I1_∂F = 2 * J (F)^ (- 2 / 3 ) * F
934+ ∂I1_∂J = - (2 / 3 ) * J (F)^ (- 5 / 3 ) * tr (C)
935+ ∂Ψ∂I1_ * (∂I1_∂F + ∂I1_∂J * H (F))
918936 end
919- ∂Ψ∂F (F) = ForwardDiff. gradient (Ψ, get_array (F))
920- ∂Ψ∂FF (F) = ForwardDiff. jacobian (∂Ψ∂F, get_array (F))
921- return (Ψ, TensorValue ∘ ∂Ψ∂F, TensorValue ∘ ∂Ψ∂FF)
937+
938+ ∂Ψ∂FF (F) = begin
939+ H_ = H (F)
940+ C = F' * F
941+ C_iso = det (F)^ (- 2 / 3 ) * C
942+ β = sqrt (tr (C_iso) / 3 / N)
943+ L = β * (3.0 - β^ 2 ) / (1.0 - β^ 2 )
944+ ∂β∂I1_ = 0.5 / sqrt (tr (C_iso) * 3 * N)
945+ ∂L∂I1_ = ((3 * (1 - β^ 2 )^ 2 + 2 * β * (3 * β - β^ 3 )) / (1 - β^ 2 )^ 2 ) * ∂β∂I1_
946+ ∂β∂I1I1_ = - (3 * N) / (4 * (3 * N * tr (C_iso))^ (3 / 2 ))
947+ ∂L∂I1I1_ = ((4 * β * (β^ 2 + 3 )) / (1 - β^ 2 )^ 3 ) * ∂β∂I1_^ 2 + ((3 * (1 - β^ 2 )^ 2 + 2 * β * (3 * β - β^ 3 )) / (1 - β^ 2 )^ 2 ) * ∂β∂I1I1_
948+ ∂I1_∂F = 2 * det (F)^ (- 2 / 3 ) * F
949+ ∂I1_∂J = - (2 / 3 ) * det (F)^ (- 5 / 3 ) * tr (C)
950+ ∂I1_∂F∂F = 2 * det (F)^ (- 2 / 3 ) * I9
951+ ∂I1_∂J∂J = (10 / 9 ) * det (F)^ (- 8 / 3 ) * tr (C)
952+ ∂I1_∂F∂J = - (4 / 3 ) * det (F)^ (- 5 / 3 ) * F
953+ n = (∂L∂I1_ * sinh (L) - L * cosh (L) * ∂L∂I1_)
954+ d = (L * sinh (L))
955+ ∂n∂I1_ = ∂L∂I1I1_ * sinh (L) + ∂L∂I1_ * ∂L∂I1_* cosh (L) - ∂L∂I1_^ 2 * cosh (L) - L * sinh (L) * ∂L∂I1_^ 2 - L * cosh (L) * ∂L∂I1I1_
956+ ∂d∂I1_ = ∂L∂I1_ * sinh (L) + L * ∂L∂I1_* cosh (L)
957+ ∂Ψ∂I1_ = μ * N * (∂β∂I1_ * L + β * ∂L∂I1_ + n / d)
958+ ∂Ψ∂I1I1_ = μ * N * (∂β∂I1I1_ * L + 2 * ∂β∂I1_ * ∂L∂I1_ + β * ∂L∂I1I1_ + (∂n∂I1_ * d - n * ∂d∂I1_) / d^ 2 )
959+ ∂Ψ∂I1I1_ * ((∂I1_∂F + ∂I1_∂J * H_) ⊗ (∂I1_∂F + ∂I1_∂J * H_)) + ∂Ψ∂I1_ * (∂I1_∂F∂F + ∂I1_∂F∂J ⊗ H_ + H_ ⊗ ∂I1_∂F∂J + ∂I1_∂J∂J * (H_ ⊗ H_) + I9 × (∂I1_∂J * F))
960+ end
961+
962+ return (Ψ, ∂Ψ∂F, ∂Ψ∂FF)
922963 end
923964end
924965
0 commit comments