carlodev
carlodev
I don't know if this is completely correct. I looked also as `push_∇(∇a::Field,ϕ::Field) = pinvJt(∇(ϕ))⋅∇a`: ``` function push_∇∇(∇∇a::Field,ϕ::Field) s = pinvJt(∇(ϕ)) tr(s⋅s⋅∇∇a) end ```
Using the theta method I found out that cache.op.tθ is not updated at the second time step, while op.tθ it is; and easy fix that seems to work is: `...
I tested the PETScNonlinearSolver to solve the Poisson problem, precisely the one in the transient tutorial. I can't see any difference in comparing the solution with the Gridap internal NLSolver....
I added `cache.op = op` https://github.com/carlodev/GridapPETSc.jl/blob/2b345e3c3c51483139d04ad6581d9ccce3e23241/src/PETScNonlinearSolvers.jl#L162 While this is the test I made https://github.com/carlodev/GridapPETSc.jl/blob/810d2e392bf8aa0b78af7bba09e6bedf33b48630/test/Nonlinear_timedependentTests.jl
I would try to implement this feature. I was looking at the PSparseMatrix and PVector product. Do you have any suggestions on where I can start from? or reference to...
I have implemented the index set `IS` in my [fork.](https://github.com/carlodev/GridapPETSc.jl) You can take a look also at the simple [test.](https://github.com/carlodev/GridapPETSc.jl/blob/master/test/sequential/PETScIndexesTests.jl), it also works on [multi procs.](https://github.com/carlodev/GridapPETSc.jl/blob/master/test/IndexesTests.jl) . Now I am...