ConvexPolyhedron

class hoomd.hpmc.nec.integrate.ConvexPolyhedron(default_d=0.1, default_a=0.1, chain_probability=0.5, chain_time=0.5, update_fraction=0.5, nselect=1)

Bases: HPMCNECIntegrator

HPMC integration for convex polyhedra (3D) with nec.

Parameters:
  • default_d (float, optional) – Default collision search distance [length][\mathrm{length}], defaults to 0.1.

  • default_a (float, optional) – Default maximum size of rotation trial moves [dimensionless][\mathrm{dimensionless}], defaults to 0.1.

  • chain_probability (float, optional) – Probability of making a chain move instead of a rotation move, defaults to 0.5.

  • chain_time (float, optional) – Length of a chain [time][\mathrm{time}], defaults to 0.5.

  • update_fraction (float, optional) – Number of chains to be done as fraction of N, defaults to 0.5.

  • nselect (int, optional) – Number of repeated updates for the cell/system, defaults to 1.

Perform Newtonian event chain Monte Carlo integration of convex polyhedra.

Wall support.

ConvexPolyhedron supports no hoomd.wall geometries.

Potential support.

ConvexPolyhedron does not support pair_potential or external_potential.

Attention

ConvexPolyhedron does not support execution on GPUs.

Attention

ConvexPolyhedron does not support MPI parallel simulations.

Example:

mc = hoomd.hpmc.nec.integrate.ConvexPolyhedron(
    d=1.0, a=0.05, chain_probability=0.1, nselect=10
)
mc.shape["A"] = dict(
    vertices=[
        [1, 1, 1],
        [1, 1, -1],
        [1, -1, 1],
        [1, -1, -1],
        [-1, 1, 1],
        [-1, 1, -1],
        [-1, -1, 1],
        [-1, -1, -1],
    ]
)

Members inherited from AutotunedObject:

property kernel_parameters

Kernel parameters. Read more...

property is_tuning_complete

Check if kernel parameter tuning is complete. Read more...

tune_kernel_parameters()

Start tuning kernel parameters. Read more...

Members inherited from HPMCIntegrator:

a

Maximum size of the rotation trial moves. Read more...

d

Maximum size of displacement trial moves Read more...

interaction_matrix

Set which types interact with other types. Read more...

translation_move_probability

Fraction of moves to be selected as translation moves. Read more...

nselect

Number of trial moves to perform per particle per timestep. Read more...

translate_move_dimensions

Dimensionality for translation moves. Read more...

kT

Temperature set point. Read more...

property counters

Trial move counters. Read more...

property external_energy

Total external energy contributed by all external potentials. Read more...

property external_potentials

External potentials to apply. Read more...

property map_overlaps

List of overlapping particles. Read more...

property mps

Number of trial moves performed per second. Read more...

property overlaps

Number of overlapping particle pairs. Read more...

property pair_energy

Total potential energy contributed by all pair potentials. Read more...

property pair_potentials

Pair potentials to apply. Read more...

property rotate_moves

Count of the accepted and rejected rotate moves. Read more...

property translate_moves

Count of the accepted and rejected translate moves. Read more...

Members inherited from HPMCNECIntegrator:

chains_in_space

Rate of chain events that did neither collide nor end. Read more...

nec_counters

Trial move counters Read more...

particles_per_chain

Particles per chain. Read more...

virial_pressure

Virial pressure. Read more...

Members defined in ConvexPolyhedron:

chain_probability

Probability of making a chain move instead of a rotation move.

Type:

float

chain_time

Length of a chain [time][\mathrm{time}].

Type:

float

update_fraction

Number of chains to be done as fraction of N.

Type:

float

shape

The shape parameters for each particle type. The dictionary has the following keys.

  • vertices (list [tuple [float, float, float]], required) - vertices of the polyhedron [length][\mathrm{length}].

    • The origin MUST be contained within the polyhedron.

    • The origin centered sphere that encloses all vertices should be of minimal size for optimal performance.

  • ignore_statistics (bool, default: False) - set to True to ignore tracked statistics.

  • sweep_radius (float, default: 0.0) - Ignored, but present because ConvexPolyhedron shares data structures with ConvexSpheropolyhedron [length][\mathrm{length}].

Warning

HPMC does not check that all vertex requirements are met. Undefined behavior will result when they are violated.

Type:

TypeParameter [particle type, dict]

property type_shapes

Description of shapes in type_shapes format.

Example

>>> mc.type_shapes()
[{'type': 'ConvexPolyhedron', 'sweep_radius': 0,
  'vertices': [[0.5, 0.5, 0.5], [0.5, -0.5, -0.5],
               [-0.5, 0.5, -0.5], [-0.5, -0.5, 0.5]]}]

(Loggable: category=”object”)

Type:

list[dict]