classes_boxes_particles_swap Module

module~~classes_boxes_particles_swap~~UsesGraph module~classes_boxes_particles_swap classes_boxes_particles_swap module~procedures_hetero_couples_factory procedures_hetero_couples_factory module~procedures_hetero_couples_factory->module~classes_boxes_particles_swap module~types_generating_observables_wrapper types_generating_observables_wrapper module~types_generating_observables_wrapper->module~classes_boxes_particles_swap module~classes_generating_algorithm classes_generating_algorithm module~types_generating_observables_wrapper->module~classes_generating_algorithm module~types_observables_energies types_observables_energies module~types_observables_energies->module~classes_boxes_particles_swap module~types_observables_energies->module~types_generating_observables_wrapper module~procedures_observables_energies_factory procedures_observables_energies_factory module~types_observables_energies->module~procedures_observables_energies_factory module~classes_hetero_couples classes_hetero_couples module~classes_hetero_couples->module~classes_boxes_particles_swap module~classes_hetero_couples->module~procedures_hetero_couples_factory module~procedures_selectors_resetters procedures_selectors_resetters module~classes_hetero_couples->module~procedures_selectors_resetters module~types_particle_wrapper types_particle_wrapper module~types_particle_wrapper->module~classes_boxes_particles_swap module~procedures_transmutation_visitors procedures_transmutation_visitors module~types_particle_wrapper->module~procedures_transmutation_visitors module~procedures_transmutation_updaters procedures_transmutation_updaters module~types_particle_wrapper->module~procedures_transmutation_updaters module~procedures_dipoles_field_interaction procedures_dipoles_field_interaction module~types_particle_wrapper->module~procedures_dipoles_field_interaction module~classes_dlc_visitor classes_dlc_visitor module~types_particle_wrapper->module~classes_dlc_visitor module~classes_des_real_component classes_des_real_component module~types_particle_wrapper->module~classes_des_real_component module~classes_des_reci_visitor classes_des_reci_visitor module~types_particle_wrapper->module~classes_des_reci_visitor module~classes_dlc_structures classes_dlc_structures module~types_particle_wrapper->module~classes_dlc_structures module~classes_structure_visitor classes_structure_visitor module~types_particle_wrapper->module~classes_structure_visitor module~classes_structure_factor classes_structure_factor module~types_particle_wrapper->module~classes_structure_factor module~classes_des_reci_structure classes_des_reci_structure module~types_particle_wrapper->module~classes_des_reci_structure module~classes_visitable_cells classes_visitable_cells module~types_particle_wrapper->module~classes_visitable_cells module~classes_visitable_list classes_visitable_list module~types_particle_wrapper->module~classes_visitable_list module~types_dipolar_interactions_dynamic_wrapper types_dipolar_interactions_dynamic_wrapper module~types_dipolar_interactions_dynamic_wrapper->module~classes_boxes_particles_swap module~types_dipolar_interactions_dynamic_wrapper->module~procedures_transmutation_visitors module~types_dipolar_interactions_static_wrapper types_dipolar_interactions_static_wrapper module~types_dipolar_interactions_static_wrapper->module~classes_boxes_particles_swap module~types_dipolar_interactions_static_wrapper->module~procedures_transmutation_updaters module~procedures_observables_energies_factory->module~classes_boxes_particles_swap module~types_mixture_wrapper types_mixture_wrapper module~types_mixture_wrapper->module~classes_boxes_particles_swap module~classes_generating_algorithm->module~classes_boxes_particles_swap module~procedures_transmutation_visitors->module~classes_boxes_particles_swap module~procedures_transmutation_updaters->module~classes_boxes_particles_swap module~classes_tower_sampler classes_tower_sampler module~classes_tower_sampler->module~classes_boxes_particles_swap module~procedures_tower_sampler_factory procedures_tower_sampler_factory module~classes_tower_sampler->module~procedures_tower_sampler_factory module~classes_tower_sampler->module~procedures_selectors_resetters module~procedures_tower_sampler_factory->module~classes_boxes_particles_swap module~procedures_metropolis_algorithm procedures_metropolis_algorithm module~procedures_metropolis_algorithm->module~classes_boxes_particles_swap module~procedures_selectors_resetters->module~classes_boxes_particles_swap iso_fortran_env iso_fortran_env iso_fortran_env->module~classes_boxes_particles_swap iso_fortran_env->module~types_generating_observables_wrapper iso_fortran_env->module~types_observables_energies iso_fortran_env->module~types_particle_wrapper iso_fortran_env->module~procedures_observables_energies_factory iso_fortran_env->module~procedures_transmutation_visitors iso_fortran_env->module~classes_tower_sampler iso_fortran_env->module~procedures_metropolis_algorithm iso_fortran_env->module~procedures_selectors_resetters module~procedures_random_number procedures_random_number iso_fortran_env->module~procedures_random_number iso_fortran_env->module~procedures_dipoles_field_interaction module~module_changes_success module_changes_success iso_fortran_env->module~module_changes_success module~types_observables_changes types_observables_changes iso_fortran_env->module~types_observables_changes module~types_real_wrapper types_real_wrapper iso_fortran_env->module~types_real_wrapper module~procedures_checks procedures_checks iso_fortran_env->module~procedures_checks module~procedures_errors procedures_errors iso_fortran_env->module~procedures_errors 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 data_constants iso_fortran_env->module~data_constants iso_fortran_env->module~classes_dlc_visitor iso_fortran_env->module~classes_des_real_component module~classes_des_convergence_parameter classes_des_convergence_parameter iso_fortran_env->module~classes_des_convergence_parameter iso_fortran_env->module~classes_des_reci_visitor module~classes_des_self_component classes_des_self_component iso_fortran_env->module~classes_des_self_component module~classes_des_surf_mixture classes_des_surf_mixture iso_fortran_env->module~classes_des_surf_mixture module~procedures_dipolar_interactions_micro procedures_dipolar_interactions_micro iso_fortran_env->module~procedures_dipolar_interactions_micro module~classes_periodic_box classes_periodic_box iso_fortran_env->module~classes_periodic_box module~classes_reciprocal_lattice classes_reciprocal_lattice iso_fortran_env->module~classes_reciprocal_lattice module~classes_dlc_weight classes_dlc_weight iso_fortran_env->module~classes_dlc_weight iso_fortran_env->module~classes_dlc_structures iso_fortran_env->module~classes_structure_visitor module~classes_permittivity classes_permittivity iso_fortran_env->module~classes_permittivity iso_fortran_env->module~classes_structure_factor module~classes_component_dipole_moments classes_component_dipole_moments iso_fortran_env->module~classes_component_dipole_moments module~classes_component_coordinates classes_component_coordinates iso_fortran_env->module~classes_component_coordinates module~classes_component_chemical_potential classes_component_chemical_potential iso_fortran_env->module~classes_component_chemical_potential module~classes_coordinates classes_coordinates iso_fortran_env->module~classes_coordinates module~procedures_coordinates_micro procedures_coordinates_micro iso_fortran_env->module~procedures_coordinates_micro module~classes_box_size_memento classes_box_size_memento iso_fortran_env->module~classes_box_size_memento module~classes_des_real_pair classes_des_real_pair iso_fortran_env->module~classes_des_real_pair module~procedures_box_size procedures_box_size iso_fortran_env->module~procedures_box_size module~classes_des_reci_weight classes_des_reci_weight iso_fortran_env->module~classes_des_reci_weight iso_fortran_env->module~classes_des_reci_structure module~classes_mixture_total_moment classes_mixture_total_moment iso_fortran_env->module~classes_mixture_total_moment module~procedures_reals_factory procedures_reals_factory iso_fortran_env->module~procedures_reals_factory module~classes_min_distance classes_min_distance iso_fortran_env->module~classes_min_distance module~classes_parallelepiped_domain classes_parallelepiped_domain iso_fortran_env->module~classes_parallelepiped_domain module~classes_visitable_walls classes_visitable_walls iso_fortran_env->module~classes_visitable_walls module~procedures_parallelepiped_domain_micro procedures_parallelepiped_domain_micro iso_fortran_env->module~procedures_parallelepiped_domain_micro module~classes_pair_potential classes_pair_potential iso_fortran_env->module~classes_pair_potential module~classes_floor_penetration classes_floor_penetration iso_fortran_env->module~classes_floor_penetration module~classes_potential_expression classes_potential_expression iso_fortran_env->module~classes_potential_expression module~procedures_centered_block_micro procedures_centered_block_micro iso_fortran_env->module~procedures_centered_block_micro module~classes_external_field classes_external_field iso_fortran_env->module~classes_external_field module~classes_neighbour_cells classes_neighbour_cells iso_fortran_env->module~classes_neighbour_cells iso_fortran_env->module~classes_visitable_cells module~classes_hard_contact classes_hard_contact iso_fortran_env->module~classes_hard_contact module~classes_dipoles_neighbourhood classes_dipoles_neighbourhood iso_fortran_env->module~classes_dipoles_neighbourhood module~classes_dirac_distribution_plus classes_dirac_distribution_plus iso_fortran_env->module~classes_dirac_distribution_plus iso_fortran_env->module~classes_visitable_list module~module_list_node module_list_node iso_fortran_env->module~module_list_node module~classes_field_expression classes_field_expression iso_fortran_env->module~classes_field_expression module~procedures_field_expression_factory procedures_field_expression_factory iso_fortran_env->module~procedures_field_expression_factory module~procedures_field_expression_micro procedures_field_expression_micro iso_fortran_env->module~procedures_field_expression_micro module~classes_exchanged_boxes_size classes_exchanged_boxes_size iso_fortran_env->module~classes_exchanged_boxes_size module~classes_changed_box_size classes_changed_box_size iso_fortran_env->module~classes_changed_box_size module~module_move_tuning module_move_tuning iso_fortran_env->module~module_move_tuning module~classes_changed_box_size_ratio classes_changed_box_size_ratio iso_fortran_env->module~classes_changed_box_size_ratio module~classes_beta_pressure_excess classes_beta_pressure_excess iso_fortran_env->module~classes_beta_pressure_excess module~classes_walls_visitor classes_walls_visitor iso_fortran_env->module~classes_walls_visitor module~classes_short_pairs_visitor classes_short_pairs_visitor iso_fortran_env->module~classes_short_pairs_visitor module~classes_beta_pressure classes_beta_pressure iso_fortran_env->module~classes_beta_pressure module~classes_temperature classes_temperature iso_fortran_env->module~classes_temperature module~types_short_interactions_wrapper types_short_interactions_wrapper module~types_short_interactions_wrapper->module~classes_boxes_particles_swap module~types_environment_wrapper types_environment_wrapper module~types_environment_wrapper->module~classes_boxes_particles_swap module~procedures_random_number->module~classes_boxes_particles_swap module~procedures_dipoles_field_interaction->module~classes_boxes_particles_swap module~procedures_dipoles_field_interaction->module~procedures_transmutation_visitors module~module_changes_success->module~types_generating_observables_wrapper module~module_changes_success->module~types_observables_changes module~types_observables_changes->module~types_generating_observables_wrapper module~types_real_wrapper->module~types_generating_observables_wrapper module~types_real_wrapper->module~types_observables_energies module~types_real_wrapper->module~procedures_observables_energies_factory module~types_real_wrapper->module~module_changes_success module~types_real_wrapper->module~types_observables_changes module~types_real_wrapper->module~procedures_reals_factory module~procedures_checks->module~classes_hetero_couples module~procedures_checks->module~classes_tower_sampler module~procedures_checks->module~procedures_random_number module~procedures_checks->module~classes_des_convergence_parameter module~procedures_checks->module~classes_periodic_box module~procedures_checks->module~classes_reciprocal_lattice module~procedures_checks->module~classes_permittivity module~procedures_checks->module~classes_component_dipole_moments module~procedures_checks->module~classes_component_coordinates module~procedures_checks->module~classes_component_chemical_potential module~procedures_checks->module~procedures_coordinates_micro module~procedures_checks->module~classes_des_real_pair module~procedures_checks->module~classes_mixture_total_moment module~procedures_checks->module~classes_min_distance module~procedures_checks->module~classes_parallelepiped_domain module~procedures_checks->module~classes_visitable_walls module~procedures_checks->module~classes_pair_potential module~procedures_checks->module~classes_floor_penetration module~procedures_checks->module~classes_potential_expression module~procedures_checks->module~classes_neighbour_cells module~procedures_checks->module~classes_dipoles_neighbourhood module~procedures_checks->module~classes_dirac_distribution_plus module~procedures_checks->module~classes_field_expression module~procedures_checks->module~procedures_field_expression_factory module~procedures_checks->module~classes_exchanged_boxes_size module~procedures_checks->module~classes_changed_box_size module~procedures_checks->module~classes_changed_box_size_ratio module~procedures_checks->module~classes_beta_pressure module~procedures_checks->module~classes_temperature module~procedures_errors->module~classes_tower_sampler module~procedures_errors->module~procedures_checks module~procedures_errors->module~classes_periodic_box module~procedures_errors->module~classes_reciprocal_lattice module~classes_num_particles classes_num_particles module~procedures_errors->module~classes_num_particles module~procedures_errors->module~classes_component_coordinates module~procedures_errors->module~procedures_coordinates_micro module~procedures_errors->module~classes_des_real_pair module~procedures_errors->module~classes_parallelepiped_domain module~procedures_errors->module~classes_visitable_walls module~procedures_errors->module~classes_floor_penetration module~procedures_errors->module~classes_neighbour_cells module~procedures_errors->module~classes_visitable_cells module~procedures_errors->module~classes_field_expression module~procedures_errors->module~procedures_field_expression_factory module~procedures_errors->module~module_move_tuning module~classes_box_size_checker classes_box_size_checker module~procedures_errors->module~classes_box_size_checker module~classes_number_to_string->module~procedures_checks module~types_potential_domain->module~procedures_checks module~types_potential_domain->module~classes_des_real_pair module~types_potential_domain->module~classes_pair_potential module~data_constants->module~types_particle_wrapper module~data_constants->module~procedures_random_number module~data_constants->module~procedures_checks module~data_constants->module~classes_dlc_visitor module~data_constants->module~classes_des_real_component module~data_constants->module~classes_des_reci_visitor module~data_constants->module~classes_des_self_component module~data_constants->module~classes_des_surf_mixture module~data_constants->module~procedures_dipolar_interactions_micro module~data_constants->module~classes_periodic_box module~data_constants->module~classes_reciprocal_lattice module~data_constants->module~classes_dlc_weight module~data_constants->module~classes_dlc_structures module~data_constants->module~classes_component_dipole_moments module~data_constants->module~classes_component_coordinates module~data_constants->module~classes_coordinates module~data_constants->module~procedures_coordinates_micro module~data_constants->module~classes_box_size_memento module~data_constants->module~classes_des_real_pair module~data_constants->module~classes_des_reci_weight module~data_constants->module~classes_des_reci_structure module~data_constants->module~classes_mixture_total_moment module~data_constants->module~classes_parallelepiped_domain module~data_constants->module~classes_visitable_walls module~data_constants->module~procedures_parallelepiped_domain_micro module~data_constants->module~classes_floor_penetration module~data_constants->module~classes_external_field module~data_constants->module~classes_neighbour_cells module~data_constants->module~classes_visitable_cells module~data_cells data_cells module~data_constants->module~data_cells module~data_constants->module~classes_dirac_distribution_plus module~data_constants->module~module_list_node module~data_constants->module~classes_field_expression module~data_constants->module~procedures_field_expression_micro module~data_constants->module~classes_exchanged_boxes_size module~data_constants->module~classes_changed_box_size module~data_constants->module~classes_changed_box_size_ratio module~types_potential_domain_selector types_potential_domain_selector module~types_potential_domain_selector->module~procedures_checks module~types_potential_domain_selector->module~classes_des_real_pair module~types_potential_domain_selector->module~classes_pair_potential module~data_strings data_strings module~data_strings->module~classes_number_to_string module~data_strings->module~procedures_coordinates_micro module~classes_dlc_visitor->module~types_dipolar_interactions_dynamic_wrapper module~classes_des_real_component->module~types_dipolar_interactions_dynamic_wrapper module~classes_des_convergence_parameter->module~types_dipolar_interactions_dynamic_wrapper module~classes_des_convergence_parameter->module~classes_des_self_component module~classes_des_convergence_parameter->module~classes_des_real_pair module~classes_des_convergence_parameter->module~classes_des_reci_weight module~classes_des_reci_visitor->module~types_dipolar_interactions_dynamic_wrapper module~classes_des_self_component->module~types_dipolar_interactions_dynamic_wrapper module~classes_des_surf_mixture->module~types_dipolar_interactions_dynamic_wrapper module~procedures_dipolar_interactions_micro->module~classes_dlc_visitor module~procedures_dipolar_interactions_micro->module~classes_des_reci_visitor module~procedures_dipolar_interactions_micro->module~classes_dlc_structures module~procedures_dipolar_interactions_micro->module~classes_des_real_pair module~procedures_dipolar_interactions_micro->module~classes_des_reci_structure module~procedures_dipolar_interactions_micro->module~classes_dipoles_neighbourhood module~classes_periodic_box->module~types_environment_wrapper module~classes_periodic_box->module~classes_dlc_visitor module~classes_periodic_box->module~classes_des_real_component module~classes_periodic_box->module~classes_des_reci_visitor module~classes_periodic_box->module~classes_des_self_component module~classes_periodic_box->module~classes_des_surf_mixture module~classes_periodic_box->module~classes_reciprocal_lattice module~classes_periodic_box->module~classes_dlc_weight module~classes_periodic_box->module~classes_dlc_structures module~classes_periodic_box->module~classes_component_coordinates module~classes_periodic_box->module~classes_box_size_memento module~classes_periodic_box->module~classes_des_reci_structure module~classes_periodic_box->module~classes_parallelepiped_domain module~classes_periodic_box->module~classes_visitable_walls module~classes_periodic_box->module~classes_visitable_cells module~classes_periodic_box->module~classes_visitable_list module~classes_periodic_box->module~classes_short_pairs_visitor module~procedures_visitable_cells_factory procedures_visitable_cells_factory module~classes_periodic_box->module~procedures_visitable_cells_factory module~classes_reciprocal_lattice->module~types_environment_wrapper module~classes_reciprocal_lattice->module~classes_dlc_visitor module~classes_reciprocal_lattice->module~classes_des_reci_visitor module~classes_reciprocal_lattice->module~classes_dlc_weight module~classes_reciprocal_lattice->module~classes_dlc_structures module~classes_reciprocal_lattice->module~classes_des_reci_weight module~classes_reciprocal_lattice->module~classes_des_reci_structure module~classes_reciprocal_lattice->module~classes_box_size_checker module~classes_dlc_weight->module~types_dipolar_interactions_static_wrapper module~classes_dlc_weight->module~classes_dlc_visitor module~classes_dlc_structures->module~types_dipolar_interactions_static_wrapper module~classes_dlc_structures->module~classes_dlc_visitor module~classes_structure_visitor->module~classes_dlc_visitor module~classes_structure_visitor->module~classes_des_reci_visitor module~classes_permittivity->module~types_environment_wrapper module~classes_permittivity->module~classes_des_self_component module~classes_permittivity->module~classes_des_surf_mixture module~classes_permittivity->module~classes_dlc_weight module~classes_permittivity->module~classes_des_real_pair module~classes_permittivity->module~classes_des_reci_weight module~classes_permittivity->module~classes_field_expression module~classes_permittivity->module~procedures_field_expression_factory module~types_component_wrapper types_component_wrapper module~types_component_wrapper->module~types_mixture_wrapper module~types_component_wrapper->module~procedures_transmutation_updaters module~types_component_wrapper->module~classes_dlc_structures module~types_component_wrapper->module~classes_des_reci_structure module~types_component_wrapper->module~classes_mixture_total_moment module~classes_average_num_particles classes_average_num_particles module~types_component_wrapper->module~classes_average_num_particles module~types_component_wrapper->module~procedures_visitable_cells_factory module~classes_structure_factor->module~classes_dlc_structures module~classes_structure_factor->module~classes_des_reci_structure module~classes_num_particles->module~types_component_wrapper module~classes_num_particles->module~classes_component_coordinates module~classes_num_particles->module~classes_average_num_particles module~classes_component_dipole_moments->module~procedures_dipoles_field_interaction module~classes_component_dipole_moments->module~classes_des_real_component module~classes_component_dipole_moments->module~classes_des_self_component module~classes_component_dipole_moments->module~types_component_wrapper module~classes_component_coordinates->module~procedures_dipoles_field_interaction module~classes_component_coordinates->module~classes_des_real_component module~classes_component_coordinates->module~types_component_wrapper module~classes_component_coordinates->module~classes_component_dipole_moments module~classes_component_coordinates->module~classes_visitable_cells module~classes_component_coordinates->module~classes_visitable_list module~classes_component_coordinates->module~classes_walls_visitor module~classes_component_coordinates->module~classes_short_pairs_visitor module~classes_component_chemical_potential->module~types_component_wrapper module~classes_component_chemical_potential->module~classes_average_num_particles module~classes_coordinates->module~classes_component_dipole_moments module~classes_coordinates->module~classes_component_coordinates module~procedures_coordinates_micro->module~classes_component_coordinates module~classes_box_size_memento->module~types_dipolar_interactions_static_wrapper module~classes_box_size_memento->module~classes_des_real_component module~classes_box_size_memento->module~classes_des_reci_visitor module~classes_box_size_memento->module~classes_des_real_pair module~classes_box_size_memento->module~classes_des_reci_weight module~classes_box_size_memento->module~classes_des_reci_structure module~classes_des_real_pair->module~types_dipolar_interactions_static_wrapper module~classes_des_real_pair->module~classes_des_real_component module~procedures_visit_condition procedures_visit_condition module~procedures_visit_condition->module~procedures_transmutation_visitors module~procedures_visit_condition->module~classes_des_real_component module~procedures_visit_condition->module~classes_visitable_cells module~procedures_visit_condition->module~classes_visitable_list module~procedures_box_size->module~classes_des_real_pair module~procedures_box_size->module~classes_visitable_cells module~procedures_box_size->module~classes_visitable_list module~classes_des_reci_weight->module~types_dipolar_interactions_static_wrapper module~classes_des_reci_weight->module~classes_des_reci_visitor module~classes_des_reci_structure->module~types_dipolar_interactions_static_wrapper module~classes_des_reci_structure->module~classes_des_reci_visitor module~classes_mixture_total_moment->module~types_mixture_wrapper module~classes_mixture_total_moment->module~procedures_transmutation_updaters module~classes_mixture_total_moment->module~classes_des_surf_mixture module~procedures_reals_factory->module~procedures_observables_energies_factory module~classes_min_distance->module~types_mixture_wrapper module~classes_min_distance->module~types_environment_wrapper module~classes_min_distance->module~classes_visitable_walls module~classes_average_num_particles->module~types_mixture_wrapper module~classes_average_num_particles->module~procedures_selectors_resetters module~classes_parallelepiped_domain->module~types_environment_wrapper module~classes_parallelepiped_domain->module~classes_average_num_particles module~classes_parallelepiped_domain->module~classes_external_field module~classes_parallelepiped_domain->module~classes_neighbour_cells module~classes_parallelepiped_domain->module~classes_beta_pressure_excess module~classes_parallelepiped_domain->module~classes_box_size_checker module~classes_visitable_walls->module~procedures_transmutation_visitors module~classes_visitable_walls->module~types_environment_wrapper module~classes_visitable_walls->module~classes_parallelepiped_domain module~classes_visitable_walls->module~classes_walls_visitor module~classes_visitable_walls->module~classes_box_size_checker module~procedures_parallelepiped_domain_micro->module~classes_parallelepiped_domain module~classes_pair_potential->module~procedures_transmutation_visitors module~classes_pair_potential->module~types_short_interactions_wrapper module~classes_pair_potential->module~classes_visitable_walls module~classes_pair_potential->module~classes_neighbour_cells module~classes_pair_potential->module~classes_visitable_cells module~classes_pair_potential->module~classes_visitable_list module~classes_pair_potential->module~classes_walls_visitor module~classes_pair_potential->module~classes_short_pairs_visitor module~classes_pair_potential->module~procedures_visitable_cells_factory module~classes_floor_penetration->module~classes_visitable_walls module~classes_potential_expression->module~classes_pair_potential module~procedures_centered_block_micro->module~classes_floor_penetration module~types_cells_wrapper types_cells_wrapper module~types_cells_wrapper->module~procedures_transmutation_visitors module~types_cells_wrapper->module~procedures_transmutation_updaters module~types_cells_wrapper->module~types_short_interactions_wrapper module~classes_external_field->module~procedures_transmutation_visitors module~classes_external_field->module~types_environment_wrapper module~classes_external_field->module~procedures_dipoles_field_interaction module~classes_neighbour_cells->module~types_cells_wrapper module~classes_neighbour_cells->module~classes_visitable_cells module~classes_visitable_cells_memento classes_visitable_cells_memento module~classes_neighbour_cells->module~classes_visitable_cells_memento module~classes_neighbour_cells->module~procedures_visitable_cells_factory module~classes_visitable_cells->module~types_cells_wrapper module~classes_visitable_cells->module~classes_visitable_cells_memento module~classes_visitable_cells->module~procedures_visitable_cells_factory module~classes_hard_contact->module~types_short_interactions_wrapper module~classes_hard_contact->module~classes_neighbour_cells module~classes_hard_contact->module~classes_visitable_cells module~classes_hard_contact->module~classes_visitable_list module~classes_hard_contact->module~procedures_visitable_cells_factory module~data_cells->module~classes_neighbour_cells module~data_cells->module~classes_visitable_cells module~classes_dipoles_neighbourhood->module~types_short_interactions_wrapper module~classes_dipoles_neighbourhood->module~classes_neighbour_cells module~classes_dipoles_neighbourhood->module~classes_visitable_cells module~classes_dipoles_neighbourhood->module~classes_visitable_list module~classes_dipoles_neighbourhood->module~procedures_visitable_cells_factory module~classes_dirac_distribution_plus->module~classes_hard_contact module~classes_visitable_list->module~classes_visitable_cells module~classes_visitable_list->module~procedures_visitable_cells_factory module~module_list_node->module~classes_visitable_list module~classes_field_expression->module~classes_external_field module~classes_field_expression->module~procedures_field_expression_factory module~procedures_field_expression_factory->module~classes_external_field module~procedures_field_expression_micro->module~classes_field_expression json_module json_module json_module->module~procedures_field_expression_factory module~classes_exchanged_boxes_size->module~procedures_selectors_resetters module~classes_changed_box_size->module~procedures_selectors_resetters module~classes_tunable_move classes_tunable_move module~classes_tunable_move->module~classes_exchanged_boxes_size module~classes_tunable_move->module~classes_changed_box_size module~module_move_tuning->module~classes_exchanged_boxes_size module~module_move_tuning->module~classes_changed_box_size module~classes_changed_box_size_ratio->module~classes_changed_box_size module~classes_beta_pressure_excess->module~types_short_interactions_wrapper module~classes_visitable_cells_memento->module~types_short_interactions_wrapper module~classes_walls_visitor->module~types_short_interactions_wrapper module~classes_short_pairs_visitor->module~types_short_interactions_wrapper module~types_logical_wrapper types_logical_wrapper module~types_logical_wrapper->module~classes_visitable_cells_memento module~procedures_visitable_cells_factory->module~classes_visitable_cells_memento module~classes_beta_pressure->module~types_environment_wrapper module~classes_temperature->module~types_environment_wrapper module~classes_box_size_checker->module~types_environment_wrapper
Help

Used By

module~~classes_boxes_particles_swap~~UsedByGraph module~classes_boxes_particles_swap classes_boxes_particles_swap module~procedures_boxes_particles_swap_factory procedures_boxes_particles_swap_factory module~classes_boxes_particles_swap->module~procedures_boxes_particles_swap_factory module~procedures_generating_algorithms_factory procedures_generating_algorithms_factory module~procedures_boxes_particles_swap_factory->module~procedures_generating_algorithms_factory module~procedures_markov_chain_generator_factory procedures_markov_chain_generator_factory module~procedures_generating_algorithms_factory->module~procedures_markov_chain_generator_factory program~plmc_generate plmc_generate module~procedures_generating_algorithms_factory->program~plmc_generate
Help


Derived Types

type, public, extends(Abstract_Generating_Algorithm) :: Boxes_Particles_Swap

Components

TypeVisibility AttributesNameInitial
type(Environment_Wrapper), private, pointer:: environment=> null()
type(Mixture_Wrapper), private, pointer:: mixture=> null()
type(Short_Interactions_Wrapper), private, pointer:: short_interactions=> null()
type(Dipolar_Interactions_Dynamic_Wrapper), private, pointer:: dipolar_interactions_dynamic(:)=> null()
type(Dipolar_Interactions_Static_Wrapper), private, pointer:: dipolar_interactions_static(:)=> null()
logical, private, allocatable:: can_translate(:,:)
class(Abstract_Hetero_Couples), private, allocatable:: box_couples
class(Abstract_Hetero_Couples), private, allocatable:: component_couples(:)
class(Abstract_Tower_Sampler), private, allocatable:: boxes_selector
class(Abstract_Tower_Sampler), private, allocatable:: components_selectors(:)

Type-Bound Procedures

procedure, public :: construct => Concrete_construct
procedure, public :: destroy => Concrete_destroy
procedure, public :: reset_selectors => Concrete_reset_selectors
procedure, public :: get_num_choices => Concrete_get_num_choices
procedure, public :: try => Concrete_try
procedure, private :: metropolis_algorithm => Concrete_metropolis_algorithm
procedure, private :: define_swap => Concrete_define_swap
procedure, private :: acceptation_probability => Concrete_acceptation_probability
procedure, private :: visit_walls => Concrete_visit_walls
procedure, private :: visit_short => Concrete_visit_short
procedure, private :: visit_fields => Concrete_visit_fields
procedure, private :: visit_dipolar => Concrete_visit_dipolar
procedure, private :: update_components => Concrete_update_components

Functions

private pure function Concrete_get_num_choices(this) result(num_choices)

Arguments

Type IntentOptional AttributesName
class(Boxes_Particles_Swap), intent(in) :: this

Return Value integer

private pure function Concrete_acceptation_probability(this, ij_boxes, ij_components, delta_energy) result(probability)

\[ P[i_I^{\boldsymbol{I}} \to N_I^{\boldsymbol{J}} + 1, i_J^{\boldsymbol{J}} \to N_J^{\boldsymbol{I}} + 1] = \min \left(1, \frac{N_I^{\boldsymbol{I}}}{N_I^{\boldsymbol{J}} + 1} \frac{N_J^{\boldsymbol{J}}}{N_J^{\boldsymbol{I}} + 1} e^{-\beta \Delta U_{i_I^{\boldsymbol{I}} \to N_I^{\boldsymbol{J}} + 1, i_J^{\boldsymbol{J}} \to N_J^{\boldsymbol{I}} + 1}} \right) \]

Arguments

Type IntentOptional AttributesName
class(Boxes_Particles_Swap), intent(in) :: this
integer, intent(in) :: ij_boxes(:)
integer, intent(in) :: ij_components(:)
real(kind=DP), intent(in) :: delta_energy

Return Value real(kind=DP)


Subroutines

private subroutine Concrete_construct(this, environment, mixture, short_interactions, dipolar_interactions_dynamic, dipolar_interactions_static, can_translate, box_couples, component_couples, boxes_selector, components_selectors)

Arguments

Type IntentOptional AttributesName
class(Boxes_Particles_Swap), intent(out) :: this
type(Environment_Wrapper), intent(in), target:: environment
type(Mixture_Wrapper), intent(in), target:: mixture
type(Short_Interactions_Wrapper), intent(in), target:: short_interactions
type(Dipolar_Interactions_Dynamic_Wrapper), intent(in), target:: dipolar_interactions_dynamic(:)
type(Dipolar_Interactions_Static_Wrapper), intent(in), target:: dipolar_interactions_static(:)
logical, intent(in) :: can_translate(:,:)
class(Abstract_Hetero_Couples), intent(in) :: box_couples
class(Abstract_Hetero_Couples), intent(in) :: component_couples(:)
class(Abstract_Tower_Sampler), intent(in) :: boxes_selector
class(Abstract_Tower_Sampler), intent(in) :: components_selectors(:)

private subroutine Concrete_destroy(this)

Arguments

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

private subroutine Concrete_reset_selectors(this)

Arguments

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

private subroutine Concrete_try(this, observables)

Arguments

Type IntentOptional AttributesName
class(Boxes_Particles_Swap), intent(in) :: this
type(Generating_Observables_Wrapper), intent(inout) :: observables

private subroutine Concrete_metropolis_algorithm(this, success, deltas, ij_boxes, ij_components)

Arguments

Type IntentOptional AttributesName
class(Boxes_Particles_Swap), intent(in) :: this
logical, intent(out) :: success
type(Concrete_Double_Energies), intent(inout) :: deltas(:)
integer, intent(in) :: ij_boxes(:)
integer, intent(in) :: ij_components(:)

private subroutine Concrete_define_swap(this, abort, partners, ij_boxes, ij_components)

Arguments

Type IntentOptional AttributesName
class(Boxes_Particles_Swap), intent(in) :: this
logical, intent(out) :: abort
type(Concrete_Double_Particle), intent(inout) :: partners(:)
integer, intent(in) :: ij_boxes(:)
integer, intent(in) :: ij_components(:)

private pure subroutine Concrete_visit_walls(this, overlap, deltas, ij_boxes, ij_components, partners)

Arguments

Type IntentOptional AttributesName
class(Boxes_Particles_Swap), intent(in) :: this
logical, intent(out) :: overlap
type(Concrete_Double_Energies), intent(inout) :: deltas(:)
integer, intent(in) :: ij_boxes(:)
integer, intent(in) :: ij_components(:)
type(Concrete_Double_Particle), intent(in) :: partners(:)

private subroutine Concrete_visit_short(this, overlap, deltas, ij_boxes, ij_components, partners)

Arguments

Type IntentOptional AttributesName
class(Boxes_Particles_Swap), intent(in) :: this
logical, intent(out) :: overlap
type(Concrete_Double_Energies), intent(inout) :: deltas(:)
integer, intent(in) :: ij_boxes(:)
integer, intent(in) :: ij_components(:)
type(Concrete_Double_Particle), intent(in) :: partners(:)

private pure subroutine Concrete_visit_fields(this, deltas, ij_boxes, partners)

Arguments

Type IntentOptional AttributesName
class(Boxes_Particles_Swap), intent(in) :: this
type(Concrete_Double_Energies), intent(inout) :: deltas(:)
integer, intent(in) :: ij_boxes(:)
type(Concrete_Double_Particle), intent(in) :: partners(:)

private pure subroutine Concrete_visit_dipolar(this, deltas, ij_boxes, ij_components, partners)

Arguments

Type IntentOptional AttributesName
class(Boxes_Particles_Swap), intent(in) :: this
type(Concrete_Double_Energies), intent(inout) :: deltas(:)
integer, intent(in) :: ij_boxes(:)
integer, intent(in) :: ij_components(:)
type(Concrete_Double_Particle), intent(in) :: partners(:)

private subroutine Concrete_update_components(this, ij_boxes, ij_components, partners)

Arguments

Type IntentOptional AttributesName
class(Boxes_Particles_Swap), intent(in) :: this
integer, intent(in) :: ij_boxes(:)
integer, intent(in) :: ij_components(:)
type(Concrete_Double_Particle), intent(in) :: partners(:)


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