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

Functions/Subroutines

pure subroutine, public mof3d_compute_objective_function (centroid, ref_volume, ref_centroid1, ref_centroid2, cell_volume, cell_centroid, objective)
 
pure subroutine, public mof3d_compute_gradient (polyhedron, cell_volume, cell_centroid, angles, ref_volume, ref_centroid1, ref_centroid2, use_analytic, objective, gradient)
 Compute the gradient of the objective function of MOF.
 
pure subroutine, public mof3d_compute_residual (polyhedron, cell_volume, cell_centroid, angles, ref_volume, ref_centroid1, ref_centroid2, use_analytic, residual, jacobian)
 Compute the residual of MOF and its jacobian.
 
pure subroutine compute_residual_geometric (polyhedron, cell_volume, cell_centroid, angles, ref_volume, ref_centroid1, ref_centroid2, residual, jacobian)
 Compute the residual and the jacobian using geometric approaches.
 
pure subroutine compute_residual_finite_differences (polyhedron, cell_volume, cell_centroid, angles, ref_volume, centroid, ref_centroid1, ref_centroid2, residual, jacobian)
 
pure subroutine compute_residual_analytic (polygon, cell_volume, cell_centroid, angles, ref_volume, centroid, ref_centroid1, ref_centroid2, residual, jacobian)
 
pure double precision function, dimension(3, 3) kronecker_product (u, v)
 

Function/Subroutine Documentation

◆ compute_residual_analytic()

pure subroutine mod_mof3d_gradient::compute_residual_analytic ( type(t_chained_polygon), intent(in) polygon,
double precision, intent(in) cell_volume,
double precision, dimension(3), intent(in) cell_centroid,
double precision, dimension(2), intent(in) angles,
double precision, intent(in) ref_volume,
double precision, dimension(3), intent(in) centroid,
double precision, dimension(3), intent(in) ref_centroid1,
double precision, dimension(3), intent(in) ref_centroid2,
double precision, dimension(:), intent(out) residual,
double precision, dimension(:,:), intent(out) jacobian )
private

◆ compute_residual_finite_differences()

pure subroutine mod_mof3d_gradient::compute_residual_finite_differences ( type(t_polyhedron), intent(in) polyhedron,
double precision, intent(in) cell_volume,
double precision, dimension(3), intent(in) cell_centroid,
double precision, dimension(2), intent(in) angles,
double precision, intent(in) ref_volume,
double precision, dimension(3), intent(in) centroid,
double precision, dimension(3), intent(in) ref_centroid1,
double precision, dimension(3), intent(in) ref_centroid2,
double precision, dimension(:), intent(out) residual,
double precision, dimension(:,:), intent(out) jacobian )
private

◆ kronecker_product()

pure double precision function, dimension(3,3) mod_mof3d_gradient::kronecker_product ( double precision, dimension(3), intent(in) u,
double precision, dimension(3), intent(in) v )
private

◆ mof3d_compute_objective_function()

pure subroutine, public mod_mof3d_gradient::mof3d_compute_objective_function ( double precision, dimension(3), intent(in) centroid,
double precision, intent(in) ref_volume,
double precision, dimension(3), intent(in) ref_centroid1,
double precision, dimension(3), intent(in) ref_centroid2,
double precision, intent(in) cell_volume,
double precision, dimension(3), intent(in) cell_centroid,
double precision, intent(out) objective )