Loading [MathJax]/extensions/tex2jax.js
PISM, A Parallel Ice Sheet Model 2.2.2-d6b3a29ca committed by Constantine Khrulev on 2025-03-28
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Attributes | List of all members
pism::inverse::IPDesignVariableParamTruncatedIdent Class Reference

A monotone non-negative parameterization \(\tau_c=\tau_{\rm scale}g(\zeta)\) that is approximately the identity away from small values of \(\tau_c\). More...

#include <IPDesignVariableParameterization.hh>

+ Inheritance diagram for pism::inverse::IPDesignVariableParamTruncatedIdent:

Public Member Functions

 IPDesignVariableParamTruncatedIdent ()
 
virtual ~IPDesignVariableParamTruncatedIdent ()
 
virtual void set_scales (const Config &config, const std::string &design_var_name)
 Initializes the scale parameters of the parameterization.
 
virtual void toDesignVariable (double p, double *value, double *derivative)
 Converts from parameterization value \(\zeta\) to \(d=g(\zeta)\).
 
virtual void fromDesignVariable (double d, double *OUTPUT)
 Converts from \(d\) to a parameterization value \(\zeta\) such that \(d=g(\zeta)\).

 
- Public Member Functions inherited from pism::inverse::IPDesignVariableParameterization
 IPDesignVariableParameterization ()
 
virtual ~IPDesignVariableParameterization ()
 
virtual void convertToDesignVariable (array::Scalar &zeta, array::Scalar &d, bool communicate=true)
 Transforms a vector of \(\zeta\) values to a vector of \(d\) values.
 
virtual void convertFromDesignVariable (array::Scalar &d, array::Scalar &zeta, bool communicate=true)
 Transforms a vector of \(d\) values to a vector of \(\zeta\) values.
 

Private Attributes

double m_d0_sq
 
double m_d_eps
 

Additional Inherited Members

- Protected Attributes inherited from pism::inverse::IPDesignVariableParameterization
double m_d_scale
 Value of \(d\) in PISM units that equals 1 for IPDesignVariableParameterization's units.
 

Detailed Description

A monotone non-negative parameterization \(\tau_c=\tau_{\rm scale}g(\zeta)\) that is approximately the identity away from small values of \(\tau_c\).

More specifically, \(g(\zeta)\rightarrow 0\) as \(\zeta\rightarrow-\infty\) and \(g(\zeta)\approx p\) for large values of \(\zeta\). The transition from a nonlinear to an approximately linear function occurs in the neighbourhood of the parameter \(d_0\).

Definition at line 141 of file IPDesignVariableParameterization.hh.


The documentation for this class was generated from the following files: