Running simulation with only a first order level set update

The simulations below test using only a first order distance function calculation and reinitialization frequency based on number of cells traversed. The first order distance function calculation is probably more stable and I have notices issues with the second order distance function calculation is past work. The second order scheme can sometimes be non-deterministic, see this small test case in FiPy. This could be causing some voiding issues. The next cell shows the diffs in the code that were made for all the simulations in this notebook.

Simulations

The simulations are for three values of $k+$ and $k-$ and differing values of CFL (represented by CFL) and level set update frequency (based on cells traversed) (represented by $f$ in the figures). $f$ changes by row and $N$ changes by column.

Analysis

After running the simulations is seems that the annular44 simulations are not getting any voids in at all unlike in the previous notebook where voids were seen for the CFL=0.001 case for the "Simulation that worked quite well". This is good and means that I think we can trust the results. We need to confirm this with the larger grid sizes, but these results should be available tomorrow.

Bug

Just noticed a heinous bug. It won't affect these simulations because the CFL were all divisible into any integer, but it could have been nasty. This

if (step % (levelset_update_ncell / CFL) == 0):

should have been

if (step % int(levelset_update_ncell / CFL) == 0):

This will be fixed in the next commit.


In [1]:
!git diff ae3dbb3388c4..345958513b87


diff --git a/annular.param b/annular.param
index cf845a7..07af8f2 100644
--- a/annular.param
+++ b/annular.param
@@ -16,7 +16,7 @@ totalSteps = 100000000000000000000
 rinner = 4e-6
 router = 8.5e-6
 rboundary = 50e-6
-levelset_update_frequency = 150
+levelset_update_ncell = 15
 spacing_ratio = 1.1
 data_frequency = 10
 shutdown_deposition_rate = 1e-13
diff --git a/annular.py b/annular.py
index e8274d2..4b3d8b4 100644
--- a/annular.py
+++ b/annular.py
@@ -39,7 +39,7 @@ rinner = params.rinner
 router = params.router
 rboundary = params.rboundary
 dtMax = params.dtMax
-levelset_update_frequency = params.levelset_update_frequency
+levelset_update_ncell = params.levelset_update_ncell
 totalTime = params.totalTime
 spacing_ratio = params.spacing_ratio
 data_frequency = params.data_frequency
@@ -101,7 +101,7 @@ distance.setValue(-1., where=(mesh.y < 0) & (mesh.x < rinner))
 distance.setValue(-1., where=(mesh.y < 0) & (mesh.x > router))
 
 
-distance.calcDistanceFunction()
+distance.calcDistanceFunction(order=1)
 
 # fp.Viewer(distance).plot()
 # raw_input('stopped')
@@ -188,10 +188,10 @@ while (step < totalSteps) and (elapsedTime < totalTime):
 #        write_data(dataFile, elapsedTime, distance, step, potential, cupric, suppressor, interfaceTheta)
         write_data(dataFile, elapsedTime, distance, step, extensionGlobalValue=extensionGlobalValue)
 
-    if (step % levelset_update_frequency == 0):
+    if (step % (levelset_update_ncell / CFL) == 0):
         if delete_islands:
             distance.deleteIslands()
-        distance.calcDistanceFunction()
+        distance.calcDistanceFunction(order=1)
 
     extensionGlobalValue = extend(depositionRate, extend, distance)
 

In [4]:
from tools import batch_launch

!date
rboundary = 50e-6 / np.sqrt(np.pi)
kPlus = 20.6913808111
kMinus = 10000000.0
    
reason = "Running simulation with only order 1 level set updates"
    
for CFL in (0.1, 0.01, 0.001):
    for levelset_update_ncell in (5, 15, 45):
        for Nx in (100, 200, 400, 800):
            batch_launch(reason=reason, tags=['annular43'], kPlus=kPlus, kMinus=kMinus, rboundary=rboundary, Nx=Nx, spacing_ratio=1.2, CFL=CFL, levelset_update_ncell=levelset_update_ncell)
            
!qstat > qstat_annular43.txt


Mon Sep  9 18:48:33 EDT 2013

In [5]:
from tools import batch_launch

kPlus = np.logspace(1, 3, 20)[18]
kMinus = np.logspace(7, 8, 10)[6]

!date
rboundary = 50e-6 / np.sqrt(np.pi)
    
reason = "Running simulation with only order 1 level set updates"
    
for CFL in (0.1, 0.01, 0.001):
    for levelset_update_ncell in (5, 15, 45):
        for Nx in (100, 200, 400, 800):
            batch_launch(reason=reason, tags=['annular44'], kPlus=kPlus, kMinus=kMinus, rboundary=rboundary, Nx=Nx, spacing_ratio=1.2, CFL=CFL, levelset_update_ncell=levelset_update_ncell)

!qstat > qstat_annular44.txt


Mon Sep  9 18:48:34 EDT 2013

In [6]:
from tools import batch_launch

kPlus = np.logspace(3, 4, 20)[17]
kMinus = np.logspace(7.6, 8.6, 20)[10]

!date
rboundary = 50e-6 / np.sqrt(np.pi)
    
reason = "Running simulation with only order 1 level set updates"
    
for CFL in (0.1, 0.01, 0.001):
    for levelset_update_ncell in (5, 15, 45):
        for Nx in (100, 200, 400, 800):
            batch_launch(reason=reason, tags=['annular45'], kPlus=kPlus, kMinus=kMinus, rboundary=rboundary, Nx=Nx, spacing_ratio=1.2, CFL=CFL, levelset_update_ncell=levelset_update_ncell)
    
!qstat > qstat_annular45.txt


Mon Sep  9 18:48:35 EDT 2013

Results for annular43


In [1]:
%load_ext autoreload
%autoreload 2
from tools import getSMTRecords, smt_ipy_table
records = getSMTRecords()
annular43Records = getSMTRecords(records=records, tags=['annular43'])


Created Django record store using PostgreSQL

In [2]:
smt_ipy_table(annular43Records, fields=['label', 'timestamp', 'parameters', 'duration', 'version', 'tags'], parameters=['CFL', 'levelset_update_ncell', 'Nx'])


Out[2]:
LabelTimestampParametersDurationVersionTags
bcb68fe577702013-09-10 15:54CFL: 0.1, levelset_update_ncell: 2, Nx: 2005h 40m 35.19s345958513b87annular43
7626f3b291502013-09-10 15:54CFL: 0.1, levelset_update_ncell: 2, Nx: 1001h 55m 48.83s345958513b87annular43
7a9f369812e82013-09-10 15:54CFL: 0.1, levelset_update_ncell: 2, Nx: 4001d 11h 45.23s345958513b87annular43
ee67b8a21dfc2013-09-10 15:54CFL: 0.001, levelset_update_ncell: 2, Nx: 10019h 41m 55.21s345958513b87annular43
2007545f44b82013-09-10 15:54CFL: 0.001, levelset_update_ncell: 2, Nx: 2005d 5h 33m 29.74s345958513b87annular43
d4ab4387c38d2013-09-10 15:54CFL: 0.01, levelset_update_ncell: 2, Nx: 1001h 45m 60.00s345958513b87annular43
778d45f1d29c2013-09-10 15:54CFL: 0.01, levelset_update_ncell: 2, Nx: 20014h 45m 43.23s345958513b87annular43
d5156c0d4dba2013-09-10 11:45CFL: 0.1, levelset_update_ncell: 5, Nx: 1001h 3m 16.08sae3dbb3388c4annular43
5d782b3c89b22013-09-10 11:45CFL: 0.001, levelset_update_ncell: 45, Nx: 1008h 20m 48.68sae3dbb3388c4annular43
de22a437b23c2013-09-10 11:45CFL: 0.01, levelset_update_ncell: 15, Nx: 4003d 5h 45m 46.19sae3dbb3388c4annular43
fd244159d8d32013-09-10 11:45CFL: 0.1, levelset_update_ncell: 45, Nx: 40017h 5m 58.71sae3dbb3388c4annular43
494449531f792013-09-10 11:45CFL: 0.1, levelset_update_ncell: 5, Nx: 2001h 57m 56.60sae3dbb3388c4annular43
0a406910b3f62013-09-10 11:45CFL: 0.01, levelset_update_ncell: 5, Nx: 20010h 25m 18.46sae3dbb3388c4annular43
880a2cc293ba2013-09-10 11:45CFL: 0.01, levelset_update_ncell: 45, Nx: 4005d 9h 7m 58.79sae3dbb3388c4annular43
c8ea05de768c2013-09-10 11:45CFL: 0.001, levelset_update_ncell: 45, Nx: 2002d 21h 51m 36.90sae3dbb3388c4annular43
9cc7b90a51a62013-09-10 11:45CFL: 0.01, levelset_update_ncell: 15, Nx: 1001h 17m 28.76sae3dbb3388c4annular43
deb0a42eaabe2013-09-10 11:45CFL: 0.001, levelset_update_ncell: 5, Nx: 10010h 10.23sae3dbb3388c4annular43
2c0b06168eba2013-09-10 11:45CFL: 0.001, levelset_update_ncell: 15, Nx: 1009h 33m 26.30sae3dbb3388c4annular43
377b4556f0bf2013-09-10 11:45CFL: 0.01, levelset_update_ncell: 5, Nx: 1001h 21m 20.59sae3dbb3388c4annular43
7de85be5602d2013-09-10 11:45CFL: 0.1, levelset_update_ncell: 15, Nx: 2003h 7m 8.55sae3dbb3388c4annular43
916ff3b1c7452013-09-10 11:45CFL: 0.01, levelset_update_ncell: 5, Nx: 4004d 18h 12m 14.97sae3dbb3388c4annular43
ce823491ace72013-09-10 11:45CFL: 0.001, levelset_update_ncell: 5, Nx: 2002d 21h 18m 24.21sae3dbb3388c4annular43
24dfdaf437612013-09-10 11:45CFL: 0.1, levelset_update_ncell: 15, Nx: 1001h 4m 9.40sae3dbb3388c4annular43
05cc5282f5632013-09-10 11:45CFL: 0.01, levelset_update_ncell: 15, Nx: 20010h 21m 51.23sae3dbb3388c4annular43
65678915fd9f2013-09-10 11:45CFL: 0.1, levelset_update_ncell: 45, Nx: 1001h 3m 17.26sae3dbb3388c4annular43
5c025cfb167d2013-09-10 11:45CFL: 0.1, levelset_update_ncell: 15, Nx: 40023h 39m 16.44sae3dbb3388c4annular43
c320883836be2013-09-10 11:45CFL: 0.1, levelset_update_ncell: 45, Nx: 2002h 31m 39.89sae3dbb3388c4annular43
914aa8cb1b792013-09-10 11:45CFL: 0.01, levelset_update_ncell: 45, Nx: 1001h 27m 51.69sae3dbb3388c4annular43
d103555939902013-09-10 11:45CFL: 0.1, levelset_update_ncell: 5, Nx: 40014h 24m 31.31sae3dbb3388c4annular43
eb4bb1b234012013-09-10 11:45CFL: 0.001, levelset_update_ncell: 45, Nx: 4004d 3h 36m 44.06sae3dbb3388c4annular43
a84fda7827352013-09-10 11:45CFL: 0.001, levelset_update_ncell: 15, Nx: 2001d 18h 18m 26.64sae3dbb3388c4annular43
d44e39a205a72013-09-10 11:45CFL: 0.01, levelset_update_ncell: 45, Nx: 2005h 40m 49.01sae3dbb3388c4annular43

CFL=0.1


In [3]:
from multiViewer import MultiViewer
from tools import getRecord

Nxs = (100, 200, 400)
ls_ncells = (2, 5, 15, 45)

records = [[getRecord(records=annular43Records, CFL=0.1, Nx=Nx, levelset_update_ncell=ls_ncell) for Nx in Nxs] for ls_ncell in ls_ncells]

def columntitle(r):
    if r:
        Nx = r.parameters['Nx']
    else:
        Nx = 400
    return r'$N$={0}'.format(Nx)

viewer = MultiViewer(records,
                     rowtitle=lambda r: r'f={0}'.format(r.parameters['levelset_update_ncell']),
                     columntitle=columntitle,
                     figsize=(1.5, 6))
viewer.plot(times=np.arange(10) * 3000. / 9.)
smt_ipy_table([j for i in records for j in i if j], fields=['label', 'timestamp', 'parameters', 'duration', 'version', 'tags'], parameters=['Nx', 'CFL', 'levelset_update_ncell', 'kPlus', 'kMinus'])


Out[3]:
LabelTimestampParametersDurationVersionTags
7626f3b291502013-09-10 15:54Nx: 100, CFL: 0.1, levelset_update_ncell: 2, kPlus: 20.6913808111, kMinus: 10000000.01h 55m 48.83s345958513b87annular43
bcb68fe577702013-09-10 15:54Nx: 200, CFL: 0.1, levelset_update_ncell: 2, kPlus: 20.6913808111, kMinus: 10000000.05h 40m 35.19s345958513b87annular43
7a9f369812e82013-09-10 15:54Nx: 400, CFL: 0.1, levelset_update_ncell: 2, kPlus: 20.6913808111, kMinus: 10000000.01d 11h 45.23s345958513b87annular43
d5156c0d4dba2013-09-10 11:45Nx: 100, CFL: 0.1, levelset_update_ncell: 5, kPlus: 20.6913808111, kMinus: 10000000.01h 3m 16.08sae3dbb3388c4annular43
494449531f792013-09-10 11:45Nx: 200, CFL: 0.1, levelset_update_ncell: 5, kPlus: 20.6913808111, kMinus: 10000000.01h 57m 56.60sae3dbb3388c4annular43
d103555939902013-09-10 11:45Nx: 400, CFL: 0.1, levelset_update_ncell: 5, kPlus: 20.6913808111, kMinus: 10000000.014h 24m 31.31sae3dbb3388c4annular43
24dfdaf437612013-09-10 11:45Nx: 100, CFL: 0.1, levelset_update_ncell: 15, kPlus: 20.6913808111, kMinus: 10000000.01h 4m 9.40sae3dbb3388c4annular43
7de85be5602d2013-09-10 11:45Nx: 200, CFL: 0.1, levelset_update_ncell: 15, kPlus: 20.6913808111, kMinus: 10000000.03h 7m 8.55sae3dbb3388c4annular43
5c025cfb167d2013-09-10 11:45Nx: 400, CFL: 0.1, levelset_update_ncell: 15, kPlus: 20.6913808111, kMinus: 10000000.023h 39m 16.44sae3dbb3388c4annular43
65678915fd9f2013-09-10 11:45Nx: 100, CFL: 0.1, levelset_update_ncell: 45, kPlus: 20.6913808111, kMinus: 10000000.01h 3m 17.26sae3dbb3388c4annular43
c320883836be2013-09-10 11:45Nx: 200, CFL: 0.1, levelset_update_ncell: 45, kPlus: 20.6913808111, kMinus: 10000000.02h 31m 39.89sae3dbb3388c4annular43
fd244159d8d32013-09-10 11:45Nx: 400, CFL: 0.1, levelset_update_ncell: 45, kPlus: 20.6913808111, kMinus: 10000000.017h 5m 58.71sae3dbb3388c4annular43

CFL=0.01


In [7]:
from multiViewer import MultiViewer
from tools import getRecord

Nxs = (100, 200, 400)
ls_ncells = (2, 5, 15, 45)

records = [[getRecord(records=annular43Records, CFL=0.01, Nx=Nx, levelset_update_ncell=ls_ncell) for Nx in Nxs] for ls_ncell in ls_ncells]

def columntitle(r):
    if r:
        Nx = r.parameters['Nx']
    else:
        Nx = 400
    return r'$N$={0}'.format(Nx)

viewer = MultiViewer(records,
                     rowtitle=lambda r: r'f={0}'.format(r.parameters['levelset_update_ncell']),
                     columntitle=columntitle,
                     figsize=(1.5, 6))
viewer.plot(times=np.arange(10) * 3000. / 9.)
smt_ipy_table([j for i in records for j in i if j], fields=['label', 'timestamp', 'parameters', 'duration', 'version', 'tags'], parameters=['Nx', 'CFL', 'levelset_update_ncell', 'kPlus', 'kMinus'])


Out[7]:
LabelTimestampParametersDurationVersionTags
d4ab4387c38d2013-09-10 15:54Nx: 100, CFL: 0.01, levelset_update_ncell: 2, kPlus: 20.6913808111, kMinus: 10000000.01h 45m 60.00s345958513b87annular43
778d45f1d29c2013-09-10 15:54Nx: 200, CFL: 0.01, levelset_update_ncell: 2, kPlus: 20.6913808111, kMinus: 10000000.014h 45m 43.23s345958513b87annular43
377b4556f0bf2013-09-10 11:45Nx: 100, CFL: 0.01, levelset_update_ncell: 5, kPlus: 20.6913808111, kMinus: 10000000.01h 21m 20.59sae3dbb3388c4annular43
0a406910b3f62013-09-10 11:45Nx: 200, CFL: 0.01, levelset_update_ncell: 5, kPlus: 20.6913808111, kMinus: 10000000.010h 25m 18.46sae3dbb3388c4annular43
916ff3b1c7452013-09-10 11:45Nx: 400, CFL: 0.01, levelset_update_ncell: 5, kPlus: 20.6913808111, kMinus: 10000000.04d 18h 12m 14.97sae3dbb3388c4annular43
9cc7b90a51a62013-09-10 11:45Nx: 100, CFL: 0.01, levelset_update_ncell: 15, kPlus: 20.6913808111, kMinus: 10000000.01h 17m 28.76sae3dbb3388c4annular43
05cc5282f5632013-09-10 11:45Nx: 200, CFL: 0.01, levelset_update_ncell: 15, kPlus: 20.6913808111, kMinus: 10000000.010h 21m 51.23sae3dbb3388c4annular43
de22a437b23c2013-09-10 11:45Nx: 400, CFL: 0.01, levelset_update_ncell: 15, kPlus: 20.6913808111, kMinus: 10000000.03d 5h 45m 46.19sae3dbb3388c4annular43
914aa8cb1b792013-09-10 11:45Nx: 100, CFL: 0.01, levelset_update_ncell: 45, kPlus: 20.6913808111, kMinus: 10000000.01h 27m 51.69sae3dbb3388c4annular43
d44e39a205a72013-09-10 11:45Nx: 200, CFL: 0.01, levelset_update_ncell: 45, kPlus: 20.6913808111, kMinus: 10000000.05h 40m 49.01sae3dbb3388c4annular43
880a2cc293ba2013-09-10 11:45Nx: 400, CFL: 0.01, levelset_update_ncell: 45, kPlus: 20.6913808111, kMinus: 10000000.05d 9h 7m 58.79sae3dbb3388c4annular43

CFL=0.001


In [8]:
from multiViewer import MultiViewer
from tools import getRecord

Nxs = (100, 200, 400)
ls_ncells = (2, 5, 15, 45)

records = [[getRecord(records=annular43Records, CFL=0.001, Nx=Nx, levelset_update_ncell=ls_ncell) for Nx in Nxs] for ls_ncell in ls_ncells]

def columntitle(r):
    if r:
        Nx = r.parameters['Nx']
    else:
        Nx = 200
    return r'$N$={0}'.format(Nx)


viewer = MultiViewer(records,
                     rowtitle=lambda r: r'f={0}'.format(r.parameters['levelset_update_ncell']),
                     columntitle=columntitle,
                     figsize=(1.5, 6))
viewer.plot(times=np.arange(10) * 3000. / 9.)
smt_ipy_table([j for i in records for j in i if j], fields=['label', 'timestamp', 'parameters', 'duration', 'version', 'tags'], parameters=['Nx', 'CFL', 'levelset_update_ncell', 'kPlus', 'kMinus'])


Out[8]:
LabelTimestampParametersDurationVersionTags
ee67b8a21dfc2013-09-10 15:54Nx: 100, CFL: 0.001, levelset_update_ncell: 2, kPlus: 20.6913808111, kMinus: 10000000.019h 41m 55.21s345958513b87annular43
2007545f44b82013-09-10 15:54Nx: 200, CFL: 0.001, levelset_update_ncell: 2, kPlus: 20.6913808111, kMinus: 10000000.05d 5h 33m 29.74s345958513b87annular43
deb0a42eaabe2013-09-10 11:45Nx: 100, CFL: 0.001, levelset_update_ncell: 5, kPlus: 20.6913808111, kMinus: 10000000.010h 10.23sae3dbb3388c4annular43
ce823491ace72013-09-10 11:45Nx: 200, CFL: 0.001, levelset_update_ncell: 5, kPlus: 20.6913808111, kMinus: 10000000.02d 21h 18m 24.21sae3dbb3388c4annular43
2c0b06168eba2013-09-10 11:45Nx: 100, CFL: 0.001, levelset_update_ncell: 15, kPlus: 20.6913808111, kMinus: 10000000.09h 33m 26.30sae3dbb3388c4annular43
a84fda7827352013-09-10 11:45Nx: 200, CFL: 0.001, levelset_update_ncell: 15, kPlus: 20.6913808111, kMinus: 10000000.01d 18h 18m 26.64sae3dbb3388c4annular43
5d782b3c89b22013-09-10 11:45Nx: 100, CFL: 0.001, levelset_update_ncell: 45, kPlus: 20.6913808111, kMinus: 10000000.08h 20m 48.68sae3dbb3388c4annular43
c8ea05de768c2013-09-10 11:45Nx: 200, CFL: 0.001, levelset_update_ncell: 45, kPlus: 20.6913808111, kMinus: 10000000.02d 21h 51m 36.90sae3dbb3388c4annular43
eb4bb1b234012013-09-10 11:45Nx: 400, CFL: 0.001, levelset_update_ncell: 45, kPlus: 20.6913808111, kMinus: 10000000.04d 3h 36m 44.06sae3dbb3388c4annular43

Results for annular44


In [1]:
%load_ext autoreload
%autoreload 2
from tools import getSMTRecords, smt_ipy_table
records = getSMTRecords()
annular44Records = getSMTRecords(records=records, tags=['annular44'])


Created Django record store using PostgreSQL

In [2]:
smt_ipy_table(annular44Records, fields=['label', 'timestamp', 'parameters', 'duration', 'version', 'tags'], parameters=['CFL', 'levelset_update_ncell', 'Nx'])


Out[2]:
LabelTimestampParametersDurationVersionTags
d9a4c64429812013-09-10 15:54CFL: 0.001, levelset_update_ncell: 2, Nx: 10023h 39m 46.38s345958513b87annular44
71c4dd772f7e2013-09-10 15:54CFL: 0.1, levelset_update_ncell: 2, Nx: 2004h 34m 59.48s345958513b87annular44
570d0907da972013-09-10 15:54CFL: 0.1, levelset_update_ncell: 2, Nx: 40018h 24m 25.58s345958513b87annular44
6a7a2a844c712013-09-10 15:54CFL: 0.001, levelset_update_ncell: 2, Nx: 2004d 21h 7m 7.03s345958513b87annular44
bc7bca7523d32013-09-10 15:54CFL: 0.1, levelset_update_ncell: 2, Nx: 1001h 25m 58.64s345958513b87annular44
1dce7d162f922013-09-10 15:54CFL: 0.01, levelset_update_ncell: 2, Nx: 1002h 36m 34.32s345958513b87annular44
c1e3feff1eba2013-09-10 15:54CFL: 0.01, levelset_update_ncell: 2, Nx: 4004d 17h 9m 46.26s345958513b87annular44
aea4767266972013-09-10 15:54CFL: 0.01, levelset_update_ncell: 2, Nx: 20012h 43m 19.40s345958513b87annular44
7aa615c065962013-09-10 11:46CFL: 0.01, levelset_update_ncell: 15, Nx: 4003d 20h 18m 33.44sae3dbb3388c4annular44
5b355d4598842013-09-10 11:46CFL: 0.01, levelset_update_ncell: 45, Nx: 4003d 19h 41m 24.46sae3dbb3388c4annular44
8cedc8f662752013-09-10 11:46CFL: 0.001, levelset_update_ncell: 45, Nx: 10020h 50m 28.64sae3dbb3388c4annular44
d6b1924b4f072013-09-10 11:46CFL: 0.01, levelset_update_ncell: 5, Nx: 1002h 24m 17.91sae3dbb3388c4annular44
605c0114b7e72013-09-10 11:46CFL: 0.1, levelset_update_ncell: 15, Nx: 40013h 55m 53.14sae3dbb3388c4annular44
ae0f22847e522013-09-10 11:46CFL: 0.1, levelset_update_ncell: 45, Nx: 2002h 58m 0.87sae3dbb3388c4annular44
e72bf4d250032013-09-10 11:45CFL: 0.001, levelset_update_ncell: 15, Nx: 1001d 1h 43m 34.61sae3dbb3388c4annular44
f56e76b745f82013-09-10 11:45CFL: 0.01, levelset_update_ncell: 5, Nx: 4004d 7h 47m 20.32sae3dbb3388c4annular44
64df1b4b4f8e2013-09-10 11:45CFL: 0.01, levelset_update_ncell: 15, Nx: 1002h 49m 10.09sae3dbb3388c4annular44
8360a1b11ac12013-09-10 11:45CFL: 0.01, levelset_update_ncell: 45, Nx: 1002h 50m 24.66sae3dbb3388c4annular44
3b54b83e35d02013-09-10 11:45CFL: 0.1, levelset_update_ncell: 45, Nx: 1001h 8m 1.38sae3dbb3388c4annular44
4db2a7fb5d202013-09-10 11:45CFL: 0.01, levelset_update_ncell: 15, Nx: 20014h 40m 22.51sae3dbb3388c4annular44
42de37b06c852013-09-10 11:45CFL: 0.001, levelset_update_ncell: 45, Nx: 2004d 23h 44m 55.93sae3dbb3388c4annular44
5e68b4411f3d2013-09-10 11:45CFL: 0.1, levelset_update_ncell: 5, Nx: 40014h 3m 51.73sae3dbb3388c4annular44
be96cb6f9daa2013-09-10 11:45CFL: 0.001, levelset_update_ncell: 15, Nx: 2005d 33m 37.19sae3dbb3388c4annular44
32a15b45123f2013-09-10 11:45CFL: 0.001, levelset_update_ncell: 5, Nx: 10023h 5m 8.03sae3dbb3388c4annular44
011ec26883332013-09-10 11:45CFL: 0.01, levelset_update_ncell: 45, Nx: 20013h 59m 10.47sae3dbb3388c4annular44
9f57b537986e2013-09-10 11:45CFL: 0.1, levelset_update_ncell: 15, Nx: 8004d 15h 40m 12.76sae3dbb3388c4annular44
4dc0466b65a22013-09-10 11:45CFL: 0.001, levelset_update_ncell: 5, Nx: 2002d 23h 50m 32.64sae3dbb3388c4annular44
ce263f079dcc2013-09-10 11:45CFL: 0.1, levelset_update_ncell: 15, Nx: 2002h 32m 5.64sae3dbb3388c4annular44
2681a5aad4c92013-09-10 11:45CFL: 0.1, levelset_update_ncell: 45, Nx: 40011h 2m 30.64sae3dbb3388c4annular44
52c40bb3ba502013-09-10 11:45CFL: 0.001, levelset_update_ncell: 5, Nx: 4004d 22h 57m 12.81sae3dbb3388c4annular44
b8fc214d7cf02013-09-10 11:45CFL: 0.1, levelset_update_ncell: 15, Nx: 1001h 23.75sae3dbb3388c4annular44
abfd3621826a2013-09-10 11:45CFL: 0.01, levelset_update_ncell: 5, Nx: 2008h 15m 14.74sae3dbb3388c4annular44
069d56e4a0e12013-09-10 11:45CFL: 0.1, levelset_update_ncell: 5, Nx: 1001h 2m 28.57sae3dbb3388c4annular44
ba697100a3412013-09-10 11:45CFL: 0.1, levelset_update_ncell: 5, Nx: 2002h 53m 18.56sae3dbb3388c4annular44

CFL=0.1


In [5]:
from multiViewer import MultiViewer
from tools import getRecord

Nxs = (100, 200, 400, 800)
ls_ncells = (2, 5, 15, 45)

def columntitle(r):
    if r:
        Nx = r.parameters['Nx']
    else:
        Nx = 800
    return r'$N$={0}'.format(Nx)

records = [[getRecord(records=annular44Records, CFL=0.1, Nx=Nx, levelset_update_ncell=ls_ncell) for Nx in Nxs] for ls_ncell in ls_ncells]
viewer = MultiViewer(records,
                     rowtitle=lambda r: r'f={0}'.format(r.parameters['levelset_update_ncell']),
                     columntitle=columntitle,
                     figsize=(1.5, 6))
viewer.plot(times=np.arange(10) * 3000. / 9.)
smt_ipy_table([j for i in records for j in i if j], fields=['label', 'timestamp', 'parameters', 'duration', 'version', 'tags'], parameters=['Nx', 'CFL', 'levelset_update_ncell', 'kPlus', 'kMinus'])


Out[5]:
LabelTimestampParametersDurationVersionTags
bc7bca7523d32013-09-10 15:54Nx: 100, CFL: 0.1, levelset_update_ncell: 2, kPlus: 784.759970351, kMinus: 46415888.33611h 25m 58.64s345958513b87annular44
71c4dd772f7e2013-09-10 15:54Nx: 200, CFL: 0.1, levelset_update_ncell: 2, kPlus: 784.759970351, kMinus: 46415888.33614h 34m 59.48s345958513b87annular44
570d0907da972013-09-10 15:54Nx: 400, CFL: 0.1, levelset_update_ncell: 2, kPlus: 784.759970351, kMinus: 46415888.336118h 24m 25.58s345958513b87annular44
069d56e4a0e12013-09-10 11:45Nx: 100, CFL: 0.1, levelset_update_ncell: 5, kPlus: 784.759970351, kMinus: 46415888.33611h 2m 28.57sae3dbb3388c4annular44
ba697100a3412013-09-10 11:45Nx: 200, CFL: 0.1, levelset_update_ncell: 5, kPlus: 784.759970351, kMinus: 46415888.33612h 53m 18.56sae3dbb3388c4annular44
5e68b4411f3d2013-09-10 11:45Nx: 400, CFL: 0.1, levelset_update_ncell: 5, kPlus: 784.759970351, kMinus: 46415888.336114h 3m 51.73sae3dbb3388c4annular44
b8fc214d7cf02013-09-10 11:45Nx: 100, CFL: 0.1, levelset_update_ncell: 15, kPlus: 784.759970351, kMinus: 46415888.33611h 23.75sae3dbb3388c4annular44
ce263f079dcc2013-09-10 11:45Nx: 200, CFL: 0.1, levelset_update_ncell: 15, kPlus: 784.759970351, kMinus: 46415888.33612h 32m 5.64sae3dbb3388c4annular44
605c0114b7e72013-09-10 11:46Nx: 400, CFL: 0.1, levelset_update_ncell: 15, kPlus: 784.759970351, kMinus: 46415888.336113h 55m 53.14sae3dbb3388c4annular44
9f57b537986e2013-09-10 11:45Nx: 800, CFL: 0.1, levelset_update_ncell: 15, kPlus: 784.759970351, kMinus: 46415888.33614d 15h 40m 12.76sae3dbb3388c4annular44
3b54b83e35d02013-09-10 11:45Nx: 100, CFL: 0.1, levelset_update_ncell: 45, kPlus: 784.759970351, kMinus: 46415888.33611h 8m 1.38sae3dbb3388c4annular44
ae0f22847e522013-09-10 11:46Nx: 200, CFL: 0.1, levelset_update_ncell: 45, kPlus: 784.759970351, kMinus: 46415888.33612h 58m 0.87sae3dbb3388c4annular44
2681a5aad4c92013-09-10 11:45Nx: 400, CFL: 0.1, levelset_update_ncell: 45, kPlus: 784.759970351, kMinus: 46415888.336111h 2m 30.64sae3dbb3388c4annular44

CFL = 0.01


In [6]:
from multiViewer import MultiViewer
from tools import getRecord

Nxs = (100, 200, 400)
ls_ncells = (2, 5, 15, 45)

def columntitle(r):
    if r:
        Nx = r.parameters['Nx']
    else:
        Nx = 400
    return r'$N$={0}'.format(Nx)

records = [[getRecord(records=annular44Records, CFL=0.01, Nx=Nx, levelset_update_ncell=ls_ncell) for Nx in Nxs] for ls_ncell in ls_ncells]
viewer = MultiViewer(records,
                     rowtitle=lambda r: r'f={0}'.format(r.parameters['levelset_update_ncell']),
                     columntitle=columntitle,
                     figsize=(1.5, 6))
viewer.plot(times=np.arange(10) * 3000. / 9.)
smt_ipy_table([j for i in records for j in i if j], fields=['label', 'timestamp', 'parameters', 'duration', 'version', 'tags'], parameters=['Nx', 'CFL', 'levelset_update_ncell', 'kPlus', 'kMinus'])


Out[6]:
LabelTimestampParametersDurationVersionTags
1dce7d162f922013-09-10 15:54Nx: 100, CFL: 0.01, levelset_update_ncell: 2, kPlus: 784.759970351, kMinus: 46415888.33612h 36m 34.32s345958513b87annular44
aea4767266972013-09-10 15:54Nx: 200, CFL: 0.01, levelset_update_ncell: 2, kPlus: 784.759970351, kMinus: 46415888.336112h 43m 19.40s345958513b87annular44
c1e3feff1eba2013-09-10 15:54Nx: 400, CFL: 0.01, levelset_update_ncell: 2, kPlus: 784.759970351, kMinus: 46415888.33614d 17h 9m 46.26s345958513b87annular44
d6b1924b4f072013-09-10 11:46Nx: 100, CFL: 0.01, levelset_update_ncell: 5, kPlus: 784.759970351, kMinus: 46415888.33612h 24m 17.91sae3dbb3388c4annular44
abfd3621826a2013-09-10 11:45Nx: 200, CFL: 0.01, levelset_update_ncell: 5, kPlus: 784.759970351, kMinus: 46415888.33618h 15m 14.74sae3dbb3388c4annular44
f56e76b745f82013-09-10 11:45Nx: 400, CFL: 0.01, levelset_update_ncell: 5, kPlus: 784.759970351, kMinus: 46415888.33614d 7h 47m 20.32sae3dbb3388c4annular44
64df1b4b4f8e2013-09-10 11:45Nx: 100, CFL: 0.01, levelset_update_ncell: 15, kPlus: 784.759970351, kMinus: 46415888.33612h 49m 10.09sae3dbb3388c4annular44
4db2a7fb5d202013-09-10 11:45Nx: 200, CFL: 0.01, levelset_update_ncell: 15, kPlus: 784.759970351, kMinus: 46415888.336114h 40m 22.51sae3dbb3388c4annular44
7aa615c065962013-09-10 11:46Nx: 400, CFL: 0.01, levelset_update_ncell: 15, kPlus: 784.759970351, kMinus: 46415888.33613d 20h 18m 33.44sae3dbb3388c4annular44
8360a1b11ac12013-09-10 11:45Nx: 100, CFL: 0.01, levelset_update_ncell: 45, kPlus: 784.759970351, kMinus: 46415888.33612h 50m 24.66sae3dbb3388c4annular44
011ec26883332013-09-10 11:45Nx: 200, CFL: 0.01, levelset_update_ncell: 45, kPlus: 784.759970351, kMinus: 46415888.336113h 59m 10.47sae3dbb3388c4annular44
5b355d4598842013-09-10 11:46Nx: 400, CFL: 0.01, levelset_update_ncell: 45, kPlus: 784.759970351, kMinus: 46415888.33613d 19h 41m 24.46sae3dbb3388c4annular44

CFL = 0.001


In [8]:
from multiViewer import MultiViewer
from tools import getRecord

Nxs = (100, 200, 400)
ls_ncells = (2, 5, 15, 45)

def columntitle(r):
    if r:
        Nx = r.parameters['Nx']
    else:
        Nx = 400
    return r'$N$={0}'.format(Nx)

records = [[getRecord(records=annular44Records, CFL=0.001, Nx=Nx, levelset_update_ncell=ls_ncell) for Nx in Nxs] for ls_ncell in ls_ncells]
viewer = MultiViewer(records,
                     rowtitle=lambda r: r'f={0}'.format(r.parameters['levelset_update_ncell']),
                     columntitle=columntitle,
                     figsize=(1.5, 6))
viewer.plot(times=np.arange(10) * 3000. / 9.)
smt_ipy_table([j for i in records for j in i if j], fields=['label', 'timestamp', 'parameters', 'duration', 'version', 'tags'], parameters=['Nx', 'CFL', 'levelset_update_ncell', 'kPlus', 'kMinus'])


Out[8]:
LabelTimestampParametersDurationVersionTags
d9a4c64429812013-09-10 15:54Nx: 100, CFL: 0.001, levelset_update_ncell: 2, kPlus: 784.759970351, kMinus: 46415888.336123h 39m 46.38s345958513b87annular44
6a7a2a844c712013-09-10 15:54Nx: 200, CFL: 0.001, levelset_update_ncell: 2, kPlus: 784.759970351, kMinus: 46415888.33614d 21h 7m 7.03s345958513b87annular44
32a15b45123f2013-09-10 11:45Nx: 100, CFL: 0.001, levelset_update_ncell: 5, kPlus: 784.759970351, kMinus: 46415888.336123h 5m 8.03sae3dbb3388c4annular44
4dc0466b65a22013-09-10 11:45Nx: 200, CFL: 0.001, levelset_update_ncell: 5, kPlus: 784.759970351, kMinus: 46415888.33612d 23h 50m 32.64sae3dbb3388c4annular44
52c40bb3ba502013-09-10 11:45Nx: 400, CFL: 0.001, levelset_update_ncell: 5, kPlus: 784.759970351, kMinus: 46415888.33614d 22h 57m 12.81sae3dbb3388c4annular44
e72bf4d250032013-09-10 11:45Nx: 100, CFL: 0.001, levelset_update_ncell: 15, kPlus: 784.759970351, kMinus: 46415888.33611d 1h 43m 34.61sae3dbb3388c4annular44
be96cb6f9daa2013-09-10 11:45Nx: 200, CFL: 0.001, levelset_update_ncell: 15, kPlus: 784.759970351, kMinus: 46415888.33615d 33m 37.19sae3dbb3388c4annular44
8cedc8f662752013-09-10 11:46Nx: 100, CFL: 0.001, levelset_update_ncell: 45, kPlus: 784.759970351, kMinus: 46415888.336120h 50m 28.64sae3dbb3388c4annular44
42de37b06c852013-09-10 11:45Nx: 200, CFL: 0.001, levelset_update_ncell: 45, kPlus: 784.759970351, kMinus: 46415888.33614d 23h 44m 55.93sae3dbb3388c4annular44

Results for annular45


In [1]:
%load_ext autoreload
%autoreload 2
from tools import getSMTRecords, smt_ipy_table
records = getSMTRecords()
annular45Records = getSMTRecords(records=records, tags=['annular45'])


Created Django record store using PostgreSQL

In [2]:
smt_ipy_table(annular45Records, fields=['label', 'timestamp', 'parameters', 'duration', 'version', 'tags'], parameters=['CFL', 'levelset_update_ncell', 'Nx'])


Out[2]:
LabelTimestampParametersDurationVersionTags
60e30be545e52013-09-10 15:54CFL: 0.001, levelset_update_ncell: 2, Nx: 2004d 1h 53m 29.85s345958513b87annular45
19d6f331ece62013-09-10 15:54CFL: 0.1, levelset_update_ncell: 2, Nx: 40015h 30m 19.40s345958513b87annular45
27554c545c6e2013-09-10 15:54CFL: 0.1, levelset_update_ncell: 2, Nx: 8003d 57m 58.02s345958513b87annular45
847dfa7bf3542013-09-10 15:54CFL: 0.1, levelset_update_ncell: 2, Nx: 2003h 38m 31.27s345958513b87annular45
a56b007312c42013-09-10 15:54CFL: 0.01, levelset_update_ncell: 2, Nx: 20010h 26m 6.02s345958513b87annular45
e251a67981042013-09-10 15:54CFL: 0.01, levelset_update_ncell: 2, Nx: 1003h 1m 40.76s345958513b87annular45
3106736af0812013-09-10 15:54CFL: 0.1, levelset_update_ncell: 2, Nx: 1001h 28m 22.35s345958513b87annular45
26b632b0521e2013-09-10 15:54CFL: 0.01, levelset_update_ncell: 2, Nx: 4003d 10h 9m 46.44s345958513b87annular45
9cac36a5b20c2013-09-10 15:54CFL: 0.001, levelset_update_ncell: 2, Nx: 10016h 46m 38.22s345958513b87annular45
d7e1e1051aa92013-09-10 11:46CFL: 0.1, levelset_update_ncell: 15, Nx: 2002h 48m 24.08sae3dbb3388c4annular45
d44a113e45242013-09-10 11:46CFL: 0.01, levelset_update_ncell: 15, Nx: 4003d 15h 40m 36.26sae3dbb3388c4annular45
62ecfcb06b3c2013-09-10 11:46CFL: 0.1, levelset_update_ncell: 45, Nx: 2002h 51m 51.94sae3dbb3388c4annular45
ce7a19900d512013-09-10 11:46CFL: 0.1, levelset_update_ncell: 5, Nx: 2002h 50m 54.49sae3dbb3388c4annular45
9933f0abdeca2013-09-10 11:46CFL: 0.01, levelset_update_ncell: 45, Nx: 8005d 5h 7m 17.15sae3dbb3388c4annular45
0dbe99b2be132013-09-10 11:46CFL: 0.001, levelset_update_ncell: 15, Nx: 10020h 23m 16.11sae3dbb3388c4annular45
577955d7d7062013-09-10 11:46CFL: 0.01, levelset_update_ncell: 5, Nx: 20010h 46m 33.12sae3dbb3388c4annular45
5a1bbc86123a2013-09-10 11:46CFL: 0.001, levelset_update_ncell: 45, Nx: 10021h 31m 36.32sae3dbb3388c4annular45
131258dbbe4e2013-09-10 11:45CFL: 0.01, levelset_update_ncell: 15, Nx: 8005d 12h 57m 25.65sae3dbb3388c4annular45
6f1b096ed4812013-09-10 11:45CFL: 0.01, levelset_update_ncell: 45, Nx: 4004d 2h 12m 54.73sae3dbb3388c4annular45
c72b6514aa0e2013-09-10 11:45CFL: 0.001, levelset_update_ncell: 45, Nx: 2004d 16h 12m 53.46sae3dbb3388c4annular45
0f1b248a4bc72013-09-10 11:45CFL: 0.01, levelset_update_ncell: 5, Nx: 4004d 53m 16.14sae3dbb3388c4annular45
b5cb41063c992013-09-10 11:45CFL: 0.1, levelset_update_ncell: 45, Nx: 8002d 12h 45m 49.28sae3dbb3388c4annular45
a504eac099e32013-09-10 11:45CFL: 0.1, levelset_update_ncell: 45, Nx: 1001h 15m 41.20sae3dbb3388c4annular45
0ebe103dc33b2013-09-10 11:45CFL: 0.1, levelset_update_ncell: 15, Nx: 4009h 29m 58.28sae3dbb3388c4annular45
d4dec786bb742013-09-10 11:45CFL: 0.1, levelset_update_ncell: 5, Nx: 8002d 14h 10m 39.26sae3dbb3388c4annular45
2f90c119217a2013-09-10 11:45CFL: 0.01, levelset_update_ncell: 5, Nx: 1002h 41m 55.20sae3dbb3388c4annular45
03b33bda0d8d2013-09-10 11:45CFL: 0.1, levelset_update_ncell: 5, Nx: 1001h 4m 31.53sae3dbb3388c4annular45
9e98ee368de92013-09-10 11:45CFL: 0.1, levelset_update_ncell: 45, Nx: 4008h 50m 59.18sae3dbb3388c4annular45
0385793efe472013-09-10 11:45CFL: 0.001, levelset_update_ncell: 5, Nx: 1001d 4m 13.27sae3dbb3388c4annular45
d0108244d40f2013-09-10 11:45CFL: 0.1, levelset_update_ncell: 15, Nx: 1001h 4m 16.98sae3dbb3388c4annular45
ee9fea5f3c352013-09-10 11:45CFL: 0.1, levelset_update_ncell: 15, Nx: 8002d 1h 38m 9.05sae3dbb3388c4annular45
1f01d81a78162013-09-10 11:45CFL: 0.01, levelset_update_ncell: 45, Nx: 1002h 49m 12.19sae3dbb3388c4annular45
c3f158670a472013-09-10 11:45CFL: 0.01, levelset_update_ncell: 5, Nx: 8004d 10h 30m 35.38sae3dbb3388c4annular45
3ae3c9a52fdc2013-09-10 11:45CFL: 0.01, levelset_update_ncell: 45, Nx: 2008h 51m 21.20sae3dbb3388c4annular45
6bf6cb5f5af92013-09-10 11:45CFL: 0.01, levelset_update_ncell: 15, Nx: 20010h 46m 28.53sae3dbb3388c4annular45
d4ebff1c16892013-09-10 11:45CFL: 0.001, levelset_update_ncell: 5, Nx: 2002d 5h 42m 46.07sae3dbb3388c4annular45
0da58bf44e7d2013-09-10 11:45CFL: 0.01, levelset_update_ncell: 15, Nx: 1001h 59m 27.28sae3dbb3388c4annular45
9b203e09f4172013-09-10 11:45CFL: 0.1, levelset_update_ncell: 5, Nx: 4005h 54m 35.87sae3dbb3388c4annular45
9a92de063c5d2013-09-10 11:45CFL: 0.001, levelset_update_ncell: 15, Nx: 2002d 10h 31m 56.07sae3dbb3388c4annular45

CFL=0.1


In [3]:
from multiViewer import MultiViewer
from tools import getRecord

Nxs = (100, 200, 400, 800)
ls_ncells = (2, 5, 15, 45)

def columntitle(r):
    if r:
        Nx = r.parameters['Nx']
    else:
        Nx = 800
    return r'f={0}'.format(Nx)

records = [[getRecord(records=annular45Records, CFL=0.1, Nx=Nx, levelset_update_ncell=ls_ncell) for Nx in Nxs] for ls_ncell in ls_ncells]
viewer = MultiViewer(records,
                     rowtitle=lambda r: r'f={0}'.format(r.parameters['levelset_update_ncell']),
                     columntitle=columntitle,
                     figsize=(1.5, 6))
viewer.plot(times=np.arange(10) * 3000. / 9.)
smt_ipy_table([j for i in records for j in i if j], fields=['label', 'timestamp', 'parameters', 'duration', 'version', 'tags'], parameters=['Nx', 'CFL', 'levelset_update_ncell', 'kPlus', 'kMinus'])


Out[3]:
LabelTimestampParametersDurationVersionTags
3106736af0812013-09-10 15:54Nx: 100, CFL: 0.1, levelset_update_ncell: 2, kPlus: 7847.59970351, kMinus: 133756775.1531h 28m 22.35s345958513b87annular45
847dfa7bf3542013-09-10 15:54Nx: 200, CFL: 0.1, levelset_update_ncell: 2, kPlus: 7847.59970351, kMinus: 133756775.1533h 38m 31.27s345958513b87annular45
19d6f331ece62013-09-10 15:54Nx: 400, CFL: 0.1, levelset_update_ncell: 2, kPlus: 7847.59970351, kMinus: 133756775.15315h 30m 19.40s345958513b87annular45
27554c545c6e2013-09-10 15:54Nx: 800, CFL: 0.1, levelset_update_ncell: 2, kPlus: 7847.59970351, kMinus: 133756775.1533d 57m 58.02s345958513b87annular45
03b33bda0d8d2013-09-10 11:45Nx: 100, CFL: 0.1, levelset_update_ncell: 5, kPlus: 7847.59970351, kMinus: 133756775.1531h 4m 31.53sae3dbb3388c4annular45
ce7a19900d512013-09-10 11:46Nx: 200, CFL: 0.1, levelset_update_ncell: 5, kPlus: 7847.59970351, kMinus: 133756775.1532h 50m 54.49sae3dbb3388c4annular45
9b203e09f4172013-09-10 11:45Nx: 400, CFL: 0.1, levelset_update_ncell: 5, kPlus: 7847.59970351, kMinus: 133756775.1535h 54m 35.87sae3dbb3388c4annular45
d4dec786bb742013-09-10 11:45Nx: 800, CFL: 0.1, levelset_update_ncell: 5, kPlus: 7847.59970351, kMinus: 133756775.1532d 14h 10m 39.26sae3dbb3388c4annular45
d0108244d40f2013-09-10 11:45Nx: 100, CFL: 0.1, levelset_update_ncell: 15, kPlus: 7847.59970351, kMinus: 133756775.1531h 4m 16.98sae3dbb3388c4annular45
d7e1e1051aa92013-09-10 11:46Nx: 200, CFL: 0.1, levelset_update_ncell: 15, kPlus: 7847.59970351, kMinus: 133756775.1532h 48m 24.08sae3dbb3388c4annular45
0ebe103dc33b2013-09-10 11:45Nx: 400, CFL: 0.1, levelset_update_ncell: 15, kPlus: 7847.59970351, kMinus: 133756775.1539h 29m 58.28sae3dbb3388c4annular45
ee9fea5f3c352013-09-10 11:45Nx: 800, CFL: 0.1, levelset_update_ncell: 15, kPlus: 7847.59970351, kMinus: 133756775.1532d 1h 38m 9.05sae3dbb3388c4annular45
a504eac099e32013-09-10 11:45Nx: 100, CFL: 0.1, levelset_update_ncell: 45, kPlus: 7847.59970351, kMinus: 133756775.1531h 15m 41.20sae3dbb3388c4annular45
62ecfcb06b3c2013-09-10 11:46Nx: 200, CFL: 0.1, levelset_update_ncell: 45, kPlus: 7847.59970351, kMinus: 133756775.1532h 51m 51.94sae3dbb3388c4annular45
9e98ee368de92013-09-10 11:45Nx: 400, CFL: 0.1, levelset_update_ncell: 45, kPlus: 7847.59970351, kMinus: 133756775.1538h 50m 59.18sae3dbb3388c4annular45
b5cb41063c992013-09-10 11:45Nx: 800, CFL: 0.1, levelset_update_ncell: 45, kPlus: 7847.59970351, kMinus: 133756775.1532d 12h 45m 49.28sae3dbb3388c4annular45

CFL=0.01


In [4]:
from multiViewer import MultiViewer
from tools import getRecord

Nxs = (100, 200, 400, 800)
ls_ncells = (2, 5, 15, 45)

def columntitle(r):
    if r:
        Nx = r.parameters['Nx']
    else:
        Nx = 800
    return r'f={0}'.format(Nx)

records = [[getRecord(records=annular45Records, CFL=0.01, Nx=Nx, levelset_update_ncell=ls_ncell) for Nx in Nxs] for ls_ncell in ls_ncells]
viewer = MultiViewer(records,
                     rowtitle=lambda r: r'f={0}'.format(r.parameters['levelset_update_ncell']),
                     columntitle=columntitle,
                     figsize=(1.5, 6))
viewer.plot(times=np.arange(10) * 3000. / 9.)
smt_ipy_table([j for i in records for j in i if j], fields=['label', 'timestamp', 'parameters', 'duration', 'version', 'tags'], parameters=['Nx', 'CFL', 'levelset_update_ncell', 'kPlus', 'kMinus'])


Out[4]:
LabelTimestampParametersDurationVersionTags
e251a67981042013-09-10 15:54Nx: 100, CFL: 0.01, levelset_update_ncell: 2, kPlus: 7847.59970351, kMinus: 133756775.1533h 1m 40.76s345958513b87annular45
a56b007312c42013-09-10 15:54Nx: 200, CFL: 0.01, levelset_update_ncell: 2, kPlus: 7847.59970351, kMinus: 133756775.15310h 26m 6.02s345958513b87annular45
26b632b0521e2013-09-10 15:54Nx: 400, CFL: 0.01, levelset_update_ncell: 2, kPlus: 7847.59970351, kMinus: 133756775.1533d 10h 9m 46.44s345958513b87annular45
2f90c119217a2013-09-10 11:45Nx: 100, CFL: 0.01, levelset_update_ncell: 5, kPlus: 7847.59970351, kMinus: 133756775.1532h 41m 55.20sae3dbb3388c4annular45
577955d7d7062013-09-10 11:46Nx: 200, CFL: 0.01, levelset_update_ncell: 5, kPlus: 7847.59970351, kMinus: 133756775.15310h 46m 33.12sae3dbb3388c4annular45
0f1b248a4bc72013-09-10 11:45Nx: 400, CFL: 0.01, levelset_update_ncell: 5, kPlus: 7847.59970351, kMinus: 133756775.1534d 53m 16.14sae3dbb3388c4annular45
c3f158670a472013-09-10 11:45Nx: 800, CFL: 0.01, levelset_update_ncell: 5, kPlus: 7847.59970351, kMinus: 133756775.1534d 10h 30m 35.38sae3dbb3388c4annular45
0da58bf44e7d2013-09-10 11:45Nx: 100, CFL: 0.01, levelset_update_ncell: 15, kPlus: 7847.59970351, kMinus: 133756775.1531h 59m 27.28sae3dbb3388c4annular45
6bf6cb5f5af92013-09-10 11:45Nx: 200, CFL: 0.01, levelset_update_ncell: 15, kPlus: 7847.59970351, kMinus: 133756775.15310h 46m 28.53sae3dbb3388c4annular45
d44a113e45242013-09-10 11:46Nx: 400, CFL: 0.01, levelset_update_ncell: 15, kPlus: 7847.59970351, kMinus: 133756775.1533d 15h 40m 36.26sae3dbb3388c4annular45
131258dbbe4e2013-09-10 11:45Nx: 800, CFL: 0.01, levelset_update_ncell: 15, kPlus: 7847.59970351, kMinus: 133756775.1535d 12h 57m 25.65sae3dbb3388c4annular45
1f01d81a78162013-09-10 11:45Nx: 100, CFL: 0.01, levelset_update_ncell: 45, kPlus: 7847.59970351, kMinus: 133756775.1532h 49m 12.19sae3dbb3388c4annular45
3ae3c9a52fdc2013-09-10 11:45Nx: 200, CFL: 0.01, levelset_update_ncell: 45, kPlus: 7847.59970351, kMinus: 133756775.1538h 51m 21.20sae3dbb3388c4annular45
6f1b096ed4812013-09-10 11:45Nx: 400, CFL: 0.01, levelset_update_ncell: 45, kPlus: 7847.59970351, kMinus: 133756775.1534d 2h 12m 54.73sae3dbb3388c4annular45
9933f0abdeca2013-09-10 11:46Nx: 800, CFL: 0.01, levelset_update_ncell: 45, kPlus: 7847.59970351, kMinus: 133756775.1535d 5h 7m 17.15sae3dbb3388c4annular45

CFL=0.001


In [5]:
from multiViewer import MultiViewer
from tools import getRecord

Nxs = (100, 200)
ls_ncells = (2, 5, 15, 45)

records = [[getRecord(records=annular45Records, CFL=0.001, Nx=Nx, levelset_update_ncell=ls_ncell) for Nx in Nxs] for ls_ncell in ls_ncells]

def columntitle(r):
    if r:
        Nx = r.parameters['Nx']
    else:
        Nx = 200
    return r'$N$={0}'.format(Nx)

viewer = MultiViewer(records,
                     rowtitle=lambda r: r'f={0}'.format(r.parameters['levelset_update_ncell']),
                     columntitle=columntitle,
                     figsize=(1.5, 6))
viewer.plot(times=np.arange(10) * 3000. / 9.)
smt_ipy_table([j for i in records for j in i if j], fields=['label', 'timestamp', 'parameters', 'duration', 'version', 'tags'], parameters=['Nx', 'CFL', 'levelset_update_ncell', 'kPlus', 'kMinus'])


Out[5]:
LabelTimestampParametersDurationVersionTags
9cac36a5b20c2013-09-10 15:54Nx: 100, CFL: 0.001, levelset_update_ncell: 2, kPlus: 7847.59970351, kMinus: 133756775.15316h 46m 38.22s345958513b87annular45
60e30be545e52013-09-10 15:54Nx: 200, CFL: 0.001, levelset_update_ncell: 2, kPlus: 7847.59970351, kMinus: 133756775.1534d 1h 53m 29.85s345958513b87annular45
0385793efe472013-09-10 11:45Nx: 100, CFL: 0.001, levelset_update_ncell: 5, kPlus: 7847.59970351, kMinus: 133756775.1531d 4m 13.27sae3dbb3388c4annular45
d4ebff1c16892013-09-10 11:45Nx: 200, CFL: 0.001, levelset_update_ncell: 5, kPlus: 7847.59970351, kMinus: 133756775.1532d 5h 42m 46.07sae3dbb3388c4annular45
0dbe99b2be132013-09-10 11:46Nx: 100, CFL: 0.001, levelset_update_ncell: 15, kPlus: 7847.59970351, kMinus: 133756775.15320h 23m 16.11sae3dbb3388c4annular45
9a92de063c5d2013-09-10 11:45Nx: 200, CFL: 0.001, levelset_update_ncell: 15, kPlus: 7847.59970351, kMinus: 133756775.1532d 10h 31m 56.07sae3dbb3388c4annular45
5a1bbc86123a2013-09-10 11:46Nx: 100, CFL: 0.001, levelset_update_ncell: 45, kPlus: 7847.59970351, kMinus: 133756775.15321h 31m 36.32sae3dbb3388c4annular45
c72b6514aa0e2013-09-10 11:45Nx: 200, CFL: 0.001, levelset_update_ncell: 45, kPlus: 7847.59970351, kMinus: 133756775.1534d 16h 12m 53.46sae3dbb3388c4annular45

More simulations


In [5]:
from tools import batch_launch

!date
rboundary = 50e-6 / np.sqrt(np.pi)
kPlus = 20.6913808111
kMinus = 10000000.0
    
reason = "Running simulation with only order 1 level set updates"
    
for CFL in (0.1, 0.01, 0.001):
    for levelset_update_ncell in (2,):
        for Nx in (100, 200, 400, 800):
            batch_launch(reason=reason, tags=['annular43'], kPlus=kPlus, kMinus=kMinus, rboundary=rboundary, Nx=Nx, spacing_ratio=1.2, CFL=CFL, levelset_update_ncell=levelset_update_ncell)


Tue Sep 10 15:53:57 EDT 2013

In [6]:
from tools import batch_launch

kPlus = np.logspace(1, 3, 20)[18]
kMinus = np.logspace(7, 8, 10)[6]

!date
rboundary = 50e-6 / np.sqrt(np.pi)
    
reason = "Running simulation with only order 1 level set updates"
    
for CFL in (0.1, 0.01, 0.001):
    for levelset_update_ncell in (2,):
        for Nx in (100, 200, 400, 800):
            batch_launch(reason=reason, tags=['annular44'], kPlus=kPlus, kMinus=kMinus, rboundary=rboundary, Nx=Nx, spacing_ratio=1.2, CFL=CFL, levelset_update_ncell=levelset_update_ncell)


Tue Sep 10 15:53:59 EDT 2013

In [7]:
from tools import batch_launch

kPlus = np.logspace(3, 4, 20)[17]
kMinus = np.logspace(7.6, 8.6, 20)[10]

!date
rboundary = 50e-6 / np.sqrt(np.pi)
    
reason = "Running simulation with only order 1 level set updates"
    
for CFL in (0.1, 0.01, 0.001):
    for levelset_update_ncell in (2,):
        for Nx in (100, 200, 400, 800):
            batch_launch(reason=reason, tags=['annular45'], kPlus=kPlus, kMinus=kMinus, rboundary=rboundary, Nx=Nx, spacing_ratio=1.2, CFL=CFL, levelset_update_ncell=levelset_update_ncell)


Tue Sep 10 15:54:02 EDT 2013

In [ ]: