def METHOD_NAME(d=1.0,
                  theta_deg=60,
                  particle_types=['A'],
                  dimensions=3,
                  L=20):
    theta_rad = theta_deg * (numpy.pi / 180)
    snapshot = hoomd.Snapshot(device.communicator)
    N = 3
    if snapshot.communicator.rank == 0:
        box = [L, L, L, 0, 0, 0]
        if dimensions == 2:
            box[2] = 0
        snapshot.configuration.box = box
        snapshot.particles.N = N
        base_positions = numpy.array([
            [
                -d * numpy.sin(theta_rad / 2), d * numpy.cos(theta_rad / 2),
                0.0
            ],
            [0.0, 0.0, 0.0],
            [
                d * numpy.sin(theta_rad / 2),
                d * numpy.cos(theta_rad / 2),
                0.0,
            ],
        ])
        # move particles slightly in direction of MPI decomposition which
        # varies by simulation dimension
        nudge_dimension = 2 if dimensions == 3 else 1
        base_positions[:, nudge_dimension] += 0.1
        snapshot.particles.position[:] = base_positions
        snapshot.particles.types = particle_types
        snapshot.angles.N = 1
        snapshot.angles.types = ['A-A-A']
        snapshot.angles.typeid[0] = 0
        snapshot.angles.group[0] = (0, 1, 2)
    return snapshot