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

Functions/Subroutines

subroutine, public mof2d_one_cell_reconstruction (cell, ref_volume, ref_centroid, polygon_list, best_cost)
 Reconstruct the optimal location of the materials in one cell.
 
recursive subroutine mof2d_top_level_reconstruction (cell, set, depth, ref_volume, ref_centroid, polygon_list, prefix_cost, best_cost, is_best_found)
 
recursive subroutine mof2d_nested_reconstruction (cell, prefix, set, depth, ref_volume, ref_centroid, polygon_list, prefix_cost, best_cost, is_best_found)
 
recursive subroutine mof2d_clustered_reconstruction (cell, set, depth, ref_volume, ref_centroid, polygon_list, prefix_cost, best_cost)
 
recursive subroutine mof2d_clustered_reconstruction_forward (cell, set, code, m, n, depth, ref_volume, ref_centroid, polygon_list, prefix_cost, best_cost)
 
recursive subroutine mof2d_clustered_reconstruction_backward (cell, set, code, m, n, depth, ref_volume, ref_centroid, polygon_list, prefix_cost, best_cost)
 
recursive subroutine mof2d_generate_partition_for_reconstruction (cell, set, code, depth, ref_volume, ref_centroid, polygon_list, prefix_cost, best_cost)
 
subroutine mof2d_one_material_reconstruction (cell, depth, ref_volume, ref_centroid, cost1, cost2, polygon1, polygon2)
 
subroutine mof2d_two_material_reconstruction (cell, depth, ref_volume, ref_centroid, prefix_cost, best_cost, is_best_found, polygon1, polygon2)
 
subroutine mof2d_symmetric_reconstruction (cell, cell_centroid, ref_centroid1, ref_centroid2, ref_volume1, ref_volume2, normal, residual1, residual2, polygon1, polygon2)
 
subroutine mof2d_reconstruction (cell, cell_centroid, ref_centroid, ref_volume, normal, residual, polygon1, polygon2)
 
subroutine mof2d_compute_initial_angle (cell_centroid, ref_centroid, angle)
 
subroutine mof2d_compute_initial_angle_symmetric (cell_centroid, ref_centroid1, ref_centroid2, angle)
 

Variables

logical is_analytic_method_enabled = .false.
 

Function/Subroutine Documentation

◆ mof2d_clustered_reconstruction()

recursive subroutine mod_mof2d_one_cell_reconstruction::mof2d_clustered_reconstruction ( type(t_polygon), intent(in) cell,
integer, dimension(:), intent(in) set,
integer, intent(in) depth,
double precision, dimension(:), intent(in) ref_volume,
double precision, dimension(:,:), intent(in) ref_centroid,
type(t_polygon), dimension(:), intent(inout) polygon_list,
double precision, intent(in) prefix_cost,
double precision, intent(inout) best_cost )
private

◆ mof2d_clustered_reconstruction_backward()

recursive subroutine mod_mof2d_one_cell_reconstruction::mof2d_clustered_reconstruction_backward ( type(t_polygon), intent(in) cell,
integer, dimension(:), intent(in) set,
integer, dimension(:), intent(inout) code,
integer, intent(in) m,
integer, intent(in) n,
integer, intent(in) depth,
double precision, dimension(:), intent(in) ref_volume,
double precision, dimension(:,:), intent(in) ref_centroid,
type(t_polygon), dimension(:), intent(inout) polygon_list,
double precision, intent(in) prefix_cost,
double precision, intent(inout) best_cost )
private

◆ mof2d_clustered_reconstruction_forward()

recursive subroutine mod_mof2d_one_cell_reconstruction::mof2d_clustered_reconstruction_forward ( type(t_polygon), intent(in) cell,
integer, dimension(:), intent(in) set,
integer, dimension(:), intent(inout) code,
integer, intent(in) m,
integer, intent(in) n,
integer, intent(in) depth,
double precision, dimension(:), intent(in) ref_volume,
double precision, dimension(:,:), intent(in) ref_centroid,
type(t_polygon), dimension(:), intent(inout) polygon_list,
double precision, intent(in) prefix_cost,
double precision, intent(inout) best_cost )
private

◆ mof2d_compute_initial_angle()

subroutine mod_mof2d_one_cell_reconstruction::mof2d_compute_initial_angle ( double precision, dimension(2), intent(in) cell_centroid,
double precision, dimension(2), intent(in) ref_centroid,
double precision, intent(out) angle )
private

◆ mof2d_compute_initial_angle_symmetric()

subroutine mod_mof2d_one_cell_reconstruction::mof2d_compute_initial_angle_symmetric ( double precision, dimension(2), intent(in) cell_centroid,
double precision, dimension(2), intent(in) ref_centroid1,
double precision, dimension(2), intent(in) ref_centroid2,
double precision, intent(out) angle )
private

◆ mof2d_generate_partition_for_reconstruction()

recursive subroutine mod_mof2d_one_cell_reconstruction::mof2d_generate_partition_for_reconstruction ( type(t_polygon), intent(in) cell,
integer, dimension(:), intent(in) set,
integer, dimension(:), intent(inout) code,
integer, intent(in) depth,
double precision, dimension(:), intent(in) ref_volume,
double precision, dimension(:,:), intent(in) ref_centroid,
type(t_polygon), dimension(:), intent(inout) polygon_list,
double precision, intent(in) prefix_cost,
double precision, intent(inout) best_cost )
private

◆ mof2d_nested_reconstruction()

recursive subroutine mod_mof2d_one_cell_reconstruction::mof2d_nested_reconstruction ( type(t_polygon), intent(in) cell,
integer, dimension(:), intent(in) prefix,
integer, dimension(:), intent(in) set,
integer, intent(in) depth,
double precision, dimension(:), intent(in) ref_volume,
double precision, dimension(:,:), intent(in) ref_centroid,
type(t_polygon), dimension(:), intent(inout) polygon_list,
double precision, intent(in) prefix_cost,
double precision, intent(inout) best_cost,
logical, intent(out) is_best_found )
private

◆ mof2d_one_material_reconstruction()

subroutine mod_mof2d_one_cell_reconstruction::mof2d_one_material_reconstruction ( type(t_polygon), intent(in) cell,
integer, intent(in) depth,
double precision, dimension(2), intent(in) ref_volume,
double precision, dimension(2,2), intent(in) ref_centroid,
double precision, intent(out) cost1,
double precision, intent(out) cost2,
type(t_polygon), intent(out) polygon1,
type(t_polygon), intent(out) polygon2 )
private

◆ mof2d_reconstruction()

subroutine mod_mof2d_one_cell_reconstruction::mof2d_reconstruction ( type(t_polygon), intent(in) cell,
double precision, dimension(2), intent(in) cell_centroid,
double precision, dimension(2), intent(in) ref_centroid,
double precision, intent(in) ref_volume,
double precision, dimension(2), intent(out) normal,
double precision, intent(out) residual,
type(t_polygon), intent(out) polygon1,
type(t_polygon), intent(out) polygon2 )
private

◆ mof2d_symmetric_reconstruction()

subroutine mod_mof2d_one_cell_reconstruction::mof2d_symmetric_reconstruction ( type(t_polygon), intent(in) cell,
double precision, dimension(2), intent(in) cell_centroid,
double precision, dimension(2), intent(in) ref_centroid1,
double precision, dimension(2), intent(in) ref_centroid2,
double precision, intent(in) ref_volume1,
double precision, intent(in) ref_volume2,
double precision, dimension(2), intent(out) normal,
double precision, intent(out) residual1,
double precision, intent(out) residual2,
type(t_polygon), intent(out) polygon1,
type(t_polygon), intent(out) polygon2 )
private

◆ mof2d_top_level_reconstruction()

recursive subroutine mod_mof2d_one_cell_reconstruction::mof2d_top_level_reconstruction ( type(t_polygon), intent(in) cell,
integer, dimension(:), intent(in) set,
integer, intent(in) depth,
double precision, dimension(:), intent(in) ref_volume,
double precision, dimension(:,:), intent(in) ref_centroid,
type(t_polygon), dimension(:), intent(inout) polygon_list,
double precision, intent(in) prefix_cost,
double precision, intent(inout) best_cost,
logical, intent(out) is_best_found )
private

◆ mof2d_two_material_reconstruction()

subroutine mod_mof2d_one_cell_reconstruction::mof2d_two_material_reconstruction ( type(t_polygon), intent(in) cell,
integer, intent(in) depth,
double precision, dimension(2), intent(in) ref_volume,
double precision, dimension(2,2), intent(in) ref_centroid,
double precision, intent(in) prefix_cost,
double precision, intent(inout) best_cost,
logical, intent(out) is_best_found,
type(t_polygon), intent(out) polygon1,
type(t_polygon), intent(out) polygon2 )
private

Variable Documentation

◆ is_analytic_method_enabled

logical mod_mof2d_one_cell_reconstruction::is_analytic_method_enabled = .false.
private