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
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')