All, Currently our adjoints framework assembles the discrete adjoint problem by transposing the matrix representing the discrete forward problem. This is simple and works as long as we have (or only desire) the discrete adjoint for an adjoint consistent formulation. Of course, this might not be the case for all problems.
In particular, while computing boundary QoIs that are ill-posed due to regularity issues, one might want to follow the approach described in a paper by Giles, Larson et al. Here one imposes a Dirichlet bc for the adjoint problem on the boundary in question, modifying the trial space. This ensures that we are solving a well posed adjoint problem. One way of extending the current framework to include such adjoint formulations would be to have the user specify a side_qoi_constraint along the lines of side_qoi_derivative and side_constraint. The user would specify the stiffness matrix entries (penalty terms) for the Dirichlet bc in side_qoi_residual and the corresponding residual term in side_qoi_derivative. We can then include side_qoi_constraint in the assembly before solving the adjoint. Does this sound reasonable ? Of course any other ideas are welcome. Thanks. -- Vikram Garg PhD Candidate Institute for Computational and Engineering Sciences The University of Texas at Austin http://users.ices.utexas.edu/~vikram/ http://www.runforindia.org/runners/vikramg ------------------------------------------------------------------------------ The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb _______________________________________________ Libmesh-devel mailing list Libmesh-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-devel