本文整理汇总了Python中mbuild.fill_box函数的典型用法代码示例。如果您正苦于以下问题:Python fill_box函数的具体用法?Python fill_box怎么用?Python fill_box使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了fill_box函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_create_semi_rigid_bodies_hierarchy
def test_create_semi_rigid_bodies_hierarchy(self, benzene_from_parts):
n_benzenes = 10
filled = mb.fill_box(benzene_from_parts,
n_compounds=n_benzenes,
box=[0, 0, 0, 4, 4, 4])
filled.name = 'Benzene box'
filled2 = mb.clone(filled)
compound = mb.Compound(subcompounds=[filled, filled2])
compound.label_rigid_bodies(discrete_bodies='Benzene box')
assert compound.max_rigid_id == 1
assert filled.max_rigid_id == 0
assert filled2.max_rigid_id == 1
assert len(list(compound.rigid_particles())) == n_benzenes * 2 * 12
compound.unlabel_rigid_bodies()
compound.label_rigid_bodies(discrete_bodies='Benzene', rigid_particles='C')
assert compound.max_rigid_id == (n_benzenes*2) - 1
assert filled.max_rigid_id == n_benzenes - 1
assert filled2.max_rigid_id == (n_benzenes*2) - 1
assert len(list(compound.rigid_particles())) == n_benzenes * 2 * 6
assert len(list(filled.rigid_particles())) == n_benzenes * 6
assert len(list(filled2.rigid_particles())) == n_benzenes * 6
compound.unlabel_rigid_bodies()
compound.label_rigid_bodies(discrete_bodies='CH')
assert compound.max_rigid_id == (n_benzenes*2*6) - 1
assert filled.max_rigid_id == (n_benzenes*6) - 1
assert filled2.max_rigid_id == (n_benzenes*2*6) - 1
assert len(list(compound.rigid_particles())) == n_benzenes * 2 * 12
assert len(list(filled.rigid_particles())) == n_benzenes * 12
assert len(list(filled2.rigid_particles())) == n_benzenes * 12
示例2: test_label_rigid_bodies_duplicate_warn
def test_label_rigid_bodies_duplicate_warn(self, rigid_benzene):
with pytest.warns(UserWarning):
n_benzenes = 10
filled = mb.fill_box(rigid_benzene,
n_compounds=n_benzenes,
box=[0, 0, 0, 4, 4, 4])
filled.label_rigid_bodies(discrete_bodies='Benzene')
示例3: build_ethane_box
def build_ethane_box(box, n_molecules):
from mbuild.examples import Ethane
import mbuild as mb
ethane = Ethane()
full_box = mb.fill_box(ethane, n_molecules, box)
full_box.name = '{}_ethanes'.format(n_molecules)
return full_box
示例4: test_no_rotate
def test_no_rotate(self, h2o):
filled = mb.fill_box([h2o, h2o], [1, 1], box=[1, 1, 1], fix_orientation=[False, True])
w0 = filled.xyz[:3]
w1 = filled.xyz[3:]
# Translate w0 and w1 to COM
w0 -= w0.sum(0) / len(w0)
w1 -= w1.sum(0) / len(w1)
assert np.isclose(w0, w1).all() is not True
示例5: test_write_temp_file
def test_write_temp_file(self, h2o):
cwd = os.getcwd() # Must keep track of the temp dir that pytest creates
filled = mb.fill_box(h2o, n_compounds=10, box=[4, 4, 4], temp_file='temp_file1.pdb')
region = mb.fill_region(h2o, 10, [2, 2, 2, 4, 4, 4], temp_file='temp_file2.pdb')
solvated = mb.solvate(filled, h2o, 10, box=[4, 4, 4], temp_file='temp_file3.pdb')
assert os.path.isfile(os.path.join(cwd, 'temp_file1.pdb'))
assert os.path.isfile(os.path.join(cwd, 'temp_file2.pdb'))
assert os.path.isfile(os.path.join(cwd, 'temp_file3.pdb'))
示例6: test_rotate
def test_rotate(self, h2o):
filled = mb.fill_box(h2o, 2, box=[1, 1, 1], fix_orientation=True)
w0 = filled.xyz[:3]
w1 = filled.xyz[3:]
# Translate w0 and w1 to COM
w0 -= w0.sum(0) / len(w0)
w1 -= w1.sum(0) / len(w1)
assert np.isclose(w0, w1).all()
示例7: box_of_benzenes
def box_of_benzenes(self, benzene):
n_benzenes = 10
benzene.name = 'Benzene'
filled = mb.fill_box(benzene,
n_compounds=n_benzenes,
box=[0, 0, 0, 4, 4, 4])
filled.label_rigid_bodies(discrete_bodies='Benzene', rigid_particles='C')
return filled
示例8: test_delete_body_multiple
def test_delete_body_multiple(self, rigid_benzene):
n_benzenes = 10
filled = mb.fill_box(rigid_benzene,
n_compounds=n_benzenes,
box=[0, 0, 0, 4, 4, 4])
filled.remove([filled.children[0], filled.children[1]])
assert filled.max_rigid_id == n_benzenes - 3
assert len(list(filled.rigid_particles())) == (n_benzenes - 2) * rigid_benzene.n_particles
示例9: test_box_dimensions
def test_box_dimensions(self, benzene):
n_benzenes = 10
filled = mb.fill_box(benzene,
n_compounds=n_benzenes,
box=[0, 0, 0, 4, 4, 4])
filled.save(filename='benzene.hoomdxml')
for atom in mb.load('benzene.hoomdxml'):
assert atom.pos.max() < 20
assert atom.pos.min() > -20
示例10: test_label_semi_rigid_bodies_after_fill
def test_label_semi_rigid_bodies_after_fill(self, benzene):
n_benzenes = 10
filled = mb.fill_box(benzene,
n_compounds=n_benzenes,
box=[0, 0, 0, 4, 4, 4])
filled.label_rigid_bodies(discrete_bodies='Benzene', rigid_particles='C')
assert filled.max_rigid_id == n_benzenes - 1
assert len(list(filled.rigid_particles())) == n_benzenes * 6
示例11: test_save_non_sequential_rigid_ids
def test_save_non_sequential_rigid_ids(self, benzene):
n_benzenes = 10
filled = mb.fill_box(benzene,
n_compounds=n_benzenes,
box=[0, 0, 0, 4, 4, 4])
filled.label_rigid_bodies(discrete_bodies='Benzene')
filled.children[0]._increment_rigid_ids(increment=3)
with pytest.warns(UserWarning):
filled.save('benzene-box.hoomdxml')
示例12: test_delete_body_semi_rigid
def test_delete_body_semi_rigid(self, benzene):
n_benzenes = 10
filled = mb.fill_box(benzene,
n_compounds=n_benzenes,
box=[0, 0, 0, 4, 4, 4])
filled.label_rigid_bodies(discrete_bodies='Benzene', rigid_particles='C')
filled.remove(filled.children[0])
assert filled.max_rigid_id == n_benzenes - 2
assert len(list(filled.rigid_particles())) == (n_benzenes - 1) * 6
示例13: test_fill_box_rigid
def test_fill_box_rigid(self, rigid_benzene):
n_benzenes = 10
filled = mb.fill_box(rigid_benzene,
n_compounds=n_benzenes,
box=[0, 0, 0, 4, 4, 4])
assert filled.contains_rigid is True
assert filled.rigid_id is None
assert filled.max_rigid_id == n_benzenes - 1
assert len(list(filled.rigid_particles())) == n_benzenes * rigid_benzene.n_particles
示例14: test_delete_body_particle_by_particle
def test_delete_body_particle_by_particle(self, rigid_benzene):
n_benzenes = 10
filled = mb.fill_box(rigid_benzene,
n_compounds=n_benzenes,
box=[0, 0, 0, 4, 4, 4])
for particle in filled.children[0].particles():
filled.remove(particle)
assert filled.max_rigid_id == n_benzenes - 2
assert len(list(filled.rigid_particles())) == (n_benzenes - 1) * rigid_benzene.n_particles
示例15: test_fill_box_semi_rigid
def test_fill_box_semi_rigid(self, benzene):
n_benzenes = 10
benzene.label_rigid_bodies(rigid_particles='C')
filled = mb.fill_box(benzene,
n_compounds=n_benzenes,
box=[0, 0, 0, 4, 4, 4])
assert filled.contains_rigid is True
assert filled.rigid_id is None
assert filled.max_rigid_id == n_benzenes - 1
assert len(list(filled.rigid_particles())) == n_benzenes * 6