classes_rotated_orientations Module

module~~classes_rotated_orientations~~UsesGraph module~classes_rotated_orientations classes_rotated_orientations module~classes_component_coordinates classes_component_coordinates module~classes_component_coordinates->module~classes_rotated_orientations module~classes_moved_coordinates classes_moved_coordinates module~classes_moved_coordinates->module~classes_rotated_orientations module~procedures_checks procedures_checks module~procedures_checks->module~classes_rotated_orientations module~procedures_checks->module~classes_component_coordinates module~procedures_random_number procedures_random_number module~procedures_checks->module~procedures_random_number module~procedures_coordinates_micro procedures_coordinates_micro module~procedures_checks->module~procedures_coordinates_micro module~classes_periodic_box classes_periodic_box module~procedures_checks->module~classes_periodic_box module~module_move_tuning module_move_tuning module~module_move_tuning->module~classes_rotated_orientations iso_fortran_env iso_fortran_env iso_fortran_env->module~classes_rotated_orientations iso_fortran_env->module~classes_component_coordinates iso_fortran_env->module~classes_moved_coordinates iso_fortran_env->module~procedures_checks iso_fortran_env->module~module_move_tuning module~data_constants data_constants iso_fortran_env->module~data_constants iso_fortran_env->module~procedures_random_number module~classes_coordinates classes_coordinates iso_fortran_env->module~classes_coordinates iso_fortran_env->module~procedures_coordinates_micro module~procedures_errors procedures_errors iso_fortran_env->module~procedures_errors iso_fortran_env->module~classes_periodic_box module~classes_number_to_string classes_number_to_string iso_fortran_env->module~classes_number_to_string module~types_potential_domain types_potential_domain iso_fortran_env->module~types_potential_domain module~data_constants->module~classes_rotated_orientations module~data_constants->module~classes_component_coordinates module~data_constants->module~classes_moved_coordinates module~data_constants->module~procedures_checks module~data_constants->module~procedures_random_number module~data_constants->module~classes_coordinates module~data_constants->module~procedures_coordinates_micro module~data_constants->module~classes_periodic_box module~procedures_random_number->module~classes_rotated_orientations module~classes_num_particles classes_num_particles module~classes_num_particles->module~classes_component_coordinates module~classes_coordinates->module~classes_component_coordinates module~procedures_coordinates_micro->module~classes_component_coordinates module~procedures_errors->module~classes_component_coordinates module~procedures_errors->module~procedures_checks module~procedures_errors->module~module_move_tuning module~procedures_errors->module~classes_num_particles module~procedures_errors->module~procedures_coordinates_micro module~procedures_errors->module~classes_periodic_box module~classes_periodic_box->module~classes_component_coordinates module~data_strings data_strings module~data_strings->module~procedures_coordinates_micro module~data_strings->module~classes_number_to_string module~classes_tunable_move classes_tunable_move module~classes_tunable_move->module~classes_moved_coordinates module~classes_number_to_string->module~procedures_checks module~types_potential_domain->module~procedures_checks module~types_potential_domain_selector types_potential_domain_selector module~types_potential_domain_selector->module~procedures_checks
Help

Used By

module~~classes_rotated_orientations~~UsedByGraph module~classes_rotated_orientations classes_rotated_orientations module~procedures_moved_coordinates_factory procedures_moved_coordinates_factory module~classes_rotated_orientations->module~procedures_moved_coordinates_factory module~procedures_mixture_inquirers procedures_mixture_inquirers module~classes_rotated_orientations->module~procedures_mixture_inquirers module~procedures_changes_component_factory procedures_changes_component_factory module~procedures_moved_coordinates_factory->module~procedures_changes_component_factory module~procedures_mixture_inquirers->module~procedures_moved_coordinates_factory module~procedures_changes_success_writer_factory procedures_changes_success_writer_factory module~procedures_mixture_inquirers->module~procedures_changes_success_writer_factory program~radial radial module~procedures_mixture_inquirers->program~radial module~procedures_component_coordinates_reader_factory procedures_component_coordinates_reader_factory module~procedures_mixture_inquirers->module~procedures_component_coordinates_reader_factory module~procedures_radial_explorer_factory procedures_radial_explorer_factory module~procedures_mixture_inquirers->module~procedures_radial_explorer_factory program~density density module~procedures_mixture_inquirers->program~density module~procedures_changes_properties procedures_changes_properties module~procedures_mixture_inquirers->module~procedures_changes_properties module~procedures_complete_coordinates_writer_factory procedures_complete_coordinates_writer_factory module~procedures_mixture_inquirers->module~procedures_complete_coordinates_writer_factory module~procedures_rectangle_writer_factory procedures_rectangle_writer_factory module~procedures_mixture_inquirers->module~procedures_rectangle_writer_factory module~procedures_mixture_properties procedures_mixture_properties module~procedures_mixture_inquirers->module~procedures_mixture_properties module~procedures_move_tuner_factory procedures_move_tuner_factory module~procedures_mixture_inquirers->module~procedures_move_tuner_factory module~procedures_component_coordinates_writer_factory procedures_component_coordinates_writer_factory module~procedures_mixture_inquirers->module~procedures_component_coordinates_writer_factory module~procedures_mixture_total_moments_factory procedures_mixture_total_moments_factory module~procedures_mixture_inquirers->module~procedures_mixture_total_moments_factory module~procedures_component_factory procedures_component_factory module~procedures_mixture_inquirers->module~procedures_component_factory module~procedures_line_writer_factory procedures_line_writer_factory module~procedures_mixture_inquirers->module~procedures_line_writer_factory module~procedures_changes_factory procedures_changes_factory module~procedures_changes_component_factory->module~procedures_changes_factory module~procedures_markov_chain_generator_factory procedures_markov_chain_generator_factory module~procedures_changes_factory->module~procedures_markov_chain_generator_factory module~procedures_generating_writers_factory procedures_generating_writers_factory module~procedures_changes_success_writer_factory->module~procedures_generating_writers_factory module~classes_complete_coordinates_reader classes_complete_coordinates_reader module~procedures_component_coordinates_reader_factory->module~classes_complete_coordinates_reader module~procedures_complete_coordinates_reader_factory procedures_complete_coordinates_reader_factory module~procedures_component_coordinates_reader_factory->module~procedures_complete_coordinates_reader_factory module~procedures_radial_explorer_factory->program~radial module~procedures_changes_properties->module~procedures_generating_writers_factory module~procedures_box_particles_swap_factory procedures_box_particles_swap_factory module~procedures_changes_properties->module~procedures_box_particles_swap_factory module~procedures_boxes_particle_teleportation_factory procedures_boxes_particle_teleportation_factory module~procedures_changes_properties->module~procedures_boxes_particle_teleportation_factory module~procedures_boxes_particles_swap_factory procedures_boxes_particles_swap_factory module~procedures_changes_properties->module~procedures_boxes_particles_swap_factory module~procedures_box_particle_move_factory procedures_box_particle_move_factory module~procedures_changes_properties->module~procedures_box_particle_move_factory module~procedures_complete_coordinates_writer_factory->module~procedures_generating_writers_factory module~procedures_rectangle_writer_factory->module~procedures_generating_writers_factory module~procedures_mixture_properties->module~procedures_changes_factory module~procedures_mixture_properties->module~procedures_generating_writers_factory module~procedures_mixture_properties->module~procedures_box_particles_swap_factory module~procedures_box_particle_exchange_factory procedures_box_particle_exchange_factory module~procedures_mixture_properties->module~procedures_box_particle_exchange_factory module~procedures_boxes_volume_exchange_factory procedures_boxes_volume_exchange_factory module~procedures_mixture_properties->module~procedures_boxes_volume_exchange_factory module~procedures_markov_chain_explorer_factory procedures_markov_chain_explorer_factory module~procedures_mixture_properties->module~procedures_markov_chain_explorer_factory module~procedures_triangle_writer_factory procedures_triangle_writer_factory module~procedures_mixture_properties->module~procedures_triangle_writer_factory module~procedures_plmc_propagator_factory procedures_plmc_propagator_factory module~procedures_mixture_properties->module~procedures_plmc_propagator_factory module~procedures_box_volume_change_factory procedures_box_volume_change_factory module~procedures_mixture_properties->module~procedures_box_volume_change_factory module~procedures_move_tuner_factory->module~procedures_changes_component_factory module~procedures_move_tuner_factory->module~procedures_changes_factory module~procedures_component_coordinates_writer_factory->module~procedures_complete_coordinates_writer_factory module~classes_complete_coordinates_writer classes_complete_coordinates_writer module~procedures_component_coordinates_writer_factory->module~classes_complete_coordinates_writer module~procedures_energies_writers_factory procedures_energies_writers_factory module~procedures_mixture_total_moments_factory->module~procedures_energies_writers_factory module~procedures_dipolar_neighbourhoods_factory procedures_dipolar_neighbourhoods_factory module~procedures_mixture_total_moments_factory->module~procedures_dipolar_neighbourhoods_factory module~procedures_dipolar_interactions_factory procedures_dipolar_interactions_factory module~procedures_mixture_total_moments_factory->module~procedures_dipolar_interactions_factory module~procedures_dipolar_interactions_facades_factory procedures_dipolar_interactions_facades_factory module~procedures_mixture_total_moments_factory->module~procedures_dipolar_interactions_facades_factory module~procedures_line_writer_factory->module~procedures_generating_writers_factory module~procedures_line_writer_factory->module~procedures_energies_writers_factory module~procedures_exploring_writers_factory procedures_exploring_writers_factory module~procedures_line_writer_factory->module~procedures_exploring_writers_factory module~classes_complete_coordinates_reader->module~procedures_complete_coordinates_reader_factory module~types_readers_wrapper types_readers_wrapper module~classes_complete_coordinates_reader->module~types_readers_wrapper module~procedures_readers_factory procedures_readers_factory module~procedures_complete_coordinates_reader_factory->module~procedures_readers_factory module~types_readers_wrapper->module~procedures_readers_factory module~types_exploring_io types_exploring_io module~types_readers_wrapper->module~types_exploring_io module~types_generating_io types_generating_io module~types_readers_wrapper->module~types_generating_io program~plmc_explore plmc_explore module~types_exploring_io->program~plmc_explore program~plmc_generate plmc_generate module~types_generating_io->program~plmc_generate module~procedures_generating_algorithms_factory procedures_generating_algorithms_factory module~procedures_box_particles_swap_factory->module~procedures_generating_algorithms_factory module~procedures_boxes_particle_teleportation_factory->module~procedures_generating_algorithms_factory module~procedures_boxes_particles_swap_factory->module~procedures_generating_algorithms_factory module~procedures_box_particle_move_factory->module~procedures_generating_algorithms_factory module~procedures_generating_algorithms_factory->module~procedures_markov_chain_generator_factory module~procedures_generating_algorithms_factory->program~plmc_generate module~procedures_box_particle_exchange_factory->module~procedures_generating_algorithms_factory module~procedures_boxes_volume_exchange_factory->module~procedures_generating_algorithms_factory module~procedures_markov_chain_explorer_factory->program~plmc_explore module~procedures_triangle_writer_factory->module~procedures_generating_writers_factory module~procedures_triangle_writer_factory->module~procedures_energies_writers_factory module~procedures_plmc_propagator_factory->module~procedures_markov_chain_generator_factory module~procedures_box_volume_change_factory->module~procedures_generating_algorithms_factory module~procedures_energies_writers_factory->module~procedures_generating_writers_factory module~procedures_energies_writers_factory->module~procedures_exploring_writers_factory module~classes_complete_coordinates_writer->module~procedures_complete_coordinates_writer_factory module~types_generating_writers_wrapper types_generating_writers_wrapper module~classes_complete_coordinates_writer->module~types_generating_writers_wrapper module~types_generating_writers_wrapper->module~procedures_generating_writers_factory module~types_generating_writers_wrapper->module~types_generating_io module~procedures_plmc_writer procedures_plmc_writer module~types_generating_writers_wrapper->module~procedures_plmc_writer module~procedures_plmc_writer->program~plmc_explore module~procedures_plmc_writer->program~plmc_generate module~procedures_short_interactions_factory procedures_short_interactions_factory module~procedures_dipolar_neighbourhoods_factory->module~procedures_short_interactions_factory module~procedures_physical_model_factory procedures_physical_model_factory module~procedures_dipolar_interactions_factory->module~procedures_physical_model_factory module~classes_boxes_volume_exchange classes_boxes_volume_exchange module~procedures_dipolar_interactions_factory->module~classes_boxes_volume_exchange module~classes_volume_change_method classes_volume_change_method module~procedures_dipolar_interactions_factory->module~classes_volume_change_method module~classes_box_volume_change classes_box_volume_change module~procedures_dipolar_interactions_factory->module~classes_box_volume_change module~procedures_dipolar_interactions_facades_factory->module~procedures_physical_model_factory module~procedures_short_interactions_factory->module~procedures_physical_model_factory module~classes_boxes_volume_exchange->module~procedures_boxes_volume_exchange_factory module~types_markov_chain_explorer_wrapper types_markov_chain_explorer_wrapper module~classes_volume_change_method->module~types_markov_chain_explorer_wrapper module~procedures_exploration_inquirers procedures_exploration_inquirers module~classes_volume_change_method->module~procedures_exploration_inquirers module~procedures_volume_change_method_factory procedures_volume_change_method_factory module~classes_volume_change_method->module~procedures_volume_change_method_factory module~classes_box_volume_change->module~procedures_box_volume_change_factory module~types_markov_chain_explorer_wrapper->program~plmc_explore module~types_markov_chain_explorer_wrapper->module~procedures_markov_chain_explorer_factory module~types_markov_chain_explorer_wrapper->module~procedures_exploring_writers_factory module~procedures_exploration_inquirers->program~plmc_explore module~procedures_exploration_inquirers->module~procedures_markov_chain_explorer_factory module~procedures_exploration_inquirers->module~procedures_exploring_writers_factory module~procedures_exploration_inquirers->module~procedures_dipolar_interactions_facades_factory module~procedures_exploration_inquirers->module~procedures_short_interactions_factory module~procedures_volume_change_method_factory->module~procedures_markov_chain_explorer_factory
Help


Derived Types

type, public, extends(Abstract_Moved_Coordinates) :: Concrete_Rotated_Orientations

Components

TypeVisibility AttributesNameInitial
class(Abstract_Component_Coordinates), private, pointer:: orientations=> null()
real(kind=DP), private :: delta =0._DP
type(Concrete_Move_Tuning_Parameters), private :: tuning_parameters
real(kind=DP), private :: current_increase_factor =1._DP
logical, private :: max_factor_reached =.false.

Type-Bound Procedures

procedure, public :: construct => Concrete_construct
procedure, public :: destroy => Concrete_destroy
procedure, public :: increase_delta => Concrete_increase_delta
procedure, public :: decrease_delta => Concrete_decrease_delta
procedure, public :: get => Concrete_get

Functions

private function Concrete_get(this, i_particle) result(rotated_orientation)

Arguments

Type IntentOptional AttributesName
class(Concrete_Rotated_Orientations), intent(in) :: this
integer, intent(in) :: i_particle

Return Value real(kind=DP) (num_dimensions)


Subroutines

private subroutine Concrete_construct(this, orientations, initial_delta, tuning_parameters)

Arguments

Type IntentOptional AttributesName
class(Concrete_Rotated_Orientations), intent(out) :: this
class(Abstract_Component_Coordinates), intent(in), target:: orientations
real(kind=DP), intent(in) :: initial_delta
type(Concrete_Move_Tuning_Parameters), intent(in) :: tuning_parameters

private subroutine Concrete_destroy(this)

Arguments

Type IntentOptional AttributesName
class(Concrete_Rotated_Orientations), intent(inout) :: this

private subroutine Concrete_increase_delta(this)

Arguments

Type IntentOptional AttributesName
class(Concrete_Rotated_Orientations), intent(inout) :: this

private subroutine Concrete_decrease_delta(this)

Arguments

Type IntentOptional AttributesName
class(Concrete_Rotated_Orientations), intent(inout) :: this


classes_average_num_particles classes_beta_pressure classes_beta_pressure_excess classes_box_particle_exchange classes_box_particle_move classes_box_particles_swap classes_box_size_checker classes_box_size_memento classes_box_volume_change classes_boxes_particle_teleportation classes_boxes_particles_swap classes_boxes_volume_exchange classes_changed_box_size classes_changed_box_size_ratio classes_changes_success_writer classes_complete_coordinates_reader classes_complete_coordinates_writer classes_component_chemical_potential classes_component_coordinates classes_component_coordinates_reader classes_component_coordinates_writer classes_component_dipole_moments classes_coordinates classes_coordinates_copier classes_density_explorer classes_des_convergence_parameter classes_des_real_component classes_des_real_pair classes_des_reci_structure classes_des_reci_visitor classes_des_reci_weight classes_des_self_component classes_des_surf_mixture classes_dipolar_interactions_facade classes_dipolar_neighbourhoods_visitor classes_dipoles_neighbourhood classes_dirac_distribution_plus classes_directed_graph_writer classes_dlc_structures classes_dlc_visitor classes_dlc_weight classes_exchanged_boxes_size classes_external_field classes_field_expression classes_floor_penetration classes_generating_algorithm classes_hard_contact classes_hetero_couples classes_line_writer classes_maximum_box_compression classes_maximum_box_compression_explorer classes_min_distance classes_mixture_total_moment classes_move_tuner classes_moved_coordinates classes_neighbour_cells classes_num_particles classes_number_to_string classes_pair_potential classes_parallelepiped_domain classes_particle_insertion_method classes_periodic_box classes_permittivity classes_plmc_propagator classes_potential_expression classes_radial_explorer classes_random_coordinates classes_random_orientation classes_random_position classes_real_writer classes_reciprocal_lattice classes_rectangle_writer classes_rotated_orientations classes_short_pairs_visitor classes_structure_factor classes_structure_visitor classes_temperature classes_tower_sampler classes_translated_positions classes_triangle_writer classes_tunable_move classes_visitable_cells classes_visitable_cells_memento classes_visitable_list classes_visitable_walls classes_volume_change_method classes_walls_visitor data_cells data_constants data_input_prefixes data_output_objects data_strings module_changes_success module_list_node module_move_tuning procedures_average_nums_particles_factory procedures_beta_pressure_factory procedures_beta_pressures_excess_factory procedures_box_particle_exchange_factory procedures_box_particle_move_factory procedures_box_particles_swap_factory procedures_box_size procedures_box_size_memento_factory procedures_box_volume_change_factory procedures_boxes_particle_teleportation_factory procedures_boxes_particles_swap_factory procedures_boxes_size_checker_factory procedures_boxes_volume_exchange_factory procedures_cells_memento procedures_centered_block_micro procedures_changed_boxes_size_factory procedures_changed_boxes_size_ratio_factory procedures_changes_component_factory procedures_changes_factory procedures_changes_properties procedures_changes_success_writer_factory procedures_checks procedures_command_arguments procedures_complete_coordinates_reader procedures_complete_coordinates_reader_factory procedures_complete_coordinates_writer_factory procedures_component_chemical_potential_factory procedures_component_coordinates_factory procedures_component_coordinates_reader_factory procedures_component_coordinates_writer_factory procedures_component_dipole_moments_factory procedures_component_factory procedures_coordinates_copier_factory procedures_coordinates_micro procedures_coordinates_reader procedures_density_explorer_factory procedures_des_convergence_parameter_factory procedures_des_real_component_factory procedures_des_real_pair_factory procedures_des_reci_structure_factory procedures_des_reci_visitor_factory procedures_des_reci_weight_factory procedures_des_surf_mixture_factory procedures_dipolar_interactions_facades_factory procedures_dipolar_interactions_factory procedures_dipolar_interactions_micro procedures_dipolar_interactions_resetter procedures_dipolar_interactions_visitor procedures_dipolar_neighbourhoods_factory procedures_dipolar_neighbourhoods_visitors_factory procedures_dipoles_field_interaction procedures_dirac_distribution_plus_factory procedures_directed_graph_writer_factory procedures_dlc_structures_factory procedures_dlc_visitor_factory procedures_dlc_weight_factory procedures_elementary_geometry procedures_elementary_statistics procedures_energies_writers_factory procedures_environment_factory procedures_environment_inquirers procedures_errors procedures_exchange_updaters procedures_exchange_visitors procedures_exchanged_boxes_size_factory procedures_exploration_inquirers procedures_exploring_observables_factory procedures_exploring_writers_factory procedures_external_fields_factory procedures_field_expression_factory procedures_field_expression_micro procedures_floor_penetration_factory procedures_generating_algorithms_factory procedures_generating_observables_factory procedures_generating_writers_factory procedures_hard_contact_factory procedures_hetero_couples_factory procedures_json_data_factory procedures_json_reports_factory procedures_line_writer_factory procedures_logical_factory procedures_markov_chain_explorer_factory procedures_markov_chain_generator_factory procedures_maximum_box_compression_factory procedures_maximum_boxes_compression_explorer_factory procedures_metropolis_algorithm procedures_min_distance_factory procedures_mixture_inquirers procedures_mixture_properties procedures_mixture_total_moments_factory procedures_move_tuner_factory procedures_moved_coordinates_factory procedures_neighbour_cells_factory procedures_num_particles_factory procedures_observables_changes_factory procedures_observables_energies_factory procedures_observables_factory procedures_pair_potential_factory procedures_parallelepiped_domain_macro procedures_parallelepiped_domain_micro procedures_parallelepiped_domains_factory procedures_particle_insertion_method_factory procedures_periodic_boxes_factory procedures_permittivity_factory procedures_physical_model_factory procedures_plmc_help procedures_plmc_iterations procedures_plmc_propagator_factory procedures_plmc_resetter procedures_plmc_visitor procedures_plmc_writer procedures_potential_expression_factory procedures_property_inquirers procedures_radial_explorer_factory procedures_random_coordinates_factory procedures_random_number procedures_random_seed_factory procedures_readers_factory procedures_real_writer_factory procedures_reals_factory procedures_reciprocal_lattices_factory procedures_rectangle_writer_factory procedures_selectors_resetters procedures_short_interactions_factory procedures_short_interactions_inquirers procedures_short_interactions_resetter procedures_short_interactions_visitor procedures_short_pairs_visitors_factory procedures_string_factory procedures_temperature_factory procedures_tower_sampler_factory procedures_transmutation_updaters procedures_transmutation_visitors procedures_triangle_observables procedures_triangle_writer_factory procedures_visit_condition procedures_visitable_cells_factory procedures_visitable_cells_memento_factory procedures_visitable_list_factory procedures_visitable_walls_factory procedures_volume_change_method_factory procedures_walls_visitors_factory procedures_writers_inquirers types_cells_wrapper types_changes_component_wrapper types_changes_success_writer_selector types_changes_wrapper types_component_coordinates_reader_selector types_component_coordinates_writer_selector types_component_wrapper types_dipolar_interactions_dynamic_wrapper types_dipolar_interactions_static_wrapper types_energies_writers types_environment_wrapper types_exploring_io types_exploring_writers_wrapper types_generating_io types_generating_observables_wrapper types_generating_writers_wrapper types_json_report types_logical_wrapper types_markov_chain_explorer_wrapper types_markov_chain_generator_wrapper types_mixture_wrapper types_move_tuner_parameters types_observables_changes types_observables_energies types_particle_wrapper types_physical_model_wrapper types_potential_domain types_potential_domain_selector types_raw_coordinates types_readers_wrapper types_real_wrapper types_short_interactions_wrapper types_string_wrapper