Beispiel #1
0
def pool_def_api():
    from parampool.pool.Pool import Pool
    pool = Pool()
    pool.subpool('Main pool')
    pool.add_data_item(name='Expression to be integrated',
                       default='sin(x)',
                       widget='textline')
    pool.add_data_item(name='a', default=0.0, symbol='a')
    pool.add_data_item(name='b', default=1.0, symbol='b')

    return pool
def define_pool():
    from parampool.utils import fenicsxml2pool
    from parampool.pool.Pool import Pool
    pool = Pool()
    pool.subpool('Main menu')
    pool.add_data_item(name='element degree', default=1, str2type=int)
    pool.add_data_item(name='Nx', default=10, str2type=int)
    pool.add_data_item(name='Ny', default=10, str2type=int)
    pool.add_data_item(name='f', default='-6.0', str2type=str)
    pool.add_data_item(name='u0',
                       default='1 + x[0]*x[0] + 2*x[1]*x[1]',
                       str2type=str)
    # Subpool with built-in FEniCS parameters
    pool = fenicsxml2pool('prm.xml', pool)
    pool.update()
    return pool
Beispiel #3
0
def pool_def_api():
    from parampool.pool.Pool import Pool
    pool = Pool()
    pool.subpool('Main pool')
    pool.add_data_item(name='Filename', widget='file')
    return pool
Beispiel #4
0
def pool_definition_api():
    """Create and return pool using the parampool.pool API."""
    from parampool.pool.Pool import Pool
    pool = Pool()
    # Go to a subpool, but create it if it does not exist
    pool.subpool('Main pool')
    pool.subpool('Initial motion data')
    # Define data items for the current subpool
    pool.add_data_item(name='Initial velocity', default=5.0)
    pool.add_data_item(name='Initial angle',
                       default=45,
                       widget='range',
                       minmax=[0, 90])
    pool.add_data_item(name='Spinrate', default=50, widget='float', unit='1/s')

    # Move to (and create) another subpool, as in a file tree
    pool.subpool('../Body and environment data')
    # Add data items for the current subpool
    pool.add_data_item(name='Wind velocity',
                       default=0.0,
                       help='Wind velocity in positive x direction.',
                       minmax=[-50, 50],
                       number_step=0.5,
                       widget='float',
                       str2type=float)
    pool.add_data_item(name='Mass',
                       default=0.1,
                       unit='kg',
                       validate=lambda data_item, value: value > 0)
    pool.add_data_item(name='Radius', default=0.11, unit='m')

    pool.subpool('../Numerical parameters')
    pool.add_data_item(name='Method',
                       default='RK4',
                       widget='select',
                       options=['RK4', 'RK2', 'ForwardEuler'],
                       help='Numerical solution method.')
    pool.add_data_item(name='Time step',
                       default=None,
                       widget='textline',
                       unit='s',
                       str2type=convert_time_step)

    pool.subpool('../Plot parameters')
    pool.add_data_item(name='Plot simplified motion', default=True)
    pool.add_data_item(name='New plot', default=True)
    pool.update()
    return pool
Beispiel #5
0
def pool_definition_api():
    from parampool.pool.Pool import Pool
    pool = Pool()
    pool.subpool('Main pool')
    pool.subpool('Initial motion data')
    pool.add_data_item(
        name='Initial velocity', default=5.0)
    pool.add_data_item(
        name='Initial angle', default=45,
        widget='range', minmax=[0,90], unit='deg')
    pool.add_data_item(
        name='Spinrate', default=50, widget='float',
        str2type=float, unit='1/s')

    pool.subpool('../Body and environment data')
    pool.add_data_item(
        name='Wind velocity', default=0.0,
        help='Wind velocity in positive x direction.')
    pool.add_data_item(
        name='Mass', default=0.1,
        help='Mass of body.', unit='kg')
    pool.add_data_item(
        name='Radius', default=0.11,
        help='Radius of spherical body.', unit='m')

    pool.subpool('../Numerical parameters')
    pool.add_data_item(
        name='Method', default='RK4',
        widget='select',
        options=['RK4', 'RK2', 'ForwardEuler'],
        help='Numerical solution method.')
    pool.add_data_item(
        name='Time step', default=None,
        widget='float', unit='s')

    pool.subpool('../Plot parameters')
    pool.add_data_item(
        name='Plot simplified motion', default=True,
        help='Plot motion without drag and lift forces.')
    pool.add_data_item(
        name='New plot', default=True,
        help='Erase all old curves.')
    pool.update()
    print pool
    return pool