Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
# 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',
Exemple #4
0
# 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