Abstract_Particle_Insertion_Method Derived Type

type, public, abstract :: Abstract_Particle_Insertion_Method

type~~abstract_particle_insertion_method~~InheritsGraph type~abstract_particle_insertion_method Abstract_Particle_Insertion_Method Abstract_Num_Particles Abstract_Num_Particles Abstract_Num_Particles->type~abstract_particle_insertion_method nums_particles Dipolar_Interactions_Dynamic_Wrapper Dipolar_Interactions_Dynamic_Wrapper Dipolar_Interactions_Dynamic_Wrapper->type~abstract_particle_insertion_method dipolar_interactions_dynamic Short_Interactions_Wrapper Short_Interactions_Wrapper Short_Interactions_Wrapper->type~abstract_particle_insertion_method short_interactions Component_Wrapper Component_Wrapper Component_Wrapper->type~abstract_particle_insertion_method components Environment_Wrapper Environment_Wrapper Environment_Wrapper->type~abstract_particle_insertion_method environment Abstract_Random_Coordinates Abstract_Random_Coordinates Abstract_Random_Coordinates->type~abstract_particle_insertion_method random_positions, random_orientation
Help


Inherited By

type~~abstract_particle_insertion_method~~InheritedByGraph type~abstract_particle_insertion_method Abstract_Particle_Insertion_Method type~null_particle_insertion_method Null_Particle_Insertion_Method type~abstract_particle_insertion_method->type~null_particle_insertion_method type~concrete_particle_insertion_method Concrete_Particle_Insertion_Method type~abstract_particle_insertion_method->type~concrete_particle_insertion_method
Help

Components

TypeVisibility AttributesNameInitial
type(Environment_Wrapper), private, pointer:: environment=> null()
class(Abstract_Num_Particles), private, allocatable:: nums_particles(:)
type(Component_Wrapper), private, pointer:: components(:,:)=> null()
type(Short_Interactions_Wrapper), private, pointer:: short_interactions=> null()
type(Dipolar_Interactions_Dynamic_Wrapper), private, pointer:: dipolar_interactions_dynamic(:)=> null()
class(Abstract_Random_Coordinates), private, allocatable:: random_positions(:)
class(Abstract_Random_Coordinates), private, allocatable:: random_orientation

Type-Bound Procedures

procedure, public :: construct => Abstract_construct

  • private subroutine Abstract_construct(this, environment, nums_particles, components, short_interactions, dipolar_interactions_dynamic, random_positions, random_orientation)

    Arguments

    Type IntentOptional AttributesName
    class(Abstract_Particle_Insertion_Method), intent(out) :: this
    type(Environment_Wrapper), intent(in), target:: environment
    class(Abstract_Num_Particles), intent(in) :: nums_particles(:)
    type(Component_Wrapper), intent(in), target:: components(:,:)
    type(Short_Interactions_Wrapper), intent(in), target:: short_interactions
    type(Dipolar_Interactions_Dynamic_Wrapper), intent(in), target:: dipolar_interactions_dynamic(:)
    class(Abstract_Random_Coordinates), intent(in) :: random_positions(:)
    class(Abstract_Random_Coordinates), intent(in) :: random_orientation

procedure, public :: destroy => Abstract_destroy

procedure, public :: try => Abstract_try

procedure, private :: visit_walls => Abstract_visit_walls

  • private subroutine Abstract_visit_walls(this, overlap, delta, i_box, i_component, test)

    Arguments

    Type IntentOptional AttributesName
    class(Abstract_Particle_Insertion_Method), intent(in) :: this
    logical, intent(out) :: overlap
    real(kind=DP), intent(out) :: delta
    integer, intent(in) :: i_box
    integer, intent(in) :: i_component
    type(Concrete_Particle), intent(in) :: test

procedure, private :: visit_short => Abstract_visit_short

  • private subroutine Abstract_visit_short(this, overlap, deltas, i_box, i_component, test)

    Arguments

    Type IntentOptional AttributesName
    class(Abstract_Particle_Insertion_Method), intent(in) :: this
    logical, intent(out) :: overlap
    real(kind=DP), intent(out) :: deltas(:)
    integer, intent(in) :: i_box
    integer, intent(in) :: i_component
    type(Concrete_Particle), intent(in) :: test

procedure, private :: visit_field => Abstract_visit_field

  • private subroutine Abstract_visit_field(this, delta, i_box, test)

    Arguments

    Type IntentOptional AttributesName
    class(Abstract_Particle_Insertion_Method), intent(in) :: this
    real(kind=DP), intent(out) :: delta
    integer, intent(in) :: i_box
    type(Concrete_Particle), intent(in) :: test

procedure, private :: visit_dipolar => Abstract_visit_dipolar

  • private subroutine Abstract_visit_dipolar(this, deltas, delta_shared_energy, i_box, i_component, test)

    Arguments

    Type IntentOptional AttributesName
    class(Abstract_Particle_Insertion_Method), intent(in) :: this
    real(kind=DP), intent(out) :: deltas(:)
    real(kind=DP), intent(out) :: delta_shared_energy
    integer, intent(in) :: i_box
    integer, intent(in) :: i_component
    type(Concrete_Particle), intent(in) :: test

Abstract_Average_Num_Particles Abstract_Beta_Pressure Abstract_Beta_Pressure_Excess Abstract_Box_Particle_Exchange Abstract_Box_Particle_Move Abstract_Box_Particles_Swap Abstract_Box_Size_Checker Abstract_Box_Size_Memento Abstract_Changed_Box_Size Abstract_Changed_Box_Size_Ratio Abstract_Changes_Success_Writer Abstract_Complete_Coordinates_Reader Abstract_Complete_Coordinates_Writer Abstract_Component_Chemical_Potential Abstract_Component_Coordinates Abstract_Component_Coordinates_Reader Abstract_Component_Coordinates_Writer Abstract_Component_Dipole_Moments Abstract_Coordinates Abstract_Coordinates_Copier Abstract_Density_Explorer Abstract_DES_Convergence_Parameter Abstract_DES_Real_Component Abstract_DES_Real_Pair Abstract_DES_Reci_Structure Abstract_DES_Reci_Visitor Abstract_DES_Reci_Weight Abstract_DES_Self_Component Abstract_DES_Surf_Mixture Abstract_Dipolar_Interactions_Facade Abstract_Dipolar_Neighbourhood Abstract_Dipolar_Neighbourhoods_Visitor Abstract_Dirac_Distribution_Plus Abstract_Directed_Graph_Writer Abstract_DLC_Structures Abstract_DLC_Visitor Abstract_DLC_Weight Abstract_Exchanged_Boxes_Size Abstract_External_Field Abstract_Field_Expression Abstract_Floor_Penetration Abstract_Generating_Algorithm Abstract_Hard_Contact Abstract_Hetero_Couples Abstract_Line_Writer Abstract_Maximum_Box_Compression Abstract_Maximum_Box_Compression_Explorer Abstract_Min_Distance Abstract_Mixture_Total_Moment Abstract_Move_Tuner Abstract_Moved_Coordinates Abstract_Neighbour_Cells Abstract_Num_Particles Abstract_Number_to_String Abstract_Pair_Potential Abstract_Parallelepiped_Domain Abstract_Particle_Insertion_Method Abstract_Periodic_Box Abstract_Permittivity Abstract_PLMC_Propagator Abstract_Potential_Expression Abstract_Radial_Explorer Abstract_Random_Coordinates Abstract_Real_Writer Abstract_Reciprocal_Lattice Abstract_Rectangle_Writer Abstract_Short_Pairs_Visitor Abstract_Structure_Factor Abstract_Structure_Visitor Abstract_Temperature Abstract_Tower_Sampler Abstract_Triangle_Writer Abstract_Tunable_Move Abstract_Visitable_Cells Abstract_Visitable_Cells_Memento Abstract_Visitable_List Abstract_Visitable_Walls Abstract_Volume_Change_Method Abstract_Walls_Visitor Box_Particle_Add Box_Particle_Remove Box_Particle_Rotation Box_Particle_Translation Box_Particles_Switch Box_Particles_Transmutation Box_Volume_Change Boxed_Parallelepiped_Domain Boxes_Particle_Teleportation Boxes_Particles_Swap Boxes_Volume_Exchange Cells_Wrapper Centered_Block_Penetration Centered_Plates_Expression Changes_Component_Wrapper Changes_Success_Writer_Selector Changes_Success_Writer_Wrapper Changes_Wrapper Component_Coordinates_Reader_Selector Component_Coordinates_Reader_wrapper Component_Coordinates_Writer_Selector Component_Coordinates_Writer_Wrapper Component_Wrapper Concrete_Beta_Pressure Concrete_Change_Counter Concrete_Change_Counter_Line Concrete_Changed_Box_Size Concrete_Changes_Counter Concrete_Changes_Success Concrete_Changes_Success_Writer Concrete_Complete_Coordinates_Reader Concrete_Complete_Coordinates_Writer Concrete_Component_Chemical_Potential Concrete_Component_Coordinates_Reader Concrete_Component_Coordinates_Writer Concrete_Component_Dipole_Moments Concrete_Component_Orientations Concrete_Component_Orientations_Reader Concrete_Component_Positions Concrete_Component_Positions_Reader Concrete_DES_Convergence_Parameter Concrete_DES_Real_Component Concrete_DES_Reci_Structure Concrete_DES_Reci_Visitor Concrete_DES_Reci_Weight Concrete_DES_Self_Component Concrete_Dipolar_Neighbourhood Concrete_Dipolar_Neighbourhoods_Visitor Concrete_DLC_Structures Concrete_DLC_Visitor Concrete_DLC_Weight Concrete_Double_Energies Concrete_Double_Particle Concrete_Energies_Writers Concrete_External_Field Concrete_Line_Writer Concrete_Linkable_Node Concrete_Maximum_Box_Compression_Explorer Concrete_Min_Distance Concrete_Mixture_Total_Moment Concrete_Move_Tuner Concrete_Move_Tuner_Parameters Concrete_Move_Tuning_Parameters Concrete_Node Concrete_Num_Particles Concrete_Number_to_String Concrete_Observables_Changes Concrete_Observables_Energies Concrete_Parallelepiped_Domain Concrete_Particle Concrete_Particle_Insertion_Method Concrete_Permittivity Concrete_PLMC_Propagator Concrete_Potential_Domain Concrete_Potential_Domain_Selector Concrete_Random_Orientation Concrete_Random_Position Concrete_Raw_Coordinates Concrete_Real_Writer Concrete_Reciprocal_Lattice Concrete_Rectangle_Writer Concrete_Rotated_Orientations Concrete_Short_Pairs_Visitor Concrete_Single_Energies Concrete_Temperature Concrete_Tower_Sampler Concrete_Translated_Positions Concrete_Triangle_Writer Concrete_Visitable_Array Concrete_Visitable_Arrays_Memento Concrete_Visitable_Cells Concrete_Visitable_List Concrete_Visitable_Lists_Memento Concrete_Visitable_Walls Concrete_Volume_Change_Method Concrete_Walls_Visitor Constant_Chemical_Potential_Num_Particles Constant_Field_Expression Constant_Num_Particles DES_Real_Component_Wrapper DES_Self_Component_Wrapper Dipolar_Interactions_Dynamic_Wrapper Dipolar_Interactions_Static_Wrapper Dipolar_Neighbourhood_Line Dipolar_Neighbourhood_Wrapper Dot_Directed_Graph_Writer Environment_Wrapper Equipartition_Num_Particles Exchanged_Boxes_Size_Line Exchanged_Boxes_Size_Wrapper Exploring_Box_Size_Checker Exploring_IO_Wrapper Exploring_JSON_Report Exploring_Writers_Wrapper Flat_Floor_Penetration Forgetful_Box_Size_Memento Full_Hetero_Couples Gaussian_Dirac_Distribution_Plus Generating_Algorithm_Wrapper Generating_Box_Size_Checker Generating_IO_Wrapper Generating_JSON_Report Generating_Observables_Wrapper Generating_Writers_Wrapper Half_Hetero_Couples Inter_Radial_Explorer Intra_Radial_Explorer Lennard_Jones_Expression Line_Writer_Wrapper Logical_Line Logical_Rectangle Logical_Triangle Markov_Chain_Explorer_Wrapper Markov_Chain_Generator_Wrapper Min_Distance_Line Min_Distance_Wrapper Mixture_Wrapper Move_Tuner_Line Move_Tuner_Wrapper Neighbour_Cells_Line Neighbour_Cells_Wrapper Null_Average_Num_Particles Null_Beta_Pressure Null_Beta_Pressure_Excess Null_Box_Size_Memento Null_Changed_Box_Size Null_Changed_Box_Size_Ratio Null_Changes_Success_Writer Null_Complete_Coordinates_Writer Null_Component_Chemical_Potential Null_Component_Coordinates Null_Component_Coordinates_Reader Null_Component_Coordinates_Writer Null_Component_Dipole_Moments Null_Coordinates_Copier Null_DES_Convergence_Parameter Null_DES_Real_Component Null_DES_Real_Pair Null_DES_Reci_Structure Null_DES_Reci_Visitor Null_DES_Reci_Weight Null_DES_Self_Component Null_DES_Surf_Mixture Null_Dipolar_Interactions_Facade Null_Dipolar_Neighbourhood Null_Dipolar_Neighbourhoods_Visitor Null_Dirac_Distribution_Plus Null_Directed_Graph_Writer Null_DLC_Structures Null_DLC_Visitor Null_DLC_Weight Null_Exchanged_Boxes_Size Null_External_Field Null_Field_Expression Null_Floor_Penetration Null_Generating_Algorithm Null_Hard_Contact Null_Hetero_Couples Null_Line_Writer Null_Maximum_Box_Compression Null_Maximum_Box_Compression_Explorer Null_Min_Distance Null_Mixture_Total_Moment Null_Move_Tuner Null_Moved_Coordinates Null_Neighbour_Cells Null_Num_Particles Null_Number_to_String Null_Pair_Potential Null_Parallelepiped_Domain Null_Particle_Insertion_Method Null_Permittivity Null_PLMC_Propagator Null_Potential_Expression Null_Random_Coordinates Null_Real_Writer Null_Reciprocal_Lattice Null_Rectangle_Writer Null_Short_Pairs_Visitor Null_Tower_Sampler Null_Triangle_Writer Null_Visitable_Cells Null_Visitable_Cells_Memento Null_Visitable_List Null_Visitable_Walls Null_Volume_Change_Method Null_Walls_Visitor Number_to_String_Line Number_to_String_Wrapper Pair_Potential_Line Pair_Potential_Wrapper Physical_Model_Wrapper Plain_Density_Explorer Random_Filling_Coordinates_Copier Raw_DES_Real_Pair Raw_Pair_Potential Readers_Wrapper Real_Line Rectangle_Writer_Wrapper Rectangular_DES_Surf_Mixture Rectangular_Dirac_Distribution_Plus Retentive_Box_Size_Memento Scalable_Dipolar_Interactions_Facade Short_Interactions_Wrapper Spherical_DES_Surf_Mixture String_Wrapper Tabulated_DES_Real_Pair Tabulated_Pair_Potential Unscalable_Dipolar_Interactions_Facade Walled_Parallelepiped_Domain XY_Beta_Pressure_Excess XY_Changed_Box_Size_Ratio XY_Exchanged_Boxes_Size XY_Hard_Contact XY_Maximum_Box_Compression XY_PBC_Neighbour_Cells XY_Periodic_Box XYZ_Beta_Pressure_Excess XYZ_Changed_Box_Size_Ratio XYZ_Exchanged_Boxes_Size XYZ_Hard_Contact XYZ_Maximum_Box_Compression XYZ_PBC_Neighbour_Cells XYZ_Periodic_Box XZ_Density_Explorer Yukawa_Expression Z_Density_Explorer