0.6.0
Loading...
Searching...
No Matches
mod_mof2d_minimization_reconstruction Module Reference

Functions/Subroutines

pure subroutine, public mof2d_symmetric_minimization_reconstruction (polygon, ref_centroid1, ref_centroid2, ref_volume1, ref_volume2, angle, normal, residual1, residual2, polygon1, polygon2)
 Find the MOF linear reconstruction in a convex cell using a minimization algorithm.
 
pure subroutine, public mof2d_minimization_reconstruction (polygon, ref_centroid, ref_volume, angle, normal, residual, polygon_full, polygon_empty)
 Find the MOF linear reconstruction in a convex cell using a minimization algorithm.
 
pure double precision function mof2d_symmetric_derivative (centroid1, centroid2, ref_centroid1, ref_centroid2, s0, s1, angle, ref_volume1, ref_volume2)
 Compute the derivative of the symmetric objective function(any coordinate system)
 
pure double precision function mof2d_derivative (centroid, ref_centroid, s0, s1, angle, ref_volume)
 Compute the derivative of the objective function(any coordinate system)
 
pure double precision function mof2d_cart_symmetric_derivative (centroid1, centroid2, ref_centroid1, ref_centroid2, s0, s1, angle, ref_volume1, ref_volume2)
 Compute the derivative of the symmetric objective function in Cartesian.
 
pure double precision function mof2d_cart_derivative (centroid, ref_centroid, s0, s1, angle, ref_volume)
 Compute the derivative of the objective function in Cartesian.
 
pure double precision function mof2d_axisym_derivative (centroid, ref_centroid, s0, s1, angle, ref_volume)
 Analytic derivative in axisymmetric.
 
pure double precision function mof2d_axisym_symmetric_derivative (centroid1, centroid2, ref_centroid1, ref_centroid2, s0, s1, angle, ref_volume1, ref_volume2)
 Analytic derivative in axisymmetric using symmetric reconstruction.
 
pure double precision function, dimension(2, 2) tensor_product (p1, p2)
 Tensor product of two vectors.
 

Variables

double precision, parameter tau = 4d0*acos(0d0)
 
double precision, parameter pi = 2d0*acos(0d0)
 
integer, parameter max_iter_zoom = 120
 
double precision, parameter tol_angle_low = 5d-2
 

Function/Subroutine Documentation

◆ mof2d_axisym_derivative()

pure double precision function mod_mof2d_minimization_reconstruction::mof2d_axisym_derivative ( double precision, dimension(2), intent(in) centroid,
double precision, dimension(2), intent(in) ref_centroid,
double precision, dimension(2), intent(in) s0,
double precision, dimension(2), intent(in) s1,
double precision, intent(in) angle,
double precision, intent(in) ref_volume )
private

Analytic derivative in axisymmetric.

Reference: Lemoine A. (2020) Analytic Gradient for the Moment-of-Fluid Method in Axisymmetric and on General Polyhedrons in Any Dimension

◆ mof2d_axisym_symmetric_derivative()

pure double precision function mod_mof2d_minimization_reconstruction::mof2d_axisym_symmetric_derivative ( double precision, dimension(2), intent(in) centroid1,
double precision, dimension(2), intent(in) centroid2,
double precision, dimension(2), intent(in) ref_centroid1,
double precision, dimension(2), intent(in) ref_centroid2,
double precision, dimension(2), intent(in) s0,
double precision, dimension(2), intent(in) s1,
double precision, intent(in) angle,
double precision, intent(in) ref_volume1,
double precision, intent(in) ref_volume2 )
private

Analytic derivative in axisymmetric using symmetric reconstruction.

Reference: Lemoine A. (2020) Analytic Gradient for the Moment-of-Fluid Method in Axisymmetric and on General Polyhedrons in Any Dimension

◆ mof2d_cart_derivative()

pure double precision function mod_mof2d_minimization_reconstruction::mof2d_cart_derivative ( double precision, dimension(2), intent(in) centroid,
double precision, dimension(2), intent(in) ref_centroid,
double precision, dimension(2), intent(in) s0,
double precision, dimension(2), intent(in) s1,
double precision, intent(in) angle,
double precision, intent(in) ref_volume )
private

Compute the derivative of the objective function in Cartesian.

◆ mof2d_cart_symmetric_derivative()

pure double precision function mod_mof2d_minimization_reconstruction::mof2d_cart_symmetric_derivative ( double precision, dimension(2), intent(in) centroid1,
double precision, dimension(2), intent(in) centroid2,
double precision, dimension(2), intent(in) ref_centroid1,
double precision, dimension(2), intent(in) ref_centroid2,
double precision, dimension(2), intent(in) s0,
double precision, dimension(2), intent(in) s1,
double precision, intent(in) angle,
double precision, intent(in) ref_volume1,
double precision, intent(in) ref_volume2 )
private

Compute the derivative of the symmetric objective function in Cartesian.

◆ mof2d_derivative()

pure double precision function mod_mof2d_minimization_reconstruction::mof2d_derivative ( double precision, dimension(2), intent(in) centroid,
double precision, dimension(2), intent(in) ref_centroid,
double precision, dimension(2), intent(in) s0,
double precision, dimension(2), intent(in) s1,
double precision, intent(in) angle,
double precision, intent(in) ref_volume )
private

Compute the derivative of the objective function(any coordinate system)

◆ mof2d_symmetric_derivative()

pure double precision function mod_mof2d_minimization_reconstruction::mof2d_symmetric_derivative ( double precision, dimension(2), intent(in) centroid1,
double precision, dimension(2), intent(in) centroid2,
double precision, dimension(2), intent(in) ref_centroid1,
double precision, dimension(2), intent(in) ref_centroid2,
double precision, dimension(2), intent(in) s0,
double precision, dimension(2), intent(in) s1,
double precision, intent(in) angle,
double precision, intent(in) ref_volume1,
double precision, intent(in) ref_volume2 )
private

Compute the derivative of the symmetric objective function(any coordinate system)

◆ tensor_product()

pure double precision function, dimension(2,2) mod_mof2d_minimization_reconstruction::tensor_product ( double precision, dimension(2), intent(in) p1,
double precision, dimension(2), intent(in) p2 )
private

Tensor product of two vectors.

Variable Documentation

◆ max_iter_zoom

integer, parameter mod_mof2d_minimization_reconstruction::max_iter_zoom = 120
private

◆ pi

double precision, parameter mod_mof2d_minimization_reconstruction::pi = 2d0*acos(0d0)
private

◆ tau

double precision, parameter mod_mof2d_minimization_reconstruction::tau = 4d0*acos(0d0)
private

◆ tol_angle_low

double precision, parameter mod_mof2d_minimization_reconstruction::tol_angle_low = 5d-2
private