Green’s Functions¶
We will here describe the inheritance hierarchy for generating Green’s functions, in order to use and extend it properly. The runtime creation of Green’s functions objects relies on the Factory Method pattern [GHJV94][Ale01], implemented through the generic Factory class.
IGreensFunction¶
-
class
IGreensFunction
¶ Interface for Green’s function classes.
We define as Green’s function a function:
\[ G(\mathbf{r}, \mathbf{r}^\prime) : \mathbb{R}^6 \rightarrow \mathbb{R} \]Green’s functions and their directional derivatives appear as kernels of the \(\mathcal{S}\) and \(\mathcal{D}\) integral operators. Forming the matrix representation of these operators requires performing integrations over surface finite elements. Since these Green’s functions present a Coulombic divergence, the diagonal elements of the operators will diverge unless appropriately formulated. This is possible, but requires explicit access to the subtype of this abstract base object. This justifies the need for the singleLayer and doubleLayer functions. The code uses the Non-Virtual Interface (NVI) idiom.- Author
- Luca Frediani and Roberto Di Remigio
- Date
- 2012-2016
GreensFunction¶
-
class
GreensFunction
¶ Templated interface for Green’s functions.
- Author
- Luca Frediani and Roberto Di Remigio
- Date
- 2012-2016
- Template Parameters
DerivativeTraits
: evaluation strategy for the function and its derivativesProfilePolicy
: dielectric profile type
Vacuum¶
-
class
Vacuum
¶ Green’s function for vacuum.
- Author
- Luca Frediani and Roberto Di Remigio
- Date
- 2012-2016
- Template Parameters
DerivativeTraits
: evaluation strategy for the function and its derivatives
UniformDielectric¶
-
class
UniformDielectric
¶ Green’s function for uniform dielectric.
- Author
- Luca Frediani and Roberto Di Remigio
- Date
- 2012-2016
- Template Parameters
DerivativeTraits
: evaluation strategy for the function and its derivatives
IonicLiquid¶
-
class
IonicLiquid
¶ Green’s functions for ionic liquid, described by the linearized Poisson-Boltzmann equation.
- Author
- Luca Frediani, Roberto Di Remigio
- Date
- 2013-2016
- Template Parameters
DerivativeTraits
: evaluation strategy for the function and its derivatives
AnisotropicLiquid¶
-
class
AnisotropicLiquid
¶ Green’s functions for anisotropic liquid, described by a tensorial permittivity.
- Author
- Roberto Di Remigio
- Date
- 2016
- Template Parameters
DerivativeTraits
: evaluation strategy for the function and its derivatives
SphericalDiffuse¶
-
class
SphericalDiffuse
¶ Green’s function for a diffuse interface with spherical symmetry.
This class is general, in the sense that no specific dielectric profile has been set in its definition. In principle any profile that can be described by:
- a left-side dielectric constant;
- a right-side dielectric constant;
- an interface layer width;
- an interface layer center can be used to define a new diffuse interface with spherical symmetry. The origin of the dielectric sphere can be changed by means of the constructor. The solution of the differential equation defining the Green’s function is always** performed assuming that the dielectric sphere is centered in the origin of the coordinate system. Whenever the public methods are invoked to “sample” the Green’s function at a pair of points, a translation of the sampling points is performed first.
- Author
- Hui Cao, Ville Weijo, Luca Frediani and Roberto Di Remigio
- Date
- 2010-2015
- Template Parameters
ProfilePolicy
: functional form of the diffuse layer