def get_sorptionproperties(system, step):
    """Get some basic parameters for each layer."""

    root = CapSimWindow(master=None, buttons=1)
    root.make_window(SorptionProperties(root, system))
    root.mainloop()

    if root.main.get() == 1: system = None
    else:
        if root.step.get() == 1:
            system.get_sorptionproperties(root.window)
            for component in system.components:
                component.remove_sorptionwidgets()
            for chemical in system.chemicals:
                if chemical.soluable == 1:
                    chemical.remove_sorptionwidgets()
            for component in system.components:
                for chemical in system.chemicals:
                    if chemical.soluable == 1:
                        system.sorptions[component.name][
                            chemical.name].remove_propertieswidgets()
        else:
            system.sorptions = None

    root.destroy()

    return system, step + root.step.get()
def get_layerconditions(system, step):
    """Get specific parameters for the layers."""

    root = CapSimWindow(buttons=1)
    root.make_window(LayerConditions(root, system))
    root.okbutton.focus_set()
    root.mainloop()

    if root.main.get() == 1: system = None
    else:
        if root.step.get() == 1:
            system.get_layerconditions(root.window)
            for layer in system.layers:
                layer.get_layerconditions()
                layer.remove_ICwidgets()
                for chemical in system.chemicals:
                    if chemical.soluable == 1:
                        system.ICs[layer.name][chemical.name].remove_widgets()

            for chemical in system.chemicals:
                if chemical.soluable == 1:
                    chemical.remove_ICwidgets()
                    system.BCs[chemical.name].remove_widgets()
        else:
            system.ICs = None
            system.BCs = None
            for layer in system.layers:
                layer.ICtype = 'Uniform'
                layer.remove_ICwidgets()

    root.destroy()

    return system, step + root.step.get()
def get_reactioncoefficients(system, step):
    """Get some basic parameters for each layer."""

    root_step = 0

    if len(system.reactions) > 0:
        root = CapSimWindow(master=None, buttons=1)
        root.make_window(ReactionCoefficients(root, system, editflag=0))
        root.mainloop()

        if root.main.get() == 1: system = None
        else:
            root_step = root.step.get()
            if root.step.get() == 1:
                system.get_reactioncoefficients(root.window)
                for layer in system.layers:
                    layer.remove_reactionwidgets()
                    for reaction in system.reactions:
                        system.coefficients[layer.name][
                            reaction.name].remove_propertieswidgets()
            else:
                system.coefficients = None
        root.destroy()

    else:
        if system.coefficients == None:
            root_step = 1
            system.coefficients = {}
            for layer in system.layers:
                system.coefficients[layer.name] = {}
        else:
            system.coefficients = None
            root_step = -1

    return system, step + root_step
def get_systemproperties(system, step):
    """Get flow and system parameters."""

    root = CapSimWindow(buttons=1)
    root.make_window(SystemProperties(root, system))
    root.mainloop()

    if root.main.get() == 1: system = None
    else:
        if root.step.get() == 1:
            system.get_systemproperties(root.window)
        else:
            system.adv = 'None'
            system.bio = 'None'
            system.con = 'None'

            system.Vdar = 0
            system.Vtidal = 0
            system.ptidal = 1
            system.sigma = 10
            system.hbio = 10
            system.Dbiop = 1
            system.Dbiopw = 100
            system.hcon = 0
            system.t90 = 1

    root.destroy()

    return system, step + root.step.get()
Exemplo n.º 5
0
def get_solidlayerconditions(system, step):

    root_step = 0

    solid_check = 0
    for chemical in system.chemicals:
        for component in system.components:
            if system.sorptions[component.name][
                    chemical.name].kinetic == 'Transient':
                solid_check = 1

    if solid_check == 1:
        root = CapSimWindow(buttons=1)
        root.make_window(SolidLayerConditions(root, system))
        root.okbutton.focus_set()
        root.mainloop()

        if root.main.get() == 1: system = None
        else:
            root_step = root.step.get()
            if root.step.get() == 1:
                system.get_solidlayerconditions(root.window)
                for layer in system.layers:
                    layer.remove_SolidICwidgets()
                    for component in system.matrices[
                            layer.type_index].components:
                        component.remove_SolidICswidgets()
                        for chemical in system.chemicals:
                            system.SolidICs[layer.name][component.name][
                                chemical.name].remove_widgets()

                for chemical in system.chemicals:
                    try:
                        chemical.remove_ICwidgets()
                    except:
                        pass
            else:
                system.SolidICs = None

        root.destroy()

    else:
        if system.SolidICs == None:
            root_step = 1
            system.SolidICs = {}
            for layer in system.layers:
                system.SolidICs[layer.name] = {}
                for component in system.matrices[layer.type_index].components:
                    system.SolidICs[layer.name][component.name] = {}
                    for chemical in system.chemicals:
                        system.SolidICs[layer.name][component.name][
                            chemical.name] = SolidIC(layer.name,
                                                     component.name,
                                                     chemical.name)

        else:
            system.SolidICs = None
            root_step = -1

    return system, step + root_step
Exemplo n.º 6
0
def edit_soliddatabase(soliddatabase, system):
    """Makes the GUI that is used to edit the chemical database."""

    root = CapSimWindow(master=None, buttons=None)
    root.make_window(Database(root, system, soliddatabase))
    root.mainloop()

    database = root.window.database
    flag = root.window.exitflag
    root.destroy()
    return database, flag
Exemplo n.º 7
0
def show_help(system):
    """Shows the main menu."""

    root = CapSimWindow(buttons = 2)
    root.make_window(Help(root, system))
    root.mainloop()

    flag = root.main.get()
        
    root.destroy()

    return flag
Exemplo n.º 8
0
def show_mainmenu(system):
    """Shows the main menu."""

    root = CapSimWindow(master=None, buttons=None)
    root.make_window(MainMenu(root, system))
    root.mainloop()

    option = root.window.option.get()
    filename = root.window.filename.get()

    root.destroy()

    return option, filename
Exemplo n.º 9
0
def solve_system(system):
    """Makes the GUI that shows the status of the simulation and runs the
    simulation."""

    root = CapSimWindow(buttons=2)
    root.make_window(Solver(root, system))
    root.mainloop()

    output = root.window.output
    main = root.main.get()

    root.destroy()

    return output, main
Exemplo n.º 10
0
def get_systemunits(system, step):
    """Get flow and system parameters."""

    root = CapSimWindow(buttons=1)
    root.make_window(UnitProperties(root, system))
    root.mainloop()
    if root.main.get() == 0 and root.step.get() == 1:
        system.get_systemunits(root.window)
    else:
        system = None

    root.destroy()

    return system, step + root.step.get()
def get_reactionproperties(system, step):
    """Get some basic parameters for each layer."""

    root = CapSimWindow(master = None, buttons = 1)
    root.make_window(ReactionProperties(root, system))
    root.mainloop()

    if root.main.get() == 1: system = None
    else:
        if root.step.get() == 1:
            system.get_reactionproperties(root.window)
            for reaction in system.reactions: reaction.remove_propertieswidgets()
        else:
            system.reactions = None
        
    root.destroy()

    return system, step + root.step.get()
def get_chemicalproperties(system, database, step):
    """Get some basic parameters for each layer."""

    root = CapSimWindow(master=None, buttons=1)
    root.make_window(ChemicalProperties(root, system, database))
    root.mainloop()

    if root.main.get() == 1: system = None
    else:
        if root.step.get() == 1:
            system.get_chemicalproperties(root.window)
            for chemical in system.chemicals:
                chemical.remove_chemicalwidgets()
        else:
            system.chemicals = None
            system.nchemical = 0

    root.destroy()

    return system, step + root.step.get()
Exemplo n.º 13
0
def get_matrixproperties(system, materials, step):
    """Get some basic parameters for each layer."""

    root = CapSimWindow(master = None, buttons = 1)
    root.make_window(MatrixProperties(root, system, materials))
    root.mainloop()
    
    if root.main.get() == 1: system = None
    else:
        if root.step.get() == 1:
            system.get_matricesproperties(root.window)
            for matrix in system.matrices: matrix.remove_propertieswidgets()
        else:
            system.matrices   = None
            system.nmatrices  = 0
            system.component_list      = []
            system.components          = []

    root.destroy()

    return system, step + root.step.get()
Exemplo n.º 14
0
def get_layerproperties(system, step):
    """Get some basic parameters for each layer."""

    root = CapSimWindow(master = None, buttons = 1)
    root.make_window(LayerProperties(root, system))
    root.mainloop()

    if root.main.get() == 1: system = None
    else:
        if root.step.get() == 1:
            system.get_layerproperties(root.window)
            for layer in system.layers: layer.remove_propertywidgets()
        else:
            system.layers = None
            system.nlayers  = 0
            system.dep  = 0
            system.Vdep = 0

    root.destroy()

    return system, step + root.step.get()