PISM, A Parallel Ice Sheet Model
stable v2.1.1 committed by Constantine Khrulev on 2024-12-04 13:36:58 -0900
|
Pseduo total variation functional. More...
#include <IPTotalVariationFunctional.hh>
Public Member Functions | |
IPTotalVariationFunctional2S (std::shared_ptr< const Grid > grid, double c, double q, double eps, array::Scalar *dirichletLocations=NULL) | |
virtual void | valueAt (array::Scalar &x, double *OUTPUT) |
Computes the value of the functional at the vector x. More... | |
virtual void | gradientAt (array::Scalar &x, array::Scalar &gradient) |
Computes the gradient of the functional at the vector x. More... | |
Public Member Functions inherited from pism::inverse::IPFunctional< array::Scalar > | |
IPFunctional (std::shared_ptr< const Grid > grid) | |
virtual | ~IPFunctional () |
Protected Attributes | |
array::Scalar * | m_dirichletIndices |
double | m_c |
double | m_lebesgue_exp |
double | m_epsilon_sq |
Protected Attributes inherited from pism::inverse::IPFunctional< array::Scalar > | |
std::shared_ptr< const Grid > | m_grid |
fem::ElementIterator | m_element_index |
fem::Q1Element2 | m_element |
Private Member Functions | |
IPTotalVariationFunctional2S (IPTotalVariationFunctional2S const &) | |
IPTotalVariationFunctional2S & | operator= (IPTotalVariationFunctional2S const &) |
Pseduo total variation functional.
\[ J(u) = c\int_\Omega (\epsilon^2+|\nabla u|^2)^{q/2} \]
The parameters \(c\), \(q\) and \(\epsilon\) are provided at construction. Taking \(q\)=1 would yield a total variation functional, save for the regularizing parameter \(\epsilon\).
Definition at line 34 of file IPTotalVariationFunctional.hh.