Changeset 7886
 Timestamp:
 Jul 1, 2010, 5:09:54 PM (12 years ago)
 Location:
 trunk
 Files:

 3 edited
 1 copied
Legend:
 Unmodified
 Added
 Removed

trunk/anuga_core/source/anuga/utilities/sparse.py
r7276 r7886 297 297 def __mul__(self, other): 298 298 """Multiply this matrix onto 'other' which can either be 299 a numeric vector , a numeric matrix or another sparse matrix.299 a numeric vector. 300 300 """ 301 301 … … 303 303 B = num.array(other) 304 304 except: 305 print 'FIXME: Only numeric types implemented so far' 306 307 return csr_mv(self,B) 305 raise ValueError, 'FIXME: Only numeric types implemented so far' 306 307 308 # Assume numeric types from now on 309 310 if len(B.shape) == 0: 311 # Scalar  use __rmul__ method 312 #R = B*self 313 raise TypeError, 'Sparse matrix X scalar not implemented' 314 315 elif len(B.shape) == 1: 316 # Vector 317 msg = 'Mismatching dimensions: You cannot multiply (%d x %d) matrix onto %dvector'\ 318 %(self.M, self.N, B.shape[0]) 319 assert B.shape[0] == self.N, msg 320 321 R = csr_mv(self,B) 322 323 324 elif len(B.shape) == 2: 325 raise TypeError, 'Sparse matrix X matrix multiplication not implemented' 326 327 else: 328 raise ValueError, 'Dimension too high: d=%d' %len(B.shape) 329 330 return R 331 308 332 309 333 
trunk/anuga_core/source/anuga/utilities/util_ext.h
r7276 r7886 31 31 32 32 33 double sign(double x) { 34 //Return sign of a double 35 36 if (x>0.0) return 1.0; 37 else if (x<0.0) return 1.0; 38 else return 0.0; 39 } 40 33 41 int _gradient(double x0, double y0, 34 42 double x1, double y1, 
trunk/anuga_work/development/sudi/sw_2d/yoon_parabolic_basin_cross_mesh.py
r7837 r7886 11 11 # 12 12 # Module imports 13 #from anuga.shallow_water_balanced.swb_domain import Domain, Transmissive_boundary, Reflective_boundary,\ 13 from anuga import Domain, Transmissive_boundary, Reflective_boundary,\ 14 Dirichlet_boundary, rectangular_cross 15 16 #from anuga.interface import Domain, Transmissive_boundary, Reflective_boundary,\ 14 17 # Dirichlet_boundary 15 16 from anuga.interface import Domain, Transmissive_boundary, Reflective_boundary,\17 Dirichlet_boundary18 18 from math import sqrt, cos, sin, pi 19 from anuga.interface import rectangular_cross20 from anuga.utilities.polygon import inside_polygon, is_inside_triangle19 #from anuga.interface import rectangular_cross 20 #from anuga.utilities.polygon import inside_polygon, is_inside_triangle 21 21 from numpy import asarray 22 22 … … 24 24 # 25 25 # Domain 26 n = 20#20027 m = 20#20026 n = 4#200 27 m = 4#200 28 28 lenx = 8000.0 29 29 leny = 8000.0 … … 31 31 32 32 points, elements, boundary = rectangular_cross(m, n, lenx, leny, origin) 33 34 print points 35 print elements 36 print boundary 37 33 38 domain = Domain(points, elements, boundary) 34 39
Note: See TracChangeset
for help on using the changeset viewer.