This software automatically derives the discrete adjoint and tangent linear models from a forward model written in the python interface to the DOLFIN environment.
Dolfin-adjoint has moved to bitbucket: https:/
Our approach to automated adjoint derivation relies on run-time annotation of the temporal structure of the model, and employs the same finite element form compiler to automatically generate the low-level code for the derived models. The approach requires only trivial changes to a large class of forward models, including complicated time-dependent nonlinear models.
The adjoint model automatically employs optimal checkpointing schemes to mitigate storage requirements for nonlinear models, without any user management or intervention. Furthermore, both the tangent linear and adjoint models naturally work in parallel, without any need to differentiate through calls to MPI or to parse OpenMP directives.
For more details, and for user documentation, see http://
View full history Series and milestones
trunk series is the current focus of development.
All code Code
- Version control system:
- Bazaar
- Programming languages:
- Python
All questions Latest questions
-
Evaluate forward model state variables during optimization.
Posted -
Accessing Tape
Posted -
set the a list steady function or expression in the ReducedFunctional parameters
Posted -
Multiple tangent linear evaluations
Posted -
Can dolfin-adjoint calculate the gradient of the cost with respect to mesh po...
Posted
All bugs Latest bugs reported
-
Bug #1647380: dolfin_adjoint import fails due to missing libadjoint.exceptions
Reported -
Bug #1502877: AttributeError: type object 'LocalSolver' has no attribute 'LU'
Reported -
Bug #1277090: Cannot create a Function with firedrake-adjoint when using a MixedFunctionSpace
Reported -
Bug #1274939: dolfin adjoint crash in adjlinalg.py::wrap_assemble due to incorrectly handled RuntimeError
Reported -
Bug #1204884: compute_gradient yields wrong results for multiple parameters
Reported
All blueprints Latest blueprints
-
Making calls to adj_inc_timestep automatic when new time value is assigned to a special time constant
Registered -
Usability thoughts
Registered -
A better abstraction for parameters
Registered -
Clean up the dolfin-adjoint API
Registered