def wide_large_triplelayer(): """Generate an empty pore with the following: Three graphene layers Lateral: 3.0 nm x 3.0 nm Width: 1.6 nm Arguments --------- None Returns ------- mbuild.Compound """ # Create pore system pore = recipes.GraphenePore(pore_width=1.6, pore_length=3.0, pore_depth=3.0, n_sheets=3, slit_pore_dim=2) # Translate to centered at 0,0,0 and make box larger in z pore.translate([0, 0, 3.0 - pore.center[2]]) pore.periodicity[2] = 6.0 return pore
def narrow_small_singlelayer(): """Generate an empty pore with the following: Single layer graphene Lateral: 1.0 nm x 1.0 nm Width: 1.0 nm Arguments --------- None Returns ------- mbuild.Compound """ # Create pore system pore = recipes.GraphenePore(pore_width=1.0, pore_length=1.0, pore_depth=1.1, n_sheets=1, slit_pore_dim=2) # Translate to centered at 0,0,0 and make box larger in z pore.translate([0, 0, 1.0 - pore.center[2]]) pore.periodicity[2] = 2.0 return pore
# builds water reservoir (end) #************************************************************** #************************************************************** # builds empty graphene slit for 10 Ang or 1nm (start) #************************************************************** # Create graphene system pore_width_nm = 1.0 No_sheets = 3 sheet_spacing = 0.335 #for GOMC, currently we need to add the space at the end of the simulation # this does not matter as we are using PBC's graphene =recipes.GraphenePore( pore_width=sheet_spacing , pore_length=3.0, pore_depth=3.0, n_sheets=No_sheets, slit_pore_dim=2 ) # Translate to centered at-graphene.center[0], -graphene.center[1],0 and make box larger in z graphene.translate([ -graphene.center[0], -graphene.center[1],0]) graphene.periodicity[2] = sheet_spacing*(2*No_sheets-1)+pore_width_nm mf_charmm.charmm_psf_psb_FF(graphene, 'pore_3x3x1.0nm_3-layer', structure_1 = box_reservior, filename_1 = 'GOMC_reservior_box',
# Create graphene system pore_width_nm = 2 No_sheets = 3 sheet_spacing = 1 water_spacing_from_walls = 0.2 Total_box_z_axis_nm = 6 graphene_sheet_space_nm = 0.335 n_waters = 485 empty_graphene_pore =recipes.GraphenePore( pore_width=pore_width_nm , pore_length=3.0, pore_depth=3.0, n_sheets=No_sheets, slit_pore_dim=2 ) z_shift= Total_box_z_axis_nm / 2 - (graphene_sheet_space_nm * (No_sheets - 1) + pore_width_nm/2) water_between_pores = mb.fill_box(compound=[water], n_compounds= [n_waters] , box=[2.90, 2.90, pore_width_nm - water_spacing_from_walls*1]) water_between_pores.translate([0, 0, water_spacing_from_walls + graphene_sheet_space_nm*(No_sheets-1)]) water_between_pores.translate([ -water_between_pores.center[0], -water_between_pores.center[1], z_shift]) empty_graphene_pore.translate([ -empty_graphene_pore.center[0], -empty_graphene_pore.center[1], z_shift]) filled_pore = empty_graphene_pore filled_pore.add(water_between_pores, inherit_periodicity=False) filled_pore.periodicity[2] = Total_box_z_axis_nm