コード例 #1
0
ファイル: heat_eqn.py プロジェクト: nmaxwell/PythonWorkshop
n_vertices = 20
vertices=[]
for k in range(n_vertices):
    t = 2.0*pi*float(k)/n_vertices
    vertices.append( array((cos(t),sin(t)))*(cos((t-atan2(-1,-1))*3)+2)*3.0 )

D = polygon2D(vertices)
chi_D = simpleFunction([(D,1.0)])
chi_D = grid.evaluate( lambda x,y: chi_D((x,y)) )
chi_Dc = grid.ones()-chi_D


f = lambda x,y: 5.0*exp(-norm(array((x,y))-array((-5,-5)))**2/9)
F = chi_Dc* grid.evaluate( f )

write_png( chi_D, "chi_D.png", major_scale=std(chi_D)*1, center=mean(chi_D) )
write_png( F, "F.png", major_scale=std(F)*1, center=mean(F) )


#----------------------

class terminator:
    
    def __init__(self, ode_instance ):
        self.ode_instance = ode_instance
        self.last = None
    
    def terminate(self, t, v, dt):
        
        v_norm = norm(v)
        
コード例 #2
0
ファイル: heat_eqn.py プロジェクト: nmaxwell/research_old
vertices=[]
for k in range(n_vertices):
    t = 2.0*pi*float(k)/n_vertices
    vertices.append( array((cos(t),sin(t)))*(cos((t-atan2(-1,-1))*3)+2)*3.0 )

D = polygon2D(vertices)
chi_D = simpleFunction([(D,1.0)])
D = grid.evaluate( lambda x,y: chi_D((x,y)) )
Dc = grid.ones()-D


f = lambda x,y: 5.0*exp(-norm(array((x,y))-array((-5,-5)))**2/9)
F = grid.evaluate( f )
F *= Dc

write_png( D, "chi_D.png", major_scale=std(D)*1, center=mean(D) )
write_png( F, "F.png", major_scale=std(F)*1, center=mean(F) )




"""
D = grid.ones()
F = grid.evaluate( lambda x,y: exp(-norm((x,y))**2) )
"""



class terminator:
    
    def __init__(self, ode_instance ):
コード例 #3
0
ファイル: heat_eqn.py プロジェクト: nmaxwell/research_old
def draw(u, fname, s=1.0):
    write_png( u, fname, major_scale=std(u)*s, center=mean(u) )
コード例 #4
0
n_vertices = 40
vertices=[]
for k in range(n_vertices):
    t = 2.0*pi*float(k)/n_vertices
    vertices.append( array((cos(t),sin(t)))*(cos((t-atan2(-1,-1))*3)+2)*3.0 )

D = polygon2D(vertices)
chi_D = simpleFunction([(D, 1.0)])
chi_D = grid.evaluate( lambda x,y: chi_D((x,y)) )
chi_Dc = grid.ones()-chi_D


f = lambda x,y: 5.0*exp(-norm(array((x,y))-array((-5,-5)))**2/9)
F = chi_Dc* grid.evaluate( f )

write_png( chi_D, "chi_D.png", major_scale=std(chi_D)*1, center=mean(chi_D) )
write_png( F, "F.png", major_scale=std(F)*1, center=mean(F) )


#----------------------

class terminator:
    
    def __init__(self, ode_instance ):
        self.ode_instance = ode_instance
        self.last = None
    
    def terminate(self, t, v, dt):
        
        v_norm = norm(v)