SIAM Journal on Scientific Computing · 2009 · 137 citations · 9 references
ComputingComputational EngineeringComputer ScienceAlgorithmsComputational Fluid DynamicsComputational PhysicsComputational DynamicsNumerical AlgorithmsTime IntegrationAdaptive CheckpointingAdaptive Time SteppingAdjoint FormulationAutomatic DifferentiationCheckpointingCheckpointsComputational Inverse ProblemsTime-dependent Systems
Adjoint equations of differential equations have seen widespread applications in optimization, inverse problems, and uncertainty quantification. A major challenge in solving adjoint equations for time dependent systems has been the need to use the solution of the original system in the adjoint calculation and the associated memory requirement. In applications where storing the entire solution history is impractical, checkpointing methods have frequently been used. However, traditional checkpointing algorithms such as revolve require a priori knowledge of the number of time steps, making these methods incompatible with adaptive time stepping. We propose a dynamic checkpointing algorithm applicable when the number of time steps is a priori unknown. Our algorithm maintains a specified number of checkpoints on the fly as time integration proceeds for an arbitrary number of time steps. The resulting checkpoints at any snapshot during the time integration have the optimal repetition number. The efficiency of our algorithm is demonstrated both analytically and experimentally in solving adjoint equations. This algorithm also has significant advantage in automatic differentiation when the length of execution is variable.
9
Aerodynamic design via control theory
Antony Jameson · Journal of Scientific Computing · 1988 · 1.9K citations · Full text
Andreas Griewank, Andrea Walther · ACM Transactions on Mathematical Software · 2000 · 483 citations · Full text