Index: /trunk/anuga_work/development/2010-projects/anuga_1d/sqpipe/parabolic_canal.py
===================================================================
--- /trunk/anuga_work/development/2010-projects/anuga_1d/sqpipe/parabolic_canal.py	(revision 8237)
+++ /trunk/anuga_work/development/2010-projects/anuga_1d/sqpipe/parabolic_canal.py	(revision 8238)
@@ -69,5 +69,5 @@
     N = 100
     print "Evaluating domain with %d cells" %N
-    domain = dom.Domain(*uniform_mesh(N, x_0 = -2.0*L_x, x_1 = 2.0*L_x))
+    domain = dom.Domain(*uniform_mesh(N, x_0 = -2.0*L_x, x_1 = 2.0*L_x), bulk_modulus = 75.0)
 
     domain.set_spatial_order(2)
Index: /trunk/anuga_work/development/2010-projects/anuga_1d/sqpipe/sqpipe.h
===================================================================
--- /trunk/anuga_work/development/2010-projects/anuga_1d/sqpipe/sqpipe.h	(revision 8237)
+++ /trunk/anuga_work/development/2010-projects/anuga_1d/sqpipe/sqpipe.h	(revision 8238)
@@ -8,4 +8,5 @@
   double g;
   double h0;
+  double bulk_modulus;
 };
 
@@ -102,5 +103,5 @@
   
   quantityflux[0] = (normal * pq->u) * pq->a; 
-  quantityflux[1] = normal * (pq->u * pq->d + (pq->h - pq->t) + 0.5 * sp->g * pq->t * pq->t);
+  quantityflux[1] = normal * (pq->u * pq->d + sp->bulk_modulus*(pq->h - pq->t) + 0.5 * sp->g * pq->t * pq->t);
 
   return quantityflux;
@@ -115,5 +116,5 @@
 
 double sqpipe_quantity_pressurised_sound_speed (struct quantity *q, struct params *p) {
-  return 1.0;
+  return ((struct sqpipe_params *)p)->bulk_modulus;
 }
 
@@ -286,5 +287,5 @@
 
   cellforce[0] = 0.0;
-  cellforce[1] = sp->g * (0.5*(qout->h + qin->h) - 0.5*(qout->t + qin->t)) * (qout->b - qin->b) + sp->g * (0.5*(qout->h + qin->h) - 0.5*(qout->t + qin->t)) * 0.5*(qout->b + qin->b) * (qout->t - qin->t) * 1/(0.5*(qout->t + qin->t));
+  cellforce[1] = sp->bulk_modulus * (sp->g * (0.5*(qout->h + qin->h) - 0.5*(qout->t + qin->t)) * (qout->b - qin->b) + sp->g * (0.5*(qout->h + qin->h) - 0.5*(qout->t + qin->t)) * 0.5*(qout->b + qin->b) * (qout->t - qin->t) * 1/(0.5*(qout->t + qin->t)));
 
   return cellforce;
Index: /trunk/anuga_work/development/2010-projects/anuga_1d/sqpipe/sqpipe_domain.py
===================================================================
--- /trunk/anuga_work/development/2010-projects/anuga_1d/sqpipe/sqpipe_domain.py	(revision 8237)
+++ /trunk/anuga_work/development/2010-projects/anuga_1d/sqpipe/sqpipe_domain.py	(revision 8238)
@@ -50,5 +50,5 @@
 class Sqpipe_domain(Generic_domain):
 
-    def __init__(self, coordinates, conserved_quantities, forcing_terms = [], boundary = None, state = None, update_state = True, tagged_elements = None):
+    def __init__(self, coordinates, conserved_quantities, forcing_terms = [], boundary = None, state = None, update_state = True, bulk_modulus = 1.0, tagged_elements = None):
 
         evolved_quantities = ['area', 'discharge', 'elevation', 'height', 'velocity','width','top','stage']
@@ -61,4 +61,6 @@
                                 other_quantities     = other_quantities,
                                 tagged_elements      = tagged_elements)
+
+        self.bulk_modulus = bulk_modulus
 
         # Allocate space for tracking state (if not provided)
Index: /trunk/anuga_work/development/2010-projects/anuga_1d/sqpipe/sqpipe_python.h
===================================================================
--- /trunk/anuga_work/development/2010-projects/anuga_1d/sqpipe/sqpipe_python.h	(revision 8237)
+++ /trunk/anuga_work/development/2010-projects/anuga_1d/sqpipe/sqpipe_python.h	(revision 8238)
@@ -19,4 +19,5 @@
   sp->g = get_python_double(domain,"g");
   sp->h0 = get_python_double(domain,"h0");
+  sp->bulk_modulus = get_python_double(domain, "bulk_modulus");
 
   return sD;
Index: /trunk/anuga_work/development/2010-projects/anuga_1d/sqpipe/sqpipe_test_domain.py
===================================================================
--- /trunk/anuga_work/development/2010-projects/anuga_1d/sqpipe/sqpipe_test_domain.py	(revision 8237)
+++ /trunk/anuga_work/development/2010-projects/anuga_1d/sqpipe/sqpipe_test_domain.py	(revision 8238)
@@ -6,5 +6,5 @@
 class Domain(Sqpipe_domain):
 
-    def __init__(self, coordinates, boundary = None, tagged_elements = None):
+    def __init__(self, coordinates, boundary = None, tagged_elements = None, bulk_modulus = 1.0):
         conserved_quantities = ['area', 'discharge']
         forcing_terms = []
@@ -16,6 +16,8 @@
                                boundary             = boundary,
                                state                = state,
+                               bulk_modulus         = bulk_modulus,
         #                       update_state         = False,
                                tagged_elements      = tagged_elements)
+
 
         self.__doc__ = 'sqpipe_area_discharge_domain'
