Esempio n. 1
0
def pool_definition_api_with_separate_subpools():
    """
    Create and return a pool by calling up other functions
    for defining the subpools. Also demonstrate customization
    of pool properties and inserting default values from file
    or the command line.
    """
    from parampool.pool.Pool import Pool
    pool = Pool()
    pool.subpool('Main pool')
    pool = motion_pool(pool)
    pool.change_subpool('..')
    pool = body_and_envir_pool(pool)
    pool.change_subpool('..')
    pool = numerics_pool(pool)
    pool.change_subpool('..')
    pool = plot_pool(pool)
    pool.update()  # finalize pool construction

    from parampool.pool.UI import (
        set_data_item_attribute,
        set_defaults_from_file,
        set_defaults_from_command_line,
        set_defaults_in_model_file,
        write_poolfile,
    )
    # Change default values in the web GUI
    import parampool.pool.DataItem
    parampool.pool.DataItem.DataItem.defaults['minmax'] = [0, 100]
    parampool.pool.DataItem.DataItem.defaults['range_steps'] = 500
    # Can also change 'number_step' for the step in float fields
    # and 'widget_size' for the width of widgets

    # Let all widget sizes be 6, except for Time step
    pool = set_data_item_attribute(pool, 'widget_size', 6)
    pool.get('Time step').data['widget_size'] = 4

    pool = set_defaults_from_file(pool, command_line_option='--poolfile')
    pool = set_defaults_from_command_line(pool)
    flask_modelfile = 'model.py'
    print 'XXX', os.getcwd()
    django_modelfile = os.path.join('motion_and_forces_with_pool', 'app',
                                    'models.py')
    if os.path.isfile(flask_modelfile):
        set_defaults_in_model_file(flask_modelfile, pool)
    elif os.path.isfile(django_modelfile):
        set_defaults_in_model_file(django_modelfile, pool)

    poolfile = open('pool.dat', 'w')
    poolfile.write(write_poolfile(pool))
    poolfile.close()

    return pool
Esempio n. 2
0
def pool_definition_api_with_separate_subpools():
    """
    Create and return a pool by calling up other functions
    for defining the subpools. Also demonstrate customization
    of pool properties and inserting default values from file
    or the command line.
    """
    from parampool.pool.Pool import Pool
    pool = Pool()
    pool.subpool('Main pool')
    pool = motion_pool(pool)
    pool.change_subpool('..')
    pool = body_and_envir_pool(pool)
    pool.change_subpool('..')
    pool = numerics_pool(pool)
    pool.change_subpool('..')
    pool = plot_pool(pool)
    pool.update()  # finalize pool construction

    from parampool.pool.UI import (
        set_data_item_attribute,
        set_defaults_from_file,
        set_defaults_from_command_line,
        set_defaults_in_model_file,
        write_poolfile,
        )
    # Change default values in the web GUI
    import parampool.pool.DataItem
    parampool.pool.DataItem.DataItem.defaults['minmax'] = [0, 100]
    parampool.pool.DataItem.DataItem.defaults['range_steps'] = 500
    # Can also change 'number_step' for the step in float fields
    # and 'widget_size' for the width of widgets

    # Let all widget sizes be 6, except for Time step
    pool = set_data_item_attribute(pool, 'widget_size', 6)
    pool.get('Time step').data['widget_size'] = 4

    pool = set_defaults_from_file(pool, command_line_option='--poolfile')
    pool = set_defaults_from_command_line(pool)
    flask_modelfile = 'model.py'
    print 'XXX', os.getcwd()
    django_modelfile = os.path.join('motion_and_forces_with_pool', 'app',
                                    'models.py')
    if os.path.isfile(flask_modelfile):
        set_defaults_in_model_file(flask_modelfile, pool)
    elif os.path.isfile(django_modelfile):
        set_defaults_in_model_file(django_modelfile, pool)

    poolfile = open('pool.dat', 'w')
    poolfile.write(write_poolfile(pool))
    poolfile.close()

    return pool
Esempio n. 3
0
        result = None

    return render_template("view.html", form=form, result=result)


def compute(pool):
    """
    Generic function for calling compute_function with values
    taken from the pool object.
    Return the output from the compute_function.
    """

    # compute_function must have only one positional argument
    # named pool
    import inspect
    arg_names = inspect.getargspec(compute_function).args
    if len(arg_names) == 1 and arg_names[0] == "pool":
        result = compute_function(pool)
    else:
        raise TypeError('%s(%s) can only have one argument named "pool"' %
                        (compute_function.__name__, ', '.join(arg_names)))
    return result


if __name__ == '__main__':
    app.run(debug=True)

    # Dump pool to file for use with --poolfile .tmp_pool.dat
    from parampool.pool.UI import write_poolfile
    write_poolfile(pool, '.tmp_pool.dat')
        result = compute(pool)
        form = MotionAndForcesWithPoolForm(request.POST)

    return render_to_response(
        "compute_motion_and_forces_with_pool_pool_definition_api_index.html",
        {"form": form,
         "result": result,
        },
        context_instance=RequestContext(request))

def compute(pool):
    """
    Generic function for calling compute_function with values
    taken from the pool object.
    Return the output from the compute_function.
    """

    # compute_function must have only one positional argument
    # named pool
    import inspect
    arg_names = inspect.getargspec(compute_function).args
    if len(arg_names) == 1 and arg_names[0] == "pool":
        result = compute_function(pool)
    else:
        raise TypeError('%s(%s) can only have one argument named "pool"'
                        % (compute_function.__name__, ', '.join(arg_names)))
    return result

from parampool.pool.UI import write_poolfile
write_poolfile(pool, '.tmp_pool.dat')