Changeset 5666


Ignore:
Timestamp:
Aug 18, 2008, 5:43:46 PM (16 years ago)
Author:
ole
Message:

Removed possibility to call File_boundary without vol_id, edge_id
Also distinguished between
Modeltime_too_late and Modeltime_too_early exceptions.

Made some style guide modifications

Location:
anuga_core/source/anuga/abstract_2d_finite_volumes
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • anuga_core/source/anuga/abstract_2d_finite_volumes/domain.py

    r5631 r5666  
    11941194        """
    11951195
    1196         #Compute fluxes across each element edge
     1196        # Compute fluxes across each element edge
    11971197        self.compute_fluxes()
    11981198
    1199         #Update timestep to fit yieldstep and finaltime
     1199        # Update timestep to fit yieldstep and finaltime
    12001200        self.update_timestep(yieldstep, finaltime)
    12011201
    1202         #Update conserved quantities
     1202        # Update conserved quantities
    12031203        self.update_conserved_quantities()
    12041204
    1205         #update ghosts
     1205        # Update ghosts
    12061206        self.update_ghosts()
    12071207
    1208         #Update vertex and edge values
     1208        # Update vertex and edge values
    12091209        self.distribute_to_vertices_and_edges()
    12101210
    1211         #Update boundary values
     1211        # Update boundary values
    12121212        self.update_boundary()
    12131213
    1214         #Update time
     1214        # Update time
    12151215        self.time += self.timestep
    12161216
     
    12241224        """
    12251225
    1226         #Save initial initial conserved quantities values
     1226        # Save initial initial conserved quantities values
    12271227        self.backup_conserved_quantities()           
    12281228
    12291229        #--------------------------------------
    1230         #First euler step
     1230        # First euler step
    12311231        #--------------------------------------
    12321232
    1233         #Compute fluxes across each element edge
     1233        # Compute fluxes across each element edge
    12341234        self.compute_fluxes()
    12351235
    1236         #Update timestep to fit yieldstep and finaltime
     1236        # Update timestep to fit yieldstep and finaltime
    12371237        self.update_timestep(yieldstep, finaltime)
    12381238
    1239         #Update conserved quantities
     1239        # Update conserved quantities
    12401240        self.update_conserved_quantities()
    12411241
    1242         #update ghosts
     1242        # Update ghosts
    12431243        self.update_ghosts()
    12441244
    1245         #Update vertex and edge values
     1245        # Update vertex and edge values
    12461246        self.distribute_to_vertices_and_edges()
    12471247
    1248         #Update boundary values
     1248        # Update boundary values
    12491249        self.update_boundary()
    12501250
    1251         #Update time
     1251        # Update time
    12521252        self.time += self.timestep
    12531253
    12541254        #------------------------------------
    1255         #Second Euler step
     1255        # Second Euler step
    12561256        #------------------------------------
    12571257           
    1258         #Compute fluxes across each element edge
     1258        # Compute fluxes across each element edge
    12591259        self.compute_fluxes()
    12601260
    1261         #Update conserved quantities
     1261        # Update conserved quantities
    12621262        self.update_conserved_quantities()
    12631263
    12641264        #------------------------------------
    1265         #Combine initial and final values
    1266         #of conserved quantities and cleanup
     1265        # Combine initial and final values
     1266        # of conserved quantities and cleanup
    12671267        #------------------------------------
    1268         #combine steps
     1268       
     1269        # Combine steps
    12691270        self.saxpy_conserved_quantities(0.5, 0.5)
    12701271 
    1271         #update ghosts
     1272        # Update ghosts
    12721273        self.update_ghosts()
    12731274
    1274         #Update vertex and edge values
     1275        # Update vertex and edge values
    12751276        self.distribute_to_vertices_and_edges()
    12761277
    1277         #Update boundary values
     1278        # Update boundary values
    12781279        self.update_boundary()
    12791280
     
    12871288        """
    12881289
    1289         #Save initial initial conserved quantities values
     1290        # Save initial initial conserved quantities values
    12901291        self.backup_conserved_quantities()           
    12911292
     
    12931294       
    12941295        #--------------------------------------
    1295         #First euler step
     1296        # First euler step
    12961297        #--------------------------------------
    12971298
    1298         #Compute fluxes across each element edge
     1299        # Compute fluxes across each element edge
    12991300        self.compute_fluxes()
    13001301
    1301         #Update timestep to fit yieldstep and finaltime
     1302        # Update timestep to fit yieldstep and finaltime
    13021303        self.update_timestep(yieldstep, finaltime)
    13031304
    1304         #Update conserved quantities
     1305        # Update conserved quantities
    13051306        self.update_conserved_quantities()
    13061307
    1307         #update ghosts
     1308        # Update ghosts
    13081309        self.update_ghosts()
    13091310
    1310         #Update vertex and edge values
     1311        # Update vertex and edge values
    13111312        self.distribute_to_vertices_and_edges()
    13121313
    1313         #Update boundary values
     1314        # Update boundary values
    13141315        self.update_boundary()
    13151316
    1316         #Update time
     1317        # Update time
    13171318        self.time += self.timestep
    13181319
    13191320        #------------------------------------
    1320         #Second Euler step
     1321        # Second Euler step
    13211322        #------------------------------------
    13221323           
    1323         #Compute fluxes across each element edge
     1324        # Compute fluxes across each element edge
    13241325        self.compute_fluxes()
    13251326
    1326         #Update conserved quantities
     1327        # Update conserved quantities
    13271328        self.update_conserved_quantities()
    13281329
     
    13321333        #------------------------------------
    13331334
    1334         #combine steps
     1335        # Combine steps
    13351336        self.saxpy_conserved_quantities(0.25, 0.75)
    13361337 
    1337         #update ghosts
     1338        # Update ghosts
    13381339        self.update_ghosts()
    13391340
    1340         #Update vertex and edge values
     1341        # Update vertex and edge values
    13411342        self.distribute_to_vertices_and_edges()
    13421343
    1343         #Update boundary values
     1344        # Update boundary values
    13441345        self.update_boundary()
    13451346
    1346         #set substep time
     1347        # Set substep time
    13471348        self.time = initial_time + self.timestep*0.5
    13481349
    13491350        #------------------------------------
    1350         #Third Euler step
     1351        # Third Euler step
    13511352        #------------------------------------
    13521353           
    1353         #Compute fluxes across each element edge
     1354        # Compute fluxes across each element edge
    13541355        self.compute_fluxes()
    13551356
    1356         #Update conserved quantities
     1357        # Update conserved quantities
    13571358        self.update_conserved_quantities()
    13581359
    13591360        #------------------------------------
    1360         #Combine final and initial values
    1361         #and cleanup
     1361        # Combine final and initial values
     1362        # and cleanup
    13621363        #------------------------------------
    1363         #combine steps
     1364       
     1365        # Combine steps
    13641366        self.saxpy_conserved_quantities(2.0/3.0, 1.0/3.0)
    13651367 
    1366         #update ghosts
     1368        # Update ghosts
    13671369        self.update_ghosts()
    13681370
    1369         #Update vertex and edge values
     1371        # Update vertex and edge values
    13701372        self.distribute_to_vertices_and_edges()
    13711373
    1372         #Update boundary values
     1374        # Update boundary values
    13731375        self.update_boundary()
    13741376
    1375         #set new time
     1377        # Set new time
    13761378        self.time = initial_time + self.timestep       
    13771379       
  • anuga_core/source/anuga/abstract_2d_finite_volumes/generic_boundary_conditions.py

    r5657 r5666  
    269269        msg = 'Keyword argument default_boundary must be either None '
    270270        msg += 'or a boundary object.\n I got %s' %(str(default_boundary))
    271         assert default_boundary is None or isinstance(default_boundary, Boundary), msg
     271        assert default_boundary is None or\
     272            isinstance(default_boundary, Boundary), msg
    272273        self.default_boundary = default_boundary
    273274        self.default_boundary_invoked = False    # Flag
     
    321322            i = self.boundary_indices[ vol_id, edge_id ]
    322323           
    323            
    324             #res = self.F(t, point_id = i)           
    325324            try:
    326                 res = self.F(t, point_id = i)
    327             except (Modeltime_too_late, Modeltime_too_early), e:
     325                res = self.F(t, point_id=i)
     326            except Modeltime_too_early, e:
     327                raise Modeltime_too_early, e
     328            except Modeltime_too_late, e:
    328329                if self.default_boundary is None:
    329330                    raise Exception, e # Reraise exception
    330331                else:
     332                    # Pass control to default boundary
     333                    res = self.default_boundary.evaluate(vol_id, edge_id)
     334                                   
    331335                    if self.default_boundary_invoked is False:
    332336                        # Issue warning the first time
    333337                        msg = '%s' %str(e)
    334                         msg += 'Instead I will using the default boundary: %s\n'\
     338                        msg += 'Instead I will use the default boundary: %s\n'\
    335339                            %str(self.default_boundary)
    336340                        msg += 'Note: Further warnings will be supressed'
     
    342346                        self.default_boundary_invoked = True
    343347                   
    344                     # Pass control to default boundary
    345                     res = self.default_boundary.evaluate(vol_id, edge_id)
     348
    346349                   
    347350               
     
    371374            return res
    372375        else:
    373             # raise 'Boundary call without point_id not implemented'
     376            msg = 'Boundary call without point_id not implemented.\n'
     377            msg += 'vol_id=%s, edge_id=%s' %(str(vol_id), str(edge_id))
     378            raise Exception, msg
    374379            # FIXME: What should the semantics be?
    375             return self.F(t)
     380            #return self.F(t)
    376381
    377382
  • anuga_core/source/anuga/abstract_2d_finite_volumes/test_generic_boundary_conditions.py

    r5657 r5666  
    101101
    102102
    103     def test_fileboundary_time_only(self):
     103    def NOtest_fileboundary_time_only(self):
    104104        """Test that boundary values can be read from file and interpolated
    105105        This is using the .tms file format
     
    109109        file_function using the sts format
    110110        """
    111 
     111        #FIXME (Ole): This test was disabled 18 August 2008 as no
     112        # need for this was found. Rather I implemented an Exception
     113        # to catch possible errors in the model setup
     114       
    112115        from domain import Domain
    113116        from quantity import Quantity
Note: See TracChangeset for help on using the changeset viewer.