11
2- struct ElectroMechModel{E<: Electro , M<: Mechano } <: ElectroMechano
2+ struct ElectroMechModel{E<: Electro ,M<: Mechano } <: ElectroMechano
33 electro:: E
44 mechano:: M
55
6- function ElectroMechModel (electro:: E , mechano:: M ) where {E<: Electro , M<: Mechano }
6+ function ElectroMechModel (electro:: E , mechano:: M ) where {E<: Electro ,M<: Mechano }
77 new {E,M} (electro, mechano)
88 end
99
10- function ElectroMechModel (; electro:: E , mechano:: M ) where {E<: Electro , M<: Mechano }
10+ function ElectroMechModel (; electro:: E , mechano:: M ) where {E<: Electro ,M<: Mechano }
1111 new {E,M} (electro, mechano)
1212 end
1313
14- function (obj:: ElectroMechModel )(Λ:: Float64 = 1.0 )
14+ function (obj:: ElectroMechModel{<:Electro,<:IsoElastic} )(Λ:: Float64 = 1.0 )
1515 Ψm, ∂Ψm_u, ∂Ψm_uu = obj. mechano (Λ)
1616 Ψem, ∂Ψem_u, ∂Ψem_φ, ∂Ψem_uu, ∂Ψem_φu, ∂Ψem_φφ = _getCoupling (obj. electro, obj. mechano, Λ)
1717 Ψ (F, E) = Ψm (F) + Ψem (F, E)
@@ -22,7 +22,17 @@ struct ElectroMechModel{E<:Electro, M<:Mechano} <: ElectroMechano
2222 ∂Ψφφ (F, E) = ∂Ψem_φφ (F, E)
2323 return (Ψ, ∂Ψu, ∂Ψφ, ∂Ψuu, ∂Ψφu, ∂Ψφφ)
2424 end
25-
25+ function (obj:: ElectroMechModel{<:Electro,<:AnisoElastic} )(Λ:: Float64 = 1.0 )
26+ Ψm, ∂Ψm_u, ∂Ψm_uu = obj. mechano (Λ)
27+ Ψem, ∂Ψem_u, ∂Ψem_φ, ∂Ψem_uu, ∂Ψem_φu, ∂Ψem_φφ = _getCoupling (obj. electro, obj. mechano, Λ)
28+ Ψ (F, E, N) = Ψm (F, N) + Ψem (F, E)
29+ ∂Ψu (F, E, N) = ∂Ψm_u (F, N) + ∂Ψem_u (F, E)
30+ ∂Ψφ (F, E, N) = ∂Ψem_φ (F, E)
31+ ∂Ψuu (F, E, N) = ∂Ψm_uu (F, N) + ∂Ψem_uu (F, E)
32+ ∂Ψφu (F, E, N) = ∂Ψem_φu (F, E)
33+ ∂Ψφφ (F, E, N) = ∂Ψem_φφ (F, E)
34+ return (Ψ, ∂Ψu, ∂Ψφ, ∂Ψuu, ∂Ψφu, ∂Ψφφ)
35+ end
2636 function (obj:: ElectroMechModel{<:Electro,<:ViscoElastic} )(Λ:: Float64 = 1.0 ; Δt)
2737 Ψm, ∂Ψm_u, ∂Ψm_uu = obj. mechano (Λ, Δt= Δt)
2838 Ψem, ∂Ψem_u, ∂Ψem_φ, ∂Ψem_uu, ∂Ψem_φu, ∂Ψem_φφ = _getCoupling (obj. electro, obj. mechano, Λ)
@@ -34,6 +44,7 @@ struct ElectroMechModel{E<:Electro, M<:Mechano} <: ElectroMechano
3444 ∂Ψφφ (F, Fn, E, A... ) = ∂Ψem_φφ (F, E)
3545 return (Ψ, ∂Ψu, ∂Ψφ, ∂Ψuu, ∂Ψφu, ∂Ψφφ)
3646 end
47+
3748end
3849
3950ViscoElectricModel = ElectroMechModel{<: Electro ,<: ViscoElastic }
@@ -92,12 +103,12 @@ struct FlexoElectroModel{EM<:ElectroMechano} <: FlexoElectro
92103 electromechano:: EM
93104 κ:: Float64
94105
95- function FlexoElectroModel (electro:: E , mechano:: M ; κ= 1.0 ) where {E <: Electro , M <: Mechano }
106+ function FlexoElectroModel (electro:: E , mechano:: M ; κ= 1.0 ) where {E<: Electro ,M <: Mechano }
96107 physmodel = ElectroMechModel (electro, mechano)
97108 new {ElectroMechModel{E,M}} (physmodel, κ)
98109 end
99110
100- function FlexoElectroModel (; electro:: E , mechano:: M , κ= 1.0 ) where {E <: Electro , M <: Mechano }
111+ function FlexoElectroModel (; electro:: E , mechano:: M , κ= 1.0 ) where {E<: Electro ,M <: Mechano }
101112 physmodel = ElectroMechModel (electro, mechano)
102113 new {ElectroMechModel{E,M}} (physmodel, κ)
103114 end
0 commit comments