コード例 #1
0
    'union': [-1, -2, -3],
}, {
    'name': 'A',
    'phys': 2,
    'union': 1,
}, {
    'name': 'B',
    'phys': 4,
    'union': 2,
}, {
    'name': 'C',
    'phys': 16,
    'union': 3,
}]

mtf = MultiTrace(kRef, meshname, dd, 'CSC')

At, X, J, iJ = mtf.tolinop()

shape = mtf.shape

A = 2.0 * At
A2 = A * iJ * A

Ce = 0.5 * J - At
Ci = 0.5 * J + At

Ce2 = Ce * iJ * Ce
Ci2 = Ci * iJ * Ci

x = np.random.rand(shape[0]) + 1j * np.random.rand(shape[0])
コード例 #2
0
ファイル: eg-dist2sph.py プロジェクト: zimoun/mtf
doms = merge_msh_bubbles(dgens)

myd = Domains(doms)
myd.write2dot('graph.dot')
call(['dot', '-Teps', 'graph.dot'], stdout=open('graph.eps', 'wb'))

dd = myd

print(N)

##################################

meshname = "./geo/all.msh"


mtf = MultiTrace(kRef, meshname, dd)

At, X, J, iJ = mtf.tolinop()

shape = mtf.shape

A = 2.0 * At
A2 = A * iJ * A

Ce = 0.5 * J - At
Ci = 0.5 * J + At

Ce2 = Ce * iJ * Ce
Ci2 = Ci * iJ * Ci

x = np.random.rand(shape[0]) + 1j * np.random.rand(shape[0])
コード例 #3
0
ファイル: ex-2-eig.py プロジェクト: zimoun/mtf
    'union': [-1, -2, -3],
}, {
    'name': 'A',
    'phys': 2,
    'union': 1,
}, {
    'name': 'B',
    'phys': 4,
    'union': 2,
}, {
    'name': 'C',
    'phys': 16,
    'union': 3,
}]

mtf = MultiTrace(kRef, meshname, dd, J_is='CSC')
#jmtf = MultiTrace(1j * kRef, meshname, dd)

At, X, J, iJ = mtf.tolinop()
#jAt, jX, jJ, jiJ = jmtf.tolinop()

shape = mtf.shape
#jshape = jmtf.shape

A = 2.0 * At
A2 = A * iJ * A

Ce = 0.5 * J - At
Ci = 0.5 * J + At

Ce2 = Ce * iJ * Ce
コード例 #4
0
nEl2, nEnl2 = [], []
nEL2, nEnL2 = [], []

for nlambda in nlambdas:

    print('\n')
    print('##################')
    print('\n')

    geoconf['nlambda'] = nlambda
    cmds = write_params_geo(geoconf)
    system("gmsh geo/sphere-disjoint.script.geo -")

    H.append(ll / nlambda)

    mtf = MultiTrace(geoconf['kRef'], 'geo/'+geoconf['meshname'], dd)

    Aw = mtf.A_weak_form()

    At, X, J, iJ = mtf.tolinop()

    shape = mtf.shape
    size, _ = shape
    Size.append(size)

    A = 2.0 * At
    A2 = A * iJ * A

    Ce = 0.5 * J - At
    Ci = 0.5 * J + At
コード例 #5
0
ファイル: ex-1-Blocked.py プロジェクト: zimoun/mtf
    'union': [-1, -2, -3],
}, {
    'name': 'A',
    'phys': 2,
    'union': 1,
}, {
    'name': 'B',
    'phys': 4,
    'union': 2,
}, {
    'name': 'C',
    'phys': 16,
    'union': 3,
}]

mtf = MultiTrace(kRef, meshname, dd, J_is='Blocked')

At, X, J, iJ = mtf.tolinop()

shape = mtf.shape

A = 2.0 * At
A2 = A * iJ * A

Ce = 0.5 * J - At
Ci = 0.5 * J + At

Ce2 = Ce * iJ * Ce
Ci2 = Ci * iJ * Ci

x = np.random.rand(shape[0]) + 1j * np.random.rand(shape[0])