Skip to content

Commit

Permalink
Transient inversion: Introduced an example with gradient check,
Browse files Browse the repository at this point in the history
modifying the code to make the gradient check pass (by making it
consistent with discretize then differentiate strategy).

Added Hessian inversion with associated test case, and verified
that it converges as expected.

Also added code functionality to facilitate consistent gradient
inverse for time steppers beyond implicit Euler.

ref #42
  • Loading branch information
Murthy authored and Murthy committed Sep 13, 2022
1 parent fba1b6a commit c4b6a38
Show file tree
Hide file tree
Showing 16 changed files with 80,775 additions and 40,465 deletions.
4 changes: 4 additions & 0 deletions examples/simpleTransient/adjoint.i
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@
coord_y = src_values/coordy
time = src_values/time
value = src_values/values
time_shift_factor = 0.5
[]
[]

Expand All @@ -97,6 +98,9 @@
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[TimeIntegrator]
type = ImplicitEuler
[]
[]

[Outputs]
Expand Down
18 changes: 10 additions & 8 deletions examples/simpleTransient/forward.i
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,13 @@
[]
[]

[ICs]
[initial]
type = FunctionIC
variable = u
function = exact
[]
[]
#[ICs]
# [initial]
# type = FunctionIC
# variable = u
# function = exact
# []
#[]

[Kernels]
[dt]
Expand Down Expand Up @@ -76,10 +76,12 @@

num_steps = 100
end_time = 1

solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
[TimeIntegrator]
type = ImplicitEuler
[]
[]

[Reporters]
Expand Down
Loading

0 comments on commit c4b6a38

Please sign in to comment.