From e2d8dd747a4101b580d261056891a1879f3f9feb Mon Sep 17 00:00:00 2001 From: zjwegert <60646897+zjwegert@users.noreply.github.com> Date: Sat, 14 Sep 2024 21:24:05 +1000 Subject: [PATCH] Bug fix and found bug/missing method --- scripts/Embedded/MWEs/zach_embedded.jl | 15 +++++++-------- scripts/Embedded/differentiable_trians.jl | 2 +- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/scripts/Embedded/MWEs/zach_embedded.jl b/scripts/Embedded/MWEs/zach_embedded.jl index 4bee047c..e673547f 100644 --- a/scripts/Embedded/MWEs/zach_embedded.jl +++ b/scripts/Embedded/MWEs/zach_embedded.jl @@ -49,17 +49,17 @@ cutgeo = cut(model,geo) diff_Ωin = DifferentiableTriangulation(Ωin) diff_Ωout = DifferentiableTriangulation(Ωout) -f(x)=x[1]+x[2] -fh = interpolate(f,V_φ) +fh = interpolate(x->x[1]+x[2],V_φ) dΩin = Measure(diff_Ωin,2*order) -j_in(φ) = ∫(f)dΩin # <- Cannot take fh due to missing method? +j_in(φ) = ∫(fh)dΩin +# j_in(φ) = ∫(cos ∘ fh)dΩin # <- this breaks dj_in = gradient(j_in,φh) dj_vec_in = assemble_vector(dj_in,V_φ) norm(dj_vec_in) dΩout = Measure(diff_Ωout,2*order) -j_out(φ) = ∫(f)dΩout +j_out(φ) = ∫(fh)dΩout dj_out = gradient(j_out,φh) dj_vec_out = -assemble_vector(dj_out,V_φ) norm(dj_vec_out) @@ -128,17 +128,16 @@ cutgeo = cut(model,geo) diff_Ωin = DifferentiableTriangulation(Ωin) diff_Ωout = DifferentiableTriangulation(Ωout) -f(x)=x[1]+x[2]+x[3] -fh = interpolate(f,V_φ) +fh = interpolate(x->x[1]+x[2]+x[3],V_φ) dΩin = Measure(diff_Ωin,2*order) -j_in(φ) = ∫(f)dΩin # <- Cannot take fh due to missing method? +j_in(φ) = ∫(fh)dΩin # <- Cannot take fh due to missing method? dj_in = gradient(j_in,φh) dj_vec_in = assemble_vector(dj_in,V_φ) norm(dj_vec_in) dΩout = Measure(diff_Ωout,2*order) -j_out(φ) = ∫(f)dΩout +j_out(φ) = ∫(fh)dΩout dj_out = gradient(j_out,φh) dj_vec_out = -assemble_vector(dj_out,V_φ) norm(dj_vec_out) diff --git a/scripts/Embedded/differentiable_trians.jl b/scripts/Embedded/differentiable_trians.jl index 37811eed..beb2bd77 100644 --- a/scripts/Embedded/differentiable_trians.jl +++ b/scripts/Embedded/differentiable_trians.jl @@ -255,7 +255,7 @@ end function Geometry.get_glue(ttrian::DifferentiableTriangulation{Dc},val::Val{d}) where {Dc,d} if isnothing(ttrian.cell_values) - get_glue(ttrian.trian,val) + return get_glue(ttrian.trian,val) end if d != Dc return nothing