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 \([\mathrm{length}]\), defaults to 0.1.

  • default_a (float, optional) – Default maximum size of rotation trial moves \([\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 \([\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...

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 \([\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 \([\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 \([\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]