77# Stagered residual
88# -----------------
99
10- function residual (physicalmodel:: ElectroMechano , :: Type{Mechano} , kine:: NTuple{2,KinematicModel} , (u, φ), v, dΩ, Λ= 1.0 )
11- DΨ = physicalmodel (Λ )
10+ function residual (physicalmodel:: ElectroMechano , :: Type{Mechano} , kine:: NTuple{2,KinematicModel} , (u, φ), v, dΩ, Λ= 1.0 , vars ... ; kwargs ... )
11+ DΨ = physicalmodel (; kwargs ... )
1212 F,_,_ = get_Kinematics (kine[1 ]; Λ= Λ)
1313 E = get_Kinematics (kine[2 ]; Λ= Λ)
1414 ∂Ψu = DΨ[2 ]
15- ∫ (∇ (v)' ⊙ (∂Ψu ∘ (F∘ ∇ (u)' , E∘ ∇ (φ))))dΩ
15+ ∫ (∇ (v)' ⊙ (∂Ψu ∘ (F∘ ∇ (u)' , E∘ ∇ (φ), vars ... )))dΩ
1616end
1717
18- function residual (physicalmodel:: ElectroMechano , :: Type{Electro} , kine:: NTuple{2,KinematicModel} , (u, φ), vφ, dΩ, Λ= 1.0 )
19- DΨ = physicalmodel (Λ )
18+ function residual (physicalmodel:: ElectroMechano , :: Type{Electro} , kine:: NTuple{2,KinematicModel} , (u, φ), vφ, dΩ, Λ= 1.0 , vars ... ; kwargs ... )
19+ DΨ = physicalmodel (; kwargs ... )
2020 F,_,_ = get_Kinematics (kine[1 ]; Λ= Λ)
2121 E = get_Kinematics (kine[2 ]; Λ= Λ)
2222 ∂Ψφ = DΨ[3 ]
23- - 1.0 * ∫ (∇ (vφ) ⋅ (∂Ψφ ∘ (F∘ ∇ (u)' , E∘ ∇ (φ))))dΩ
23+ - 1.0 * ∫ (∇ (vφ) ⋅ (∂Ψφ ∘ (F∘ ∇ (u)' , E∘ ∇ (φ), vars ... )))dΩ
2424end
2525
2626# -----------------
2727# Stagered jacobian
2828# -----------------
2929
30- function jacobian (physicalmodel:: ElectroMechano , :: Type{Mechano} , kine:: NTuple{2,KinematicModel} , (u, φ), du, v, dΩ, Λ= 1.0 )
31- DΨ = physicalmodel (Λ )
30+ function jacobian (physicalmodel:: ElectroMechano , :: Type{Mechano} , kine:: NTuple{2,KinematicModel} , (u, φ), du, v, dΩ, Λ= 1.0 , vars ... ; kwargs ... )
31+ DΨ = physicalmodel (; kwargs ... )
3232 F,_,_ = get_Kinematics (kine[1 ]; Λ= Λ)
3333 E = get_Kinematics (kine[2 ]; Λ= Λ)
3434 ∂Ψuu = DΨ[4 ]
35- ∫ (∇ (v)' ⊙ ((∂Ψuu ∘ (F∘ ∇ (u)' , E∘ ∇ (φ))) ⊙ ∇ (du)' ))dΩ
35+ ∫ (∇ (v)' ⊙ ((∂Ψuu ∘ (F∘ ∇ (u)' , E∘ ∇ (φ), vars ... )) ⊙ ∇ (du)' ))dΩ
3636end
3737
38- function jacobian (physicalmodel:: ElectroMechano , :: Type{Electro} , kine:: NTuple{2,KinematicModel} , (u, φ), dφ, vφ, dΩ, Λ= 1.0 )
39- DΨ = physicalmodel (Λ )
38+ function jacobian (physicalmodel:: ElectroMechano , :: Type{Electro} , kine:: NTuple{2,KinematicModel} , (u, φ), dφ, vφ, dΩ, Λ= 1.0 , vars ... ; kwargs ... )
39+ DΨ = physicalmodel (; kwargs ... )
4040 F,_,_ = get_Kinematics (kine[1 ]; Λ= Λ)
4141 E = get_Kinematics (kine[2 ]; Λ= Λ)
4242 ∂Ψφφ = DΨ[6 ]
43- ∫ (∇ (vφ)' ⋅ ((∂Ψφφ ∘ (F∘ ∇ (u)' , E∘ ∇ (φ))) ⋅ ∇ (dφ)))dΩ
43+ ∫ (∇ (vφ)' ⋅ ((∂Ψφφ ∘ (F∘ ∇ (u)' , E∘ ∇ (φ), vars ... )) ⋅ ∇ (dφ)))dΩ
4444end
4545
46- function jacobian (physicalmodel:: ElectroMechano , :: Type{ElectroMechano} , kine:: NTuple{2,KinematicModel} ,(u, φ), (du, dφ), (v, vφ), dΩ, Λ= 1.0 )
47- DΨ = physicalmodel (Λ )
46+ function jacobian (physicalmodel:: ElectroMechano , :: Type{ElectroMechano} , kine:: NTuple{2,KinematicModel} , (u, φ), (du, dφ), (v, vφ), dΩ, Λ= 1.0 , vars ... ; kwargs ... )
47+ DΨ = physicalmodel (; kwargs ... )
4848 F,_,_ = get_Kinematics (kine[1 ]; Λ= Λ)
4949 E = get_Kinematics (kine[2 ]; Λ= Λ)
5050 ∂Ψφu = DΨ[5 ]
51- - 1.0 * ∫ (∇ (dφ) ⋅ ((∂Ψφu ∘ (F∘ ∇ (u)' , E∘ ∇ (φ))) ⊙ ∇ (v)' ))dΩ -
52- ∫ (∇ (vφ) ⋅ ((∂Ψφu ∘ (F∘ ∇ (u)' , E∘ ∇ (φ))) ⊙ ∇ (du)' ))dΩ
51+ - 1.0 * ∫ (∇ (dφ) ⋅ ((∂Ψφu ∘ (F∘ ∇ (u)' , E∘ ∇ (φ), vars ... )) ⊙ ∇ (v)' ))dΩ -
52+ ∫ (∇ (vφ) ⋅ ((∂Ψφu ∘ (F∘ ∇ (u)' , E∘ ∇ (φ), vars ... )) ⊙ ∇ (du)' ))dΩ
5353end
5454
5555# -------------------
@@ -68,60 +68,6 @@ function jacobian(physicalmodel::ElectroMechano, kine::NTuple{2,KinematicModel}
6868 jacobian (physicalmodel, ElectroMechano, kine, (u, φ), (du, dφ), (v, vφ), dΩ, Λ)
6969end
7070
71-
72- # =================
73- # Visco-elasticity
74- # =================
75-
76- # -----------------
77- # Stagered residual
78- # -----------------
79-
80- function residual (physicalmodel:: ViscoElectricModel , :: Type{Mechano} , kine:: NTuple{2,KinematicModel} , (u, φ), v, dΩ, Λ, Δt, un, A)
81- DΨ = physicalmodel (Λ, Δt= Δt)
82- F,_,_ = get_Kinematics (kine[1 ]; Λ= Λ)
83- E = get_Kinematics (kine[2 ]; Λ= Λ)
84- ∂Ψu = DΨ[2 ]
85- ∫ (∇ (v)' ⊙ (∂Ψu ∘ (F∘ ∇ (u)' , F∘ ∇ (un)' , E∘ ∇ (φ), A... )))dΩ
86- end
87-
88- function residual (physicalmodel:: ViscoElectricModel , :: Type{Electro} , kine:: NTuple{2,KinematicModel} , (u, φ), vφ, dΩ, Λ, Δt, un, A)
89- DΨ = physicalmodel (Λ, Δt= Δt)
90- F,_,_ = get_Kinematics (kine[1 ]; Λ= Λ)
91- E = get_Kinematics (kine[2 ]; Λ= Λ)
92- ∂Ψφ = DΨ[3 ]
93- - 1.0 * ∫ (∇ (vφ) ⋅ (∂Ψφ ∘ (F∘ ∇ (u)' , F∘ ∇ (un)' , E∘ ∇ (φ), A... )))dΩ
94- end
95-
96- # -----------------
97- # Stagered jacobian
98- # -----------------
99-
100- function jacobian (physicalmodel:: ViscoElectricModel , :: Type{Mechano} , kine:: NTuple{2,KinematicModel} , (u, φ), du, v, dΩ, Λ, Δt, un, A)
101- DΨ = physicalmodel (Λ, Δt= Δt)
102- F,_,_ = get_Kinematics (kine[1 ]; Λ= Λ)
103- E = get_Kinematics (kine[2 ]; Λ= Λ)
104- ∂Ψuu = DΨ[4 ]
105- ∫ (∇ (v)' ⊙ ((∂Ψuu ∘ (F∘ ∇ (u)' , F∘ ∇ (un)' , E∘ ∇ (φ), A... )) ⊙ (∇ (du)' )))dΩ
106- end
107-
108- function jacobian (physicalmodel:: ViscoElectricModel , :: Type{Electro} , kine:: NTuple{2,KinematicModel} , (u, φ), dφ, vφ, dΩ, Λ, Δt, un, A)
109- DΨ = physicalmodel (Λ, Δt= Δt)
110- F,_,_ = get_Kinematics (kine[1 ]; Λ= Λ)
111- E = get_Kinematics (kine[2 ]; Λ= Λ)
112- ∂Ψφφ = DΨ[6 ]
113- ∫ (∇ (vφ)' ⋅ ((∂Ψφφ ∘ (F∘ ∇ (u)' , F∘ ∇ (un)' , E∘ ∇ (φ), A... )) ⋅ ∇ (dφ)))dΩ
114- end
115-
116- function jacobian (physicalmodel:: ViscoElectricModel , :: Type{ElectroMechano} , kine:: NTuple{2,KinematicModel} , (u, φ), (du, dφ), (v, vφ), dΩ, Λ, Δt, un, A)
117- DΨ = physicalmodel (Λ, Δt= Δt)
118- F,_,_ = get_Kinematics (kine[1 ]; Λ= Λ)
119- E = get_Kinematics (kine[2 ]; Λ= Λ)
120- ∂Ψφu = DΨ[5 ]
121- - 1.0 * ∫ (∇ (dφ) ⋅ ((∂Ψφu ∘ (F∘ ∇ (u)' , F∘ ∇ (un)' , E∘ ∇ (φ), A... )) ⊙ (∇ (v)' )))dΩ -
122- ∫ (∇ (vφ) ⋅ ((∂Ψφu ∘ (F∘ ∇ (u)' , F∘ ∇ (un)' , E∘ ∇ (φ), A... )) ⊙ (∇ (du)' )))dΩ
123- end
124-
12571# -------------------
12672# Monolithic strategy
12773# -------------------
0 commit comments