Ignore:
Timestamp:
Mar 3, 2014, 9:58:02 AM (11 years ago)
Author:
davies
Message:

Minor updates to validation tests

Location:
trunk/anuga_work/development/gareth/experimental/bal_and
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/anuga_work/development/gareth/experimental/bal_and/swb2_domain.py

    r9039 r9056  
    7373
    7474        self.beta_w=1.0
    75         self.beta_w_dry=0.4
     75        self.beta_w_dry=0.0
    7676        self.beta_uh=1.0
    7777        self.beta_uh_dry=0.0
  • trunk/anuga_work/development/gareth/experimental/bal_and/swb2_domain_ext.c

    r9039 r9056  
    242242      if(i==0) edgeflux[i] += (s_max*s_min)*(max(q_right_rotated[i],ze) - max(q_left_rotated[i],ze));
    243243      //if(i==0) edgeflux[i] += (s_max*s_min)*(hre - hle);
    244       if(i==1) edgeflux[i] += (s_max*s_min)*(uh_right - uh_left);
    245       if(i==2) edgeflux[i] += (s_max*s_min)*(vh_right - vh_left);
     244      if((i==1)) edgeflux[i] += (s_max*s_min)*(uh_right - uh_left);
     245      //if((i==1)) edgeflux[i] += (s_max*s_min)*(uh_right/(h_right+1.0e-08)*hre - uh_left/(h_left+1.0e-08)*hle);
     246      if((i==2)) edgeflux[i] += (s_max*s_min)*(vh_right - vh_left);
     247      //if((i==2)) edgeflux[i] += (s_max*s_min)*(vh_right/(h_right+1.0e-08)*hre - vh_left/(h_left+1.0e-08)*hle);
    246248
    247249      edgeflux[i] *= inverse_denominator;
     
    538540    for(k=0; k<number_of_elements; k++){
    539541        hc = max(stage_centroid_values[k] - bed_centroid_values[k],0.);
    540         stage_explicit_update[k]=0.;
    541         xmom_explicit_update[k]=0.;
    542         ymom_explicit_update[k]=0.;
     542        //stage_explicit_update[k]=0.;
     543        //xmom_explicit_update[k]=0.;
     544        //ymom_explicit_update[k]=0.;
    543545
    544546        for(i=0;i<3;i++){
     
    751753  double dx1, dx2, dy1, dy2, dxv0, dxv1, dxv2, dyv0, dyv1, dyv2, dq0, dq1, dq2, area2, inv_area2, dpth,momnorm;
    752754  double dqv[3], qmin, qmax, hmin, hmax, bedmax,bedmin, stagemin;
    753   double hc, h0, h1, h2, beta_tmp, hfactor, xtmp, ytmp, weight, tmp;
     755  double hc, h0, h1, h2, beta_tmp, hfactor, xtmp, ytmp, weight, tmp, v0, v1, v2, vmax,vmin, vc;
    754756  double dk, dv0, dv1, dv2, de[3], demin, dcmax, r0scale, vel_norm, l1, l2, a_tmp, b_tmp, c_tmp,d_tmp;
    755757 
     
    845847  // condition) set its momentum to zero too. Aim is to prevent local 'pits'
    846848  // with a non-zero water surface gradient building up momentum over time
    847   for (k=0; k<number_of_elements;k++){
    848 
    849       k3=k*3;
    850       k0 = surrogate_neighbours[k3];
    851       k1 = surrogate_neighbours[k3 + 1];
    852       k2 = surrogate_neighbours[k3 + 2];
    853 
    854       if((height_centroid_values[k0] < minimum_allowed_height | k0==k) &
    855          (height_centroid_values[k1] < minimum_allowed_height | k1==k) &
    856          (height_centroid_values[k2] < minimum_allowed_height | k2==k)){
    857               xmom_centroid_store[k] = 0.;
    858               xmom_centroid_values[k] = 0.;
    859               ymom_centroid_store[k] = 0.;
    860               ymom_centroid_values[k] = 0.;
    861 
    862       }
    863   }
     849  //for (k=0; k<number_of_elements;k++){
     850  //
     851  //    k3=k*3;
     852  //    k0 = surrogate_neighbours[k3];
     853  //    k1 = surrogate_neighbours[k3 + 1];
     854  //    k2 = surrogate_neighbours[k3 + 2];
     855  //
     856  //    if((height_centroid_values[k0] < minimum_allowed_height | k0==k) &
     857  //       (height_centroid_values[k1] < minimum_allowed_height | k1==k) &
     858  //       (height_centroid_values[k2] < minimum_allowed_height | k2==k)){
     859  //            xmom_centroid_store[k] = 0.;
     860  //            xmom_centroid_values[k] = 0.;
     861  //            ymom_centroid_store[k] = 0.;
     862  //            ymom_centroid_values[k] = 0.;
     863
     864  //    }
     865  //}
    864866
    865867  // Begin extrapolation routine
     
    10521054      hmin = min(min(h0, min(h1, h2)), hc);
    10531055      hmax = max(max(h0, max(h1, h2)), hc);
     1056
     1057      //vc = sqrt(xmom_centroid_values[k]*xmom_centroid_values[k]+
     1058      //          ymom_centroid_values[k]*ymom_centroid_values[k]);
     1059      //v0 = sqrt(xmom_centroid_values[k0]*xmom_centroid_values[k0]+
     1060      //          ymom_centroid_values[k0]*ymom_centroid_values[k0]);
     1061      //v1 = sqrt(xmom_centroid_values[k1]*xmom_centroid_values[k1]+
     1062      //          ymom_centroid_values[k1]*ymom_centroid_values[k1]);
     1063      //v2 = sqrt(xmom_centroid_values[k2]*xmom_centroid_values[k2]+
     1064      //          ymom_centroid_values[k2]*ymom_centroid_values[k2]);
     1065      //vmax=max(max(v0*h0,max(v1*h1,v2*h2)),vc*hc);
     1066      //vmin=min(min(v0*h0,min(v1*h1,v2*h2)),vc*hc);
    10541067
    10551068      // Look for strong changes in cell depth as an indicator of near-wet-dry
     
    10751088      // Set hfactor to 0 smoothly as hmin --> minumum_allowed_height
    10761089      hfactor=min( 1.2*max(hmin-minimum_allowed_height,0.)/(max(hmin,0.)+1.*minimum_allowed_height), hfactor);
     1090
     1091      //hfactor=min(1.5*max(vmin,0.)/(max(vmax,0.)+1.0e-06), hfactor);
    10771092      //hfactor=min( 1.2*max(hc-minimum_allowed_height,0.)/(max(hc,0.)+1.*minimum_allowed_height), hfactor);
    10781093
     
    12521267
    12531268      // Limit the gradient
    1254       limit_gradient(dqv, qmin, qmax, beta_tmp);
     1269       limit_gradient(dqv, qmin, qmax, beta_tmp);
    12551270     
    12561271      for (i=0;i<3;i++)
Note: See TracChangeset for help on using the changeset viewer.