Skip to content

Commit fc93175

Browse files
committed
Adds constructors for TrialFESpace
Adds constructors for TrialFESpace with single and multifield FESpaces and Dirichlet boundary conditions. Renames the μ parameter to μ0 in Magnetic models to improve clarity and consistency. Updates relevant tests to reflect this change.
1 parent 0fd19e9 commit fc93175

File tree

3 files changed

+22
-14
lines changed

3 files changed

+22
-14
lines changed

src/ComputationalModels/FESpaces.jl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,14 @@ function Gridap.FESpaces.TrialFESpace!(space::MultiFieldFESpace, bc::MultiFieldB
5454
end
5555
end
5656

57+
function Gridap.FESpaces.TrialFESpace(space::SingleFieldFESpace, bc::DirichletBC)
58+
TrialFESpace(space, bc, 0.0)
59+
end
60+
61+
function Gridap.FESpaces.TrialFESpace(space::MultiFieldFESpace, bc::MultiFieldBC)
62+
TrialFESpace(space, bc, 0.0)
63+
end
64+
5765

5866
function Gridap.FESpaces.TrialFESpace(space::SingleFieldFESpace, ::NothingBC, Λ::Float64)
5967
space

src/PhysicalModels/MagneticModels.jl

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ struct Magnetic <: Magneto
99
αr::Ref{Float64}
1010
χe::Float64
1111

12-
function Magnetic(; μ::Float64, αr::Ref{Float64}, χe::Float64=0.0)
13-
new(μ, αr, χe)
12+
function Magnetic(; μ0::Float64, αr::Ref{Float64}, χe::Float64=0.0)
13+
new(μ0, αr, χe)
1414
end
1515
function (obj::Magnetic)(Λ::Float64=1.0)
1616
μ, αr, χe = obj.μ, obj.αr, obj.χe
@@ -29,8 +29,8 @@ end
2929
struct IdealMagnetic <: Magneto
3030
μ::Float64
3131
χe::Float64
32-
function IdealMagnetic(; μ::Float64, χe::Float64=0.0)
33-
new(μ, χe)
32+
function IdealMagnetic(; μ0::Float64, χe::Float64=0.0)
33+
new(μ0, χe)
3434
end
3535
function (obj::IdealMagnetic)(Λ::Float64=1.0)
3636

@@ -74,8 +74,8 @@ end
7474
struct IdealMagnetic2D <: Magneto
7575
μ::Float64
7676
χe::Float64
77-
function IdealMagnetic2D(; μ::Float64, χe::Float64=0.0)
78-
new(μ, χe)
77+
function IdealMagnetic2D(; μ0::Float64, χe::Float64=0.0)
78+
new(μ0, χe)
7979
end
8080

8181
function (obj::IdealMagnetic2D)(Λ::Float64=1.0)
@@ -119,8 +119,8 @@ struct HardMagnetic <: Magneto
119119
χr::Float64
120120
βmok::Float64
121121
βcoup::Float64
122-
function HardMagnetic(; μ::Float64, αr::Float64, χe::Float64=0.0, χr::Float64=8.0, βmok::Float64=1.0, βcoup::Float64=1.0)
123-
new(μ, αr, χe, χr, βmok, βcoup)
122+
function HardMagnetic(; μ0::Float64, αr::Float64, χe::Float64=0.0, χr::Float64=8.0, βmok::Float64=1.0, βcoup::Float64=1.0)
123+
new(μ0, αr, χe, χr, βmok, βcoup)
124124
end
125125

126126
function (obj::HardMagnetic)(Λ::Float64=1.0)
@@ -167,8 +167,8 @@ struct HardMagnetic2D <: Magneto
167167
χr::Float64
168168
βmok::Float64
169169
βcoup::Float64
170-
function HardMagnetic2D(; μ::Float64, αr::Float64, χe::Float64=0.0, χr::Float64=8.0, βmok::Float64=1.0, βcoup::Float64=1.0)
171-
new(μ, αr, χe, χr, βmok, βcoup)
170+
function HardMagnetic2D(; μ0::Float64, αr::Float64, χe::Float64=0.0, χr::Float64=8.0, βmok::Float64=1.0, βcoup::Float64=1.0)
171+
new(μ0, αr, χe, χr, βmok, βcoup)
172172
end
173173

174174
function (obj::HardMagnetic2D)(Λ::Float64=1.0)

test/TestConstitutiveModels/PhysicalModelTests.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -565,7 +565,7 @@ end
565565

566566
modelMR = MooneyRivlin2D=3.0, μ1=1.0, μ2=2.0)
567567

568-
modelID = IdealMagnetic2D(μ=1.2566e-6, χe=0.0)
568+
modelID = IdealMagnetic2D(μ0=1.2566e-6, χe=0.0)
569569
Ψ, ∂Ψu, ∂Ψφ, ∂Ψuu, ∂Ψφu, ∂Ψφφ = modelID()
570570
K=Kinematics(Mechano,Solid)
571571
F, _, _ = get_Kinematics(K)
@@ -632,7 +632,7 @@ end
632632
N = VectorValue(0.0, 0.0, 1.0)
633633

634634
modelMR = MooneyRivlin3D=3.0, μ1=1.0, μ2=2.0)
635-
modelID = HardMagnetic(μ=1.2566e-6, αr=40e-3, χe=0.0, χr=8.0)
635+
modelID = HardMagnetic(μ0=1.2566e-6, αr=40e-3, χe=0.0, χr=8.0)
636636
modelmagneto=modelMR+modelID
637637
Ψ, ∂Ψu, ∂Ψφ, ∂Ψuu, ∂Ψφu, ∂Ψφφ = modelmagneto()
638638
K=Kinematics(Mechano,Solid)
@@ -719,7 +719,7 @@ end
719719
N = VectorValue(0.0, 1.0)
720720

721721
modelMR = MooneyRivlin2D=3.0, μ1=1.0, μ2=2.0)
722-
modelID = IdealMagnetic2D(μ=1.2566e-6, χe=0.0)
722+
modelID = IdealMagnetic2D(μ0=1.2566e-6, χe=0.0)
723723
modelmagneto=modelMR+modelID
724724
Ψ, ∂Ψu, ∂Ψφ, ∂Ψuu, ∂Ψφu, ∂Ψφφ = modelmagneto()
725725
K=Kinematics(Mechano,Solid)
@@ -762,7 +762,7 @@ end
762762
N = VectorValue(0.0, 1.0)
763763

764764
modelMR = MooneyRivlin2D=3.0, μ1=1.0, μ2=2.0)
765-
modelID = HardMagnetic2D(μ=1.2566e-6, αr=40e-3, χe=0.0, χr=8.0)
765+
modelID = HardMagnetic2D(μ0=1.2566e-6, αr=40e-3, χe=0.0, χr=8.0)
766766
modelmagneto=modelMR+modelID
767767
Ψ, ∂Ψu, ∂Ψφ, ∂Ψuu, ∂Ψφu, ∂Ψφφ = modelmagneto()
768768
K=Kinematics(Mechano,Solid)

0 commit comments

Comments
 (0)