All Classes Files Functions Variables Pages
mod_lagrange Module Reference

This module contains functions to compute Lagrange polynomials and its derivatives; and to interpolate \(x,y,z\)-variables at \(\xi,\eta,\zeta\)-coordinates.

Public Member Functions

real function, public lagrap (i, x, n)
 function to compute value of order \(n\) Lagrange polynomial of the GLL node i at abscissa \(x\): \( h_i(x) = \displaystyle\prod_{l=1,\, l\neq i}^{N_{GLL}} \frac{x-x_l}{x_i-x_l} \) More...
 
real function, public lagrap_geom (i, x, n)
 function to compute value of order \(n_g\) Lagrange polynomial of geometric node i at abscissa \(x\): \( h_i(x) = \displaystyle\prod_{l=1,\, l\neq i}^{n_{g}} \frac{x-x_l}{x_i-x_l} \) More...
 
real function, public lagrad (i, x, n)
 function to compute value of the derivative of order \(n\) Lagrange polynomial of GLL node i at abscissa \(x\): \( h'_{i}(x) = \displaystyle\sum^{N_{GLL}}_{j \ne i} \frac{1}{x_i - x_j} \displaystyle\prod^{N_{GLL}}_{k \ne i, k \ne j} \frac{x-x_k}{x_i - x_k} \) More...
 
real function, public lagrad_geom (i, x, n)
 function to compute value of the derivative of order \(n_g\) Lagrange polynomial of geometric node i at abscissa \(x\): \( h'_{i}(x) = \displaystyle\sum^{n_{g}}_{j \ne i} \frac{1}{x_i - x_j} \displaystyle\prod^{n_{g}}_{k \ne i, k \ne j} \frac{x-x_k}{x_i - x_k} \) More...
 
subroutine, public hexa_lagrange_interp (gll_values, lag, x, y, z)
 This subroutine interpolates GLL nodes \(x,y,z\)-values of a hexahedron element using Lagrange polynomials. More...
 
subroutine, public quad_lagrange_interp (gll_values, lag, x, y, z)
 This subroutine interpolates GLL nodes \(x,y,z\)-values of a quadrangle element using Lagrange polynomials. More...
 

Detailed Description

Definition at line 126 of file module_lagrange.f90.

Member Function/Subroutine Documentation

subroutine, public mod_lagrange::hexa_lagrange_interp ( real, dimension(ig_ndof,ig_ngll,ig_ngll,ig_ngll), intent(in)  gll_values,
real, dimension( ig_ngll,ig_ngll,ig_ngll), intent(in)  lag,
real, intent(out)  x,
real, intent(out)  y,
real, intent(out)  z 
)
Parameters
gll_values: GLL nodes \(x,y,z\)-values of a hexahedron element
lag: pre-computed values of Lagrange polynomials at location \(\xi,\eta,\zeta\) in a hexahedron element
x: interpolated \(x\)-values at location \(\xi,\eta,\zeta\)
y: interpolated \(y\)-values at location \(\xi,\eta,\zeta\)
z: interpolated \(z\)-values at location \(\xi,\eta,\zeta\)

Definition at line 314 of file module_lagrange.f90.

Referenced by mod_receiver::write_receiver_output().

real function, public mod_lagrange::lagrad ( integer, intent(in)  i,
real, intent(in)  x,
integer, intent(in)  n 
)
Parameters
x: abscissa where the derivative of Lagrange polynomial is computed
i: local position (i.e. node) in the reference domain [-1:1] where lagrange polynomial = 1 (0 at others nodes). Note: lagrange polynomial = 1 at i location but not its derivative.
n: number of GLL nodes in the reference domain [-1:1]

Definition at line 213 of file module_lagrange.f90.

Referenced by mod_source::compute_double_couple_source(), and mod_init_efi::init_gll_nodes().

real function, public mod_lagrange::lagrad_geom ( integer, intent(in)  i,
real, intent(in)  x,
integer, intent(in)  n 
)
Parameters
x: abscissa where the derivative of Lagrange polynomial is computed
i: local position (i.e. node) in the reference domain [-1:1] where lagrange polynomial = 1 (0 at others nodes). Note: lagrange polynomial = 1 at i location but not its derivative.
n: number of geometric nodes in the reference domain [-1:1]

Definition at line 262 of file module_lagrange.f90.

Referenced by mod_jacobian::compute_hexa_jacobian(), mod_jacobian::compute_quad_jacobian(), mod_init_efi::init_jacobian_matrix_hexa(), and mod_init_efi::init_jacobian_matrix_quad().

real function, public mod_lagrange::lagrap ( integer, intent(in)  i,
real, intent(in)  x,
integer, intent(in)  n 
)
Parameters
x: abscissa where Lagrange polynomial is computed
i: local position (i.e. node) in the reference domain [-1:1] where lagrange polynomial = 1 (0 at others nodes)
n: number of GLL nodes in the reference domain [-1:1] (see mod_global_variables::ig_ngll)

Definition at line 150 of file module_lagrange.f90.

Referenced by mod_source::compute_double_couple_source(), mod_receiver::compute_info_hexa_receiver(), and mod_receiver::compute_info_quad_receiver().

real function, public mod_lagrange::lagrap_geom ( integer, intent(in)  i,
real, intent(in)  x,
integer, intent(in)  n 
)
Parameters
x: abscissa where Lagrange polynomial is computed
i: local position (i.e. node) in the reference domain [-1:1] where lagrange polynomial = 1 (0 at others nodes)
n: number of geometric nodes in the reference domain [-1:1]

Definition at line 181 of file module_lagrange.f90.

Referenced by mod_jacobian::compute_hexa_jacobian(), mod_coordinate::compute_hexa_point_coord(), mod_jacobian::compute_quad_jacobian(), mod_coordinate::compute_quad_point_coord(), mod_coordinate::compute_quad_point_coord_z(), mod_init_efi::init_gll_nodes_coordinates(), mod_init_efi::init_jacobian_matrix_hexa(), and mod_init_efi::init_jacobian_matrix_quad().

subroutine, public mod_lagrange::quad_lagrange_interp ( real, dimension(ig_ndof,ig_ngll,ig_ngll), intent(in)  gll_values,
real, dimension( ig_ngll,ig_ngll), intent(in)  lag,
real, intent(out)  x,
real, intent(out)  y,
real, intent(out)  z 
)
Parameters
gll_values: GLL nodes \(x,y,z\)-values of a quadrangle element
lag: pre-computed values of Lagrange polynomials at a location \(\xi,\eta\) in a quadrangle element
x: \(x\)-value interpolation
y: \(y\)-value interpolation
z: \(z\)-value interpolation

Definition at line 365 of file module_lagrange.f90.

Referenced by mod_receiver::write_receiver_output(), and mod_snapshot_surface::write_snapshot_surface().


The documentation for this module was generated from the following file: