From ae4e344ade3894049943eaaf47faa35945e03619 Mon Sep 17 00:00:00 2001 From: zjwegert <60646897+zjwegert@users.noreply.github.com> Date: Thu, 16 May 2024 06:50:53 +1000 Subject: [PATCH] Fix issue links --- docs/src/getting-started.md | 4 ++-- src/ChainRules.jl | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/src/getting-started.md b/docs/src/getting-started.md index 841ad21..87b48b5 100644 --- a/docs/src/getting-started.md +++ b/docs/src/getting-started.md @@ -38,5 +38,5 @@ More general tutorials for familiarising ones self with Gridap are available via ## Known issues - PETSc's GAMG preconditioner breaks for split Dirichlet DoFs (e.g., x constrained while y free for a single node). There is no simple fix for this. We recommend instead using MUMPS or another preconditioner for this case. -- Currently, our implementation of automatic differentiation does not support multiplication and division of optimisation functionals. We plan to add this in a future release of `GridapTopOpt.jl` -- Issue [#38](https://github.com/zjwegert/GridapTopOpt/issues/38). -- Analytic gradient breaks in parallel for integrals of certain measures -- Issue [#46](https://github.com/zjwegert/GridapTopOpt/issues/46) \ No newline at end of file +- Currently, our implementation of automatic differentiation does not support multiplication and division of optimisation functionals. We plan to add this in a future release of `GridapTopOpt.jl` -- Issue [#38](https://github.com/zjwegert/GridapTopOpt.jl/issues/38). +- Analytic gradient breaks in parallel for integrals of certain measures -- Issue [#46](https://github.com/zjwegert/GridapTopOpt.jl/issues/46) \ No newline at end of file diff --git a/src/ChainRules.jl b/src/ChainRules.jl index 1b3eb62..a37df18 100644 --- a/src/ChainRules.jl +++ b/src/ChainRules.jl @@ -50,7 +50,7 @@ function Gridap.gradient(F::IntegrandWithMeasure,uh::Vector,K::Int) local_measures = map(local_views,F.dΩ) |> to_parray_of_arrays contribs = map(local_measures,local_fields) do dΩ,lf # TODO: Remove second term below, this is a fix for the problem discussed in - # https://github.com/zjwegert/GridapTopOpt/issues/46 + # https://github.com/zjwegert/GridapTopOpt.jl/issues/46 _f = u -> F.F(lf[1:K-1]...,u,lf[K+1:end]...,dΩ...) #+ ∑(∫(0)dΩ[i] for i = 1:length(dΩ)) return Gridap.Fields.gradient(_f,lf[K]) end @@ -585,7 +585,7 @@ struct NonlinearFEStateMap{A,B,C,D,E,F} <: AbstractFEStateMap res = IntegrandWithMeasure(res,dΩ) if isnothing(jac) jacf = (u,du,v,φh) -> jacobian(res,[u,v,φh],1) - else + else jacf = (u,du,v,φh) -> jac(u,du,v,φh,dΩ...) end spaces = (U,V,V_φ,U_reg)