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

Functions/Subroutines

pure subroutine, public mof3d_compute_analytic_gradient (s_angles, ref_centroid1, ref_centroid2, ref_volume, c, objective, gradient)
 Compute the centroid and the gradient of the objective function in rectangular hexahedral cell.
 
pure subroutine, public mof3d_transform_angles_to_reference (transformation, orig_angles, ref_angles)
 Transform the spherical angles in the original configuration to the reference configuration.
 
pure subroutine, public mof3d_transform_angles_to_original (transformation, ref_angles, orig_angles)
 Transform the spherical angles in the reference configuration to the original configuration.
 
pure subroutine, public mof3d_compute_residual_analytic (s_angles, ref_centroid1, ref_centroid2, ref_volume, c, residual, jacobian)
 Compute the residual and its jacobian in a rectangular hexahedral cell.
 
pure subroutine mof3d_transform_to_local_chart (angles, t_angles, sign_permutation)
 
pure subroutine mof3d_transform_vector (sign_permutation, v, t_v)
 
pure subroutine mof3d_transform_point (sign_permutation, p, t_p)
 
pure subroutine mof3d_compute_analytic_derivatives_local (angles, volume, centroid, derivative)
 
pure subroutine mof3d_compute_analytic_derivatives_below_one_sixth (angles, volume, centroid, derivative)
 
pure subroutine mof3d_compute_analytic_derivatives_above_one_sixth (angles, volume, centroid, derivative)
 
pure subroutine mof3d_compute_analytic_derivatives_half (angles, volume, centroid, derivative)
 
pure subroutine mof3d_derivatives_triangle (trigo, volume, derivative_theta, derivative_phi, centroid)
 
pure subroutine mof3d_derivatives_quad_face_left (trigo, volume, derivative_theta, derivative_phi, centroid)
 
pure subroutine mof3d_derivatives_quad_face_right (trigo, volume, derivative_theta, derivative_phi, centroid)
 
pure subroutine mof3d_derivatives_quad_face_below (trigo, volume, derivative_theta, derivative_phi, centroid)
 
pure subroutine mof3d_derivatives_quad_edge_left (trigo, volume, derivative_theta, derivative_phi, centroid)
 
pure subroutine mof3d_derivatives_quad_edge_right (trigo, volume, derivative_theta, derivative_phi, centroid)
 
pure subroutine mof3d_derivatives_quad_edge_below (trigo, volume, derivative_theta, derivative_phi, centroid)
 
pure subroutine mof3d_derivatives_with_points (trigo, point, volume, derivative_theta, derivative_phi)
 
pure subroutine mof3d_derivatives_penta_left (trigo, volume, derivative_theta, derivative_phi, centroid)
 
pure subroutine mof3d_derivatives_penta_right (trigo, volume, derivative_theta, derivative_phi, centroid)
 
pure subroutine mof3d_derivatives_penta_below (trigo, volume, derivative_theta, derivative_phi, centroid)
 
pure subroutine mof3d_derivatives_hexa (trigo, volume, derivative_theta, derivative_phi, centroid)
 
double precision pure function modulo_tau (x)
 

Variables

double precision, parameter pi_4 = acos(0d0)/2d0
 
double precision, parameter pi_2 = acos(0d0)
 
double precision, parameter pi_3_4 = 3d0*acos(0d0)/2d0
 
double precision, parameter pi = 2d0*acos(0d0)
 
integer, parameter c_theta = 1
 
integer, parameter s_theta = 2
 
integer, parameter c_phi = 3
 
integer, parameter s_phi = 4
 

Function/Subroutine Documentation

◆ modulo_tau()

double precision pure function mod_mof3d_analytic_centroid::modulo_tau ( double precision, intent(in) x)
private

◆ mof3d_compute_analytic_derivatives_above_one_sixth()

pure subroutine mod_mof3d_analytic_centroid::mof3d_compute_analytic_derivatives_above_one_sixth ( double precision, dimension(2), intent(in) angles,
double precision, intent(in) volume,
double precision, dimension(3), intent(out) centroid,
double precision, dimension(3,2), intent(out) derivative )
private

◆ mof3d_compute_analytic_derivatives_below_one_sixth()

pure subroutine mod_mof3d_analytic_centroid::mof3d_compute_analytic_derivatives_below_one_sixth ( double precision, dimension(2), intent(in) angles,
double precision, intent(in) volume,
double precision, dimension(3), intent(out) centroid,
double precision, dimension(3,2), intent(out) derivative )
private

◆ mof3d_compute_analytic_derivatives_half()

pure subroutine mod_mof3d_analytic_centroid::mof3d_compute_analytic_derivatives_half ( double precision, dimension(2), intent(in) angles,
double precision, intent(in) volume,
double precision, dimension(3), intent(out) centroid,
double precision, dimension(3,2), intent(out) derivative )
private

◆ mof3d_compute_analytic_derivatives_local()

pure subroutine mod_mof3d_analytic_centroid::mof3d_compute_analytic_derivatives_local ( double precision, dimension(2), intent(in) angles,
double precision, intent(in) volume,
double precision, dimension(3), intent(out) centroid,
double precision, dimension(3,2), intent(out) derivative )
private

◆ mof3d_derivatives_hexa()

pure subroutine mod_mof3d_analytic_centroid::mof3d_derivatives_hexa ( double precision, dimension(4), intent(in) trigo,
double precision, intent(in) volume,
double precision, dimension(3), intent(out) derivative_theta,
double precision, dimension(3), intent(out) derivative_phi,
double precision, dimension(3), intent(out) centroid )
private

◆ mof3d_derivatives_penta_below()

pure subroutine mod_mof3d_analytic_centroid::mof3d_derivatives_penta_below ( double precision, dimension(4), intent(in) trigo,
double precision, intent(in) volume,
double precision, dimension(3), intent(out) derivative_theta,
double precision, dimension(3), intent(out) derivative_phi,
double precision, dimension(3), intent(out) centroid )
private

◆ mof3d_derivatives_penta_left()

pure subroutine mod_mof3d_analytic_centroid::mof3d_derivatives_penta_left ( double precision, dimension(4), intent(in) trigo,
double precision, intent(in) volume,
double precision, dimension(3), intent(out) derivative_theta,
double precision, dimension(3), intent(out) derivative_phi,
double precision, dimension(3), intent(out) centroid )
private

◆ mof3d_derivatives_penta_right()

pure subroutine mod_mof3d_analytic_centroid::mof3d_derivatives_penta_right ( double precision, dimension(4), intent(in) trigo,
double precision, intent(in) volume,
double precision, dimension(3), intent(out) derivative_theta,
double precision, dimension(3), intent(out) derivative_phi,
double precision, dimension(3), intent(out) centroid )
private

◆ mof3d_derivatives_quad_edge_below()

pure subroutine mod_mof3d_analytic_centroid::mof3d_derivatives_quad_edge_below ( double precision, dimension(4), intent(in) trigo,
double precision, intent(in) volume,
double precision, dimension(3), intent(out) derivative_theta,
double precision, dimension(3), intent(out) derivative_phi,
double precision, dimension(3), intent(out) centroid )
private

◆ mof3d_derivatives_quad_edge_left()

pure subroutine mod_mof3d_analytic_centroid::mof3d_derivatives_quad_edge_left ( double precision, dimension(4), intent(in) trigo,
double precision, intent(in) volume,
double precision, dimension(3), intent(out) derivative_theta,
double precision, dimension(3), intent(out) derivative_phi,
double precision, dimension(3), intent(out) centroid )
private

◆ mof3d_derivatives_quad_edge_right()

pure subroutine mod_mof3d_analytic_centroid::mof3d_derivatives_quad_edge_right ( double precision, dimension(4), intent(in) trigo,
double precision, intent(in) volume,
double precision, dimension(3), intent(out) derivative_theta,
double precision, dimension(3), intent(out) derivative_phi,
double precision, dimension(3), intent(out) centroid )
private

◆ mof3d_derivatives_quad_face_below()

pure subroutine mod_mof3d_analytic_centroid::mof3d_derivatives_quad_face_below ( double precision, dimension(4), intent(in) trigo,
double precision, intent(in) volume,
double precision, dimension(3), intent(out) derivative_theta,
double precision, dimension(3), intent(out) derivative_phi,
double precision, dimension(3), intent(out) centroid )
private

◆ mof3d_derivatives_quad_face_left()

pure subroutine mod_mof3d_analytic_centroid::mof3d_derivatives_quad_face_left ( double precision, dimension(4), intent(in) trigo,
double precision, intent(in) volume,
double precision, dimension(3), intent(out) derivative_theta,
double precision, dimension(3), intent(out) derivative_phi,
double precision, dimension(3), intent(out) centroid )
private

◆ mof3d_derivatives_quad_face_right()

pure subroutine mod_mof3d_analytic_centroid::mof3d_derivatives_quad_face_right ( double precision, dimension(4), intent(in) trigo,
double precision, intent(in) volume,
double precision, dimension(3), intent(out) derivative_theta,
double precision, dimension(3), intent(out) derivative_phi,
double precision, dimension(3), intent(out) centroid )
private

◆ mof3d_derivatives_triangle()

pure subroutine mod_mof3d_analytic_centroid::mof3d_derivatives_triangle ( double precision, dimension(4), intent(in) trigo,
double precision, intent(in) volume,
double precision, dimension(3), intent(out) derivative_theta,
double precision, dimension(3), intent(out) derivative_phi,
double precision, dimension(3), intent(out) centroid )
private

◆ mof3d_derivatives_with_points()

pure subroutine mod_mof3d_analytic_centroid::mof3d_derivatives_with_points ( double precision, dimension(4), intent(in) trigo,
double precision, dimension(:,:), intent(in) point,
double precision, intent(in) volume,
double precision, dimension(3), intent(out) derivative_theta,
double precision, dimension(3), intent(out) derivative_phi )
private

◆ mof3d_transform_point()

pure subroutine mod_mof3d_analytic_centroid::mof3d_transform_point ( integer, dimension(3), intent(in) sign_permutation,
double precision, dimension(3), intent(in) p,
double precision, dimension(3), intent(out) t_p )
private

◆ mof3d_transform_to_local_chart()

pure subroutine mod_mof3d_analytic_centroid::mof3d_transform_to_local_chart ( double precision, dimension(2), intent(in) angles,
double precision, dimension(2), intent(out) t_angles,
integer, dimension(3), intent(out) sign_permutation )
private

◆ mof3d_transform_vector()

pure subroutine mod_mof3d_analytic_centroid::mof3d_transform_vector ( integer, dimension(3), intent(in) sign_permutation,
double precision, dimension(3), intent(in) v,
double precision, dimension(3), intent(out) t_v )
private

Variable Documentation

◆ c_phi

integer, parameter mod_mof3d_analytic_centroid::c_phi = 3
private

◆ c_theta

integer, parameter mod_mof3d_analytic_centroid::c_theta = 1
private

◆ pi

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

◆ pi_2

double precision, parameter mod_mof3d_analytic_centroid::pi_2 = acos(0d0)
private

◆ pi_3_4

double precision, parameter mod_mof3d_analytic_centroid::pi_3_4 = 3d0*acos(0d0)/2d0
private

◆ pi_4

double precision, parameter mod_mof3d_analytic_centroid::pi_4 = acos(0d0)/2d0
private

◆ s_phi

integer, parameter mod_mof3d_analytic_centroid::s_phi = 4
private

◆ s_theta

integer, parameter mod_mof3d_analytic_centroid::s_theta = 2
private