Beispiel #1
0
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)
        
Beispiel #2
0
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 ):
Beispiel #3
0
def draw(u, fname, s=1.0):
    write_png( u, fname, major_scale=std(u)*s, center=mean(u) )
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)