@@ -107,7 +107,7 @@ struct ThermoElectroMech_Bonet{T<:Thermo,E<:Electro,M<:Mechano} <: ThermoElectro
107107 thermo:: T
108108 electro:: E
109109 mechano:: M
110-
110+
111111 function ThermoElectroMech_Bonet (thermo:: T , electro:: E , mechano:: M ) where {T<: Thermo ,E<: Electro ,M<: Mechano }
112112 new {T,E,M} (thermo, electro, mechano)
113113 end
@@ -116,9 +116,11 @@ struct ThermoElectroMech_Bonet{T<:Thermo,E<:Electro,M<:Mechano} <: ThermoElectro
116116 new {T,E,M} (thermo, electro, mechano)
117117 end
118118
119- function (obj:: ThermoElectroMech_Bonet )(Λ:: Float64 = 1.0 )
119+ function (obj:: ThermoElectroMech_Bonet )(Λ:: Float64 = 1.0 ; kwargs ... )
120120 @unpack Cv,θr, α, κ, γv, γd = obj. thermo
121- Ψem, ∂Ψem∂F, ∂Ψem∂E, ∂Ψem∂FF, ∂Ψem∂EF, ∂Ψem∂EE = _getCoupling (obj. electro, obj. mechano, Λ)
121+ # Ψem, ∂Ψem∂F, ∂Ψem∂E, ∂Ψem∂FF, ∂Ψem∂EF, ∂Ψem∂EE = _getCoupling(obj.electro, obj.mechano, Λ)
122+ em = ElectroMechModel (electro, mechano)
123+ Ψem, ∂Ψem∂F, ∂Ψem∂E, ∂Ψem∂FF, ∂Ψem∂EF, ∂Ψem∂EE = em (;kwargs... )
122124 gd (δθ) = 1 / (γd+ 1 ) * (((δθ+ θr)/ θr)^ (γd+ 1 ) - 1 )
123125 ∂gd (δθ) = (δθ+ θr)^ γd / θr^ (γd+ 1 )
124126 ∂∂gd (δθ) = γd* (δθ+ θr)^ (γd- 1 ) / θr^ (γd+ 1 )
@@ -134,21 +136,21 @@ struct ThermoElectroMech_Bonet{T<:Thermo,E<:Electro,M<:Mechano} <: ThermoElectro
134136 ∂η∂F (F)= ∂η∂J (F)* H (F)
135137 ∂2η∂FF (F)= × ᵢ⁴ (∂η∂J (F) * F)
136138
137- Ψ (F,E,δθ ) = Ψem (F,E )* (1.0 + gd (δθ))+ gv (δθ)* η (F)
139+ Ψ (F, E, δθ, X ... ) = Ψem (F, E, X ... )* (1.0 + gd (δθ))+ gv (δθ)* η (F)
138140
139- ∂Ψ_∂F (F, E, δθ) = (1.0 + gd (δθ)) * ∂Ψem∂F (F, E) + gv (δθ)* ∂η∂F (F)
140- ∂Ψ_∂E (F, E, δθ) = (1.0 + gd (δθ)) * ∂Ψem∂E (F, E)
141- ∂Ψ_∂δθ (F, E, δθ) = ∂gd (δθ) * Ψem (F, E) + ∂gv (δθ)* η (F)
141+ ∂Ψ_∂F (F, E, δθ, X ... ) = (1.0 + gd (δθ)) * ∂Ψem∂F (F, E, X ... ) + gv (δθ)* ∂η∂F (F)
142+ ∂Ψ_∂E (F, E, δθ, X ... ) = (1.0 + gd (δθ)) * ∂Ψem∂E (F, E, X ... )
143+ ∂Ψ_∂δθ (F, E, δθ, X ... ) = ∂gd (δθ) * Ψem (F, E, X ... ) + ∂gv (δθ)* η (F)
142144
143- ∂2Ψ_∂2F (F, E, δθ) = (1.0 + gd (δθ)) * ∂Ψem∂FF (F, E) + gv (δθ)* ∂2η∂FF (F)
144- ∂2Ψ_∂2E (F, E, δθ) = (1.0 + gd (δθ)) * ∂Ψem∂EE (F, E)
145- ∂2Ψ_∂2δθ (F, E, δθ) = ∂∂gd (δθ) * Ψem (F, E) + ∂∂gv (δθ)* η (F)
145+ ∂2Ψ_∂2F (F, E, δθ, X ... ) = (1.0 + gd (δθ)) * ∂Ψem∂FF (F, E, X ... ) + gv (δθ)* ∂2η∂FF (F)
146+ ∂2Ψ_∂2E (F, E, δθ, X ... ) = (1.0 + gd (δθ)) * ∂Ψem∂EE (F, E, X ... )
147+ ∂2Ψ_∂2δθ (F, E, δθ, X ... ) = ∂∂gd (δθ) * Ψem (F, E, X ... ) + ∂∂gv (δθ)* η (F)
146148
147- ∂ΨEF (F, E, δθ) = (1.0 + gd (δθ)) * ∂Ψem∂EF (F, E)
148- ∂ΨFδθ (F, E, δθ) = ∂gd (δθ) * ∂Ψem∂F (F, E) + ∂gv (δθ)* ∂η∂F (F)
149- ∂ΨEδθ (F, E, δθ) = ∂gd (δθ) * ∂Ψem∂E (F, E)
149+ ∂ΨEF (F, E, δθ, X ... ) = (1.0 + gd (δθ)) * ∂Ψem∂EF (F, E, X ... )
150+ ∂ΨFδθ (F, E, δθ, X ... ) = ∂gd (δθ) * ∂Ψem∂F (F, E, X ... ) + ∂gv (δθ)* ∂η∂F (F)
151+ ∂ΨEδθ (F, E, δθ, X ... ) = ∂gd (δθ) * ∂Ψem∂E (F, E, X ... )
150152
151- η (F, E, δθ) = - ∂Ψ_∂δθ (F, E, δθ)
153+ η (F, E, δθ, X ... ) = - ∂Ψ_∂δθ (F, E, δθ, X ... )
152154
153155 return (Ψ, ∂Ψ_∂F, ∂Ψ_∂E, ∂Ψ_∂δθ, ∂2Ψ_∂2F, ∂2Ψ_∂2E, ∂2Ψ_∂2δθ, ∂ΨEF, ∂ΨFδθ, ∂ΨEδθ, η)
154156 end
@@ -159,7 +161,7 @@ function Dissipation(obj::ThermoElectroMech_Bonet, Δt)
159161 Dvis = Dissipation (obj. mechano, Δt)
160162 gd (δθ) = 1 / (γd+ 1 ) * (((δθ+ θr)/ θr)^ (γd+ 1 ) - 1 )
161163 ∂gd (δθ) = (δθ+ θr)^ γd / θr^ (γd+ 1 )
162- D (F, E, δθ, A ... ) = (1 + gd (δθ)) * Dvis (F, A ... )
163- ∂D∂θ (F, E, δθ, A ... ) = ∂gd (δθ) * Dvis (F, A ... )
164+ D (F, E, δθ, X ... ) = (1 + gd (δθ)) * Dvis (F, X ... )
165+ ∂D∂θ (F, E, δθ, X ... ) = ∂gd (δθ) * Dvis (F, X ... )
164166 return (D, ∂D∂θ)
165167end
0 commit comments