snompy.fdm.eff_pol#

fdm.eff_pol(sample, z_tip=None, r_tip=None, L_tip=None, g_factor=None, d_Q0=None, d_Q1=None, d_Qa=None, n_lag=None, method=None)#

Return the effective probe-sample polarizability using the finite dipole model.

Parameters:
samplesnompy.sample.Sample

Object representing a layered sample with a semi-infinite substrate and superstrate.

z_tipfloat

Height of the tip above the sample.

r_tipfloat

Radius of curvature of the AFM tip.

L_tipfloat

Semi-major axis length of the effective spheroid from the finite dipole model.

g_factorcomplex

A dimensionless approximation relating the magnitude of charge induced in the AFM tip to the magnitude of the nearby charge which induced it. A small imaginary component can be used to account for phase shifts caused by the capacitive interaction of the tip and sample.

d_Q0float

Depth of an induced charge 0 within the tip. Specified in units of the tip radius.

d_Q1float

Depth of an induced charge 1 within the tip. Specified in units of the tip radius.

d_Qafloat

Depth of a single representative charge within the tip. Specified in units of the tip radius. Used by the “Q_ave” implementation of the finite dipole model to calculate the effective quasistatic reflection coefficient for the tip.

n_lagint

The order of the Gauss-Laguerre integration used by the “multi” and “Q_ave” methods.

method{“bulk”, “multi”, “Q_ave”}

The method of the finite dipole model to use. See Notes for the description of each method. Defaults to “bulk” for bulk samples and “multi” otherwise.

Returns:
alpha_effcomplex

Effective polarizability of the tip and sample.

See also

eff_pol_n

This function demodulated at chosen harmonics of the tapping frequency.

Notes

This function implements the equation

\[\alpha_{eff} = 1 + \frac{\beta_0 f_0}{2 (1 - \beta_1 f_1)}\]

where \(\alpha_{eff}\) is alpha_eff.

The definitions of \(\beta_j\) and \(f_j\) depend on the FDM method used, and are described below.

Method “bulk” is the bulk Hauer method given in reference [1]. Here, \(\beta_0 = \beta_1 = \beta\), the momentum independent quasistatic reflection coefficient of the sample, which is calculated from snompy.sample.Sample.refl_coef_qs() (with argument q = 0). \(f_j\) is given by geom_func(), with arguments z_tip, d_Q0 or d_Q1 (for the numerator or denominator), r_tip, L_tip, and g_factor.

Method “multi” is the multilayer Hauer method given in reference [1]. Here, \(\beta_j\), is the relative charge of an image of charge \(Q_j\) below the sample at depth \(d_{Q_j'}\) below the surface. \(\beta_j\) and \(d_{Q_j'}\) are calculated from snompy.sample.Sample.image_depth_and_charge(). \(f_j\) is given by geom_func_multi(), with arguments z_tip, d_image (\(d_{Q_j'}\)), r_tip, L_tip, and g_factor.

Method “Q_ave” is the charge average method described by Mester et al. in reference [2]. Here \(\beta_0 = \beta_1 = \overline{\beta}\), the effective reflection coefficient for a test charge \(Q_a\), evaluated at the position of the charge itself, which is calculated from snompy.sample.Sample.refl_coef_qs_above_surf(). The definition of \(f_j\) is the same as for the bulk Hauer method.

References

[1] (1,2)

B. Hauer, A. P. Engelhardt, and T. Taubner, “Quasi-analytical model for scattering infrared near-field microscopy on layered systems,” Opt. Express, vol. 20, no. 12, p. 13173, Jun. 2012, doi: 10.1364/OE.20.013173.

[2]

L. Mester, A. A. Govyadinov, S. Chen, M. Goikoetxea, and R. Hillenbrand, “Subsurface chemical nanoidentification by nano-FTIR spectroscopy,” Nat. Commun., vol. 11, no. 1, p. 3359, Dec. 2020, doi: 10.1038/s41467-020-17034-6.