Afivo  0.3
Data Types | Functions/Subroutines | Variables
m_gaussians Module Reference

This module can be used to construct solutions consisting of one or more Gaussians. More...

Data Types

type  gauss_t
 A type to store a collection of gaussians in. More...
 

Functions/Subroutines

subroutine, public gauss_init (gs, amplitudes, sigmas, locations)
 Initialize a structure with parameters. More...
 
real(dp) function, public gauss_value (gs, r)
 Return the value of the sum of gaussians at r. More...
 
real(dp) function gauss_single (gs, r, ix)
 Return the value of a single gaussian at r. More...
 
subroutine, public gauss_gradient (gs, r, grad)
 
real(dp) function, public gauss_laplacian (gs, r)
 Summed Laplacian of the gaussians in Cartesian coordinates. More...
 
real(dp) function, public gauss_laplacian_cyl (gs, r)
 Summed Laplacian of the gaussians in (r,z) coordinates. More...
 
real(dp) function, public gauss_4th (gs, r)
 Fourth derivative of the gaussians in Cartesian coordinates. More...
 

Variables

integer, parameter dp = kind(0.0d0)
 

Detailed Description

This module can be used to construct solutions consisting of one or more Gaussians.

Function/Subroutine Documentation

◆ gauss_init()

subroutine, public m_gaussians::gauss_init ( type(gauss_t), intent(inout)  gs,
real(dp), dimension(:), intent(in)  amplitudes,
real(dp), dimension(:), intent(in)  sigmas,
real(dp), dimension(:,:), intent(in)  locations 
)

Initialize a structure with parameters.

Parameters
[in,out]gsType storing the gaussians
[in]amplitudesTheir amplitudes
[in]sigmasTheir widths
[in]locationsTheir locations

Definition at line 30 of file m_gaussians.f90.

◆ gauss_value()

real(dp) function, public m_gaussians::gauss_value ( type(gauss_t), intent(in)  gs,
real(dp), dimension(gs%n_dim), intent(in)  r 
)

Return the value of the sum of gaussians at r.

Definition at line 54 of file m_gaussians.f90.

◆ gauss_single()

real(dp) function m_gaussians::gauss_single ( type(gauss_t), intent(in)  gs,
real(dp), dimension(gs%n_dim), intent(in)  r,
integer, intent(in)  ix 
)
private

Return the value of a single gaussian at r.

Definition at line 66 of file m_gaussians.f90.

◆ gauss_gradient()

subroutine, public m_gaussians::gauss_gradient ( type(gauss_t), intent(in)  gs,
real(dp), dimension(gs%n_dim), intent(in)  r,
real(dp), dimension(gs%n_dim), intent(out)  grad 
)

Definition at line 76 of file m_gaussians.f90.

◆ gauss_laplacian()

real(dp) function, public m_gaussians::gauss_laplacian ( type(gauss_t), intent(in)  gs,
real(dp), dimension(gs%n_dim), intent(in)  r 
)

Summed Laplacian of the gaussians in Cartesian coordinates.

Definition at line 92 of file m_gaussians.f90.

◆ gauss_laplacian_cyl()

real(dp) function, public m_gaussians::gauss_laplacian_cyl ( type(gauss_t), intent(in)  gs,
real(dp), dimension(gs%n_dim), intent(in)  r 
)

Summed Laplacian of the gaussians in (r,z) coordinates.

Definition at line 107 of file m_gaussians.f90.

◆ gauss_4th()

real(dp) function, public m_gaussians::gauss_4th ( type(gauss_t), intent(in)  gs,
real(dp), dimension(gs%n_dim), intent(in)  r 
)

Fourth derivative of the gaussians in Cartesian coordinates.

Definition at line 123 of file m_gaussians.f90.

Variable Documentation

◆ dp

integer, parameter m_gaussians::dp = kind(0.0d0)
private

Definition at line 8 of file m_gaussians.f90.