In [3]:
from distributed import LocalCluster
from distributed import Client
from extremefill2D.fextreme import init_sim, restart_sim, iterate_sim, multi_init_sim
from extremefill2D.fextreme.plot import vega_plot_treants, vega_plot_treant
import vega
from extremefill2D.fextreme.tools import get_by_uuid, outer_dict
from toolz.curried import map, pipe, curry
import itertools

%reload_ext yamlmagic

In [5]:
?Client.

In [1]:
client = Client()


---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-1-e9ba1965787a> in <module>()
----> 1 client = Client()

NameError: name 'Client' is not defined

In [4]:
@curry
def pmap(f, data):
    return pipe(
        client.map(f, data),
        map(lambda x: x.result()),
        list
    )

treants = multi_init_sim('scripts/params1.json',
                         'data',
                         pmap,
                         dict(appliedPotential=(-0.16, -0.18, -0.20, -0.22, -0.24, -0.26, -0.28, -0.30),
                              bulkSuppressor=(0.006, 0.012)),
                         tags=['debug', 'test3'])

In [5]:
print(treants)


[<Treant: 'd101d7e7-73d4-40cc-802b-313fa3c61127'>, <Treant: 'facb75ef-6878-4b5a-9725-c052daef3ee7'>, <Treant: '49cd97a8-c69d-4d64-ac4e-1212e5045c64'>, <Treant: '047f077f-0cf5-4273-8168-146eef6fe9c7'>, <Treant: '52fa7150-7d54-4f99-8c39-d416684fb32d'>, <Treant: '738ca7c5-2be8-40ce-b7b7-23fbe25c31a0'>, <Treant: 'a44c0f87-ee92-49fb-a308-d7ca09b83ead'>, <Treant: 'e144e0be-13dc-4826-b178-bb60bb405531'>, <Treant: '1b9e112e-382c-4253-a080-fd076ed63ddb'>, <Treant: 'ba34f20d-7625-4176-9d92-a977d800b022'>, <Treant: '9f99e789-3bba-42d4-b47f-6ec13ae38ec5'>, <Treant: 'd879a0ee-ea53-46ad-84c2-45f4d8a8cd4d'>, <Treant: '93c12931-78bd-4dae-a2f1-e69bc87c7a6a'>, <Treant: '0e63343e-2675-4a09-8ceb-6c3bcdb52f61'>, <Treant: 'ddbac7e6-8ae5-41da-b6b2-da896730e1fd'>, <Treant: 'bdbef534-b69b-4b0b-87fd-795707b4d1f6'>]

In [ ]:
out = pmap(iterate_sim(iterations=10, steps=100), treants)

In [8]:
print(out)


[(<Treant: 'd101d7e7-73d4-40cc-802b-313fa3c61127'>, None), (<Treant: 'facb75ef-6878-4b5a-9725-c052daef3ee7'>, None), (<Treant: '49cd97a8-c69d-4d64-ac4e-1212e5045c64'>, None), (<Treant: '047f077f-0cf5-4273-8168-146eef6fe9c7'>, None), (<Treant: '52fa7150-7d54-4f99-8c39-d416684fb32d'>, None), (<Treant: '738ca7c5-2be8-40ce-b7b7-23fbe25c31a0'>, None), (<Treant: 'a44c0f87-ee92-49fb-a308-d7ca09b83ead'>, None), (<Treant: 'e144e0be-13dc-4826-b178-bb60bb405531'>, None), (<Treant: '1b9e112e-382c-4253-a080-fd076ed63ddb'>, None), (<Treant: 'ba34f20d-7625-4176-9d92-a977d800b022'>, None), (<Treant: '9f99e789-3bba-42d4-b47f-6ec13ae38ec5'>, None), (<Treant: 'd879a0ee-ea53-46ad-84c2-45f4d8a8cd4d'>, None), (<Treant: '93c12931-78bd-4dae-a2f1-e69bc87c7a6a'>, None), (<Treant: '0e63343e-2675-4a09-8ceb-6c3bcdb52f61'>, None), (<Treant: 'ddbac7e6-8ae5-41da-b6b2-da896730e1fd'>, None), (<Treant: 'bdbef534-b69b-4b0b-87fd-795707b4d1f6'>, None)]

In [ ]:
plots = map(vega_plot_treants, out)

In [9]:
import numpy as np
omega = 7.1e-6
n = 2
F = 9.6485e4
R = 8.314
T = 298
alpha = 0.4
Fbar = F / R / T
i0 = 40
eta = -0.4
ee = np.exp(alpha * Fbar * eta) - np.exp(-(2 - alpha) * Fbar * eta)
print(omega * i0 / n / F)
print(ee)


1.4717313572057832e-09
-66719026217.3

In [1]:
import numpy as np

omega = 7.1e-6
n = 2
F = 9.6485e4
R = 8.314
T = 298
alpha = 0.4
Fbar = F / R / T
i0 = 40
eta = -0.25
ee = np.exp(-alpha * Fbar * eta) - np.exp((2 - alpha) * Fbar * eta)
print(i0 * omega / n / F)
print(ee * i0 * omega / n / F)


1.4717313572057832e-09
7.22965473284e-08

In [2]:
50 * omega / n / F


Out[2]:
1.8396641965072292e-09

In [3]:
print(ee)


49.1234673872

In [4]:
print(50 * omega / n / F)


1.8396641965072292e-09

In [5]:
print(1.65e-9 * n * F / omega)


44.845140845070425

In [6]:
print(3.67e-12 * n * F / omega)


0.09974646478873239

In [2]:
import os
from extremefill2D.fextreme.tools import base_path
from extremefill2D.fextreme import init_sim, iterate_sim

x = os.path.join(base_path(), 'scripts', 'params.json')
x = init_sim(x, data_path='data')
iterate_sim(x, iterations=1, steps=10)


---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-2-4ceead643dbe> in <module>()
      5 x = os.path.join(base_path(), 'scripts', 'params.json')
      6 x = init_sim(x, data_path='data')
----> 7 iterate_sim(x, iterations=1, steps=10)

/home/wd15/anaconda/envs/extreme/lib/python3.5/site-packages/toolz/functoolz.py in __call__(self, *args, **kwargs)
    279     def __call__(self, *args, **kwargs):
    280         try:
--> 281             return self._partial(*args, **kwargs)
    282         except TypeError as exc:
    283             if self._should_curry(args, kwargs, exc):

/home/wd15/git/extremefill-project/extremefill2D/extremefill2D/fextreme/__init__.py in iterate_sim(treant, iterations, steps)
    315         treant,
    316         iterate(restart_sim_iter(steps=steps)),
--> 317         nth(iterations)
    318     )
    319 

/home/wd15/anaconda/envs/extreme/lib/python3.5/site-packages/toolz/functoolz.py in pipe(data, *funcs)
    516     """
    517     for func in funcs:
--> 518         data = func(data)
    519     return data
    520 

/home/wd15/anaconda/envs/extreme/lib/python3.5/site-packages/toolz/functoolz.py in __call__(self, *args, **kwargs)
    279     def __call__(self, *args, **kwargs):
    280         try:
--> 281             return self._partial(*args, **kwargs)
    282         except TypeError as exc:
    283             if self._should_curry(args, kwargs, exc):

/home/wd15/anaconda/envs/extreme/lib/python3.5/site-packages/toolz/itertoolz.py in nth(n, seq)
    339         return seq[n]
    340     else:
--> 341         return next(itertools.islice(seq, n, None))
    342 
    343 

/home/wd15/anaconda/envs/extreme/lib/python3.5/site-packages/toolz/itertoolz.py in iterate(func, x)
    602     while True:
    603         yield x
--> 604         x = func(x)
    605 
    606 

/home/wd15/anaconda/envs/extreme/lib/python3.5/site-packages/toolz/functoolz.py in __call__(self, *args, **kwargs)
    279     def __call__(self, *args, **kwargs):
    280         try:
--> 281             return self._partial(*args, **kwargs)
    282         except TypeError as exc:
    283             if self._should_curry(args, kwargs, exc):

/home/wd15/git/extremefill-project/extremefill2D/extremefill2D/fextreme/__init__.py in restart_sim_iter(treant_and_error, steps)
    296         ifexpr(lambda x: x[1] is None,
    297                lambda x: restart_sim(x[0], steps),
--> 298                identity)
    299     )
    300 

/home/wd15/anaconda/envs/extreme/lib/python3.5/site-packages/toolz/functoolz.py in pipe(data, *funcs)
    516     """
    517     for func in funcs:
--> 518         data = func(data)
    519     return data
    520 

/home/wd15/anaconda/envs/extreme/lib/python3.5/site-packages/toolz/functoolz.py in __call__(self, *args, **kwargs)
    279     def __call__(self, *args, **kwargs):
    280         try:
--> 281             return self._partial(*args, **kwargs)
    282         except TypeError as exc:
    283             if self._should_curry(args, kwargs, exc):

/home/wd15/git/extremefill-project/extremefill2D/extremefill2D/fextreme/tools.py in ifexpr(fpredicate, ftrue, ffalse, arg)
    223 @curry
    224 def ifexpr(fpredicate, ftrue, ffalse, arg):
--> 225     if fpredicate(arg):
    226         return ftrue(arg)
    227     else:

/home/wd15/git/extremefill-project/extremefill2D/extremefill2D/fextreme/__init__.py in <lambda>(x)
    294     return pipe(
    295         treant_and_error,
--> 296         ifexpr(lambda x: x[1] is None,
    297                lambda x: restart_sim(x[0], steps),
    298                identity)

/home/wd15/anaconda/envs/extreme/lib/python3.5/site-packages/datreant/core/trees.py in __getitem__(self, path)
    230             return filt(path)
    231         else:
--> 232             raise ValueError('Must use a path or a list of paths')
    233 
    234     @classmethod

ValueError: Must use a path or a list of paths

In [ ]: