diff --git a/examples/DiscPatch/HydroStatic/disc-patch-icc.yml b/examples/DiscPatch/HydroStatic/disc-patch-icc.yml
index 9d1fe1b0948594f79c401e50308166313aa39924..6f17cfbb1e0125faf8e47fe4e9e55bfdf4df7b71 100644
--- a/examples/DiscPatch/HydroStatic/disc-patch-icc.yml
+++ b/examples/DiscPatch/HydroStatic/disc-patch-icc.yml
@@ -39,8 +39,8 @@ InitialConditions:
 DiscPatchPotential:
   surface_density: 10.
   scale_height:    100.
-  z_disc:          400.
-  z_trunc:         300.
-  z_max:           350.
+  x_disc:          400.
+  x_trunc:         300.
+  x_max:           350.
   timestep_mult:   0.03
   growth_time:     5.
diff --git a/examples/DiscPatch/HydroStatic/disc-patch.yml b/examples/DiscPatch/HydroStatic/disc-patch.yml
index 8ed78eaf8fffbb731cab4f583c3b3e8acee2b7be..8816bc17ca526d01b7abcf55bb43287bbb36224a 100644
--- a/examples/DiscPatch/HydroStatic/disc-patch.yml
+++ b/examples/DiscPatch/HydroStatic/disc-patch.yml
@@ -39,7 +39,7 @@ InitialConditions:
 DiscPatchPotential:
   surface_density: 10.
   scale_height:    100.
-  z_disc:          400.
-  z_trunc:         300.
-  z_max:           380.
+  x_disc:          400.
+  x_trunc:         300.
+  x_max:           380.
   timestep_mult:   0.03
diff --git a/examples/DiscPatch/HydroStatic/makeIC.py b/examples/DiscPatch/HydroStatic/makeIC.py
index 423dc8a44714a6e710b0c037f8a33d2120fbdcc8..11b482059b494fc9a6b9447fdfe2e7ec543d52ff 100644
--- a/examples/DiscPatch/HydroStatic/makeIC.py
+++ b/examples/DiscPatch/HydroStatic/makeIC.py
@@ -1,22 +1,24 @@
 ###############################################################################
- # This file is part of SWIFT.
- # Copyright (c) 2016 John A. Regan (john.a.regan@durham.ac.uk)
- #                    Tom Theuns (tom.theuns@durham.ac.uk)
- # 
- # This program is free software: you can redistribute it and/or modify
- # it under the terms of the GNU Lesser General Public License as published
- # by the Free Software Foundation, either version 3 of the License, or
- # (at your option) any later version.
- # 
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- # GNU General Public License for more details.
- # 
- # You should have received a copy of the GNU Lesser General Public License
- # along with this program.  If not, see <http://www.gnu.org/licenses/>.
- # 
- ##############################################################################
+# This file is part of SWIFT.
+# Copyright (c) 2016 John A. Regan (john.a.regan@durham.ac.uk)
+#                    Tom Theuns (tom.theuns@durham.ac.uk)
+#               2017 Matthieu Schaller (matthieu.schaller@durham.ac.uk)
+#                    Bert Vandenbroucke (bert.vandenbroucke@gmail.com)
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published
+# by the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
 
 import h5py
 import sys
@@ -37,16 +39,16 @@ import random
 #                         Size of the patch -- side_length
 
 # Parameters of the gas disc
-surface_density = 10. 
+surface_density = 10.
 scale_height    = 100.
 gas_gamma       = 5./3.
 
 # Parameters of the problem
-z_factor        = 2
+x_factor        = 2
 side_length     = 400.
 
 # File
-fileName = "Disc-Patch.hdf5" 
+fileName = "Disc-Patch.hdf5"
 
 ####################################################################
 
@@ -64,30 +66,33 @@ unit_mass_in_cgs     =   (SOLAR_MASS_IN_CGS)
 unit_velocity_in_cgs =   (1e5)
 unit_time_in_cgs     =   unit_length_in_cgs / unit_velocity_in_cgs
 
-print "UnitMass_in_cgs:     %.5e"%unit_mass_in_cgs 
+print "UnitMass_in_cgs:     %.5e"%unit_mass_in_cgs
 print "UnitLength_in_cgs:   %.5e"%unit_length_in_cgs
 print "UnitVelocity_in_cgs: %.5e"%unit_velocity_in_cgs
 print "UnitTime_in_cgs:     %.5e"%unit_time_in_cgs
 print ""
 
 # Derived units
-const_G  = NEWTON_GRAVITY_CGS * unit_mass_in_cgs * unit_time_in_cgs**2 * unit_length_in_cgs**-3
+const_G  = NEWTON_GRAVITY_CGS * unit_mass_in_cgs * unit_time_in_cgs**2 * \
+           unit_length_in_cgs**-3
 const_mp = PROTON_MASS_IN_CGS * unit_mass_in_cgs**-1
-const_kb = BOLTZMANN_IN_CGS * unit_mass_in_cgs**-1 * unit_length_in_cgs**-2 * unit_time_in_cgs**2 
+const_kb = BOLTZMANN_IN_CGS * unit_mass_in_cgs**-1 * unit_length_in_cgs**-2 * \
+           unit_time_in_cgs**2
 
 print "--- Some constants [internal units] ---"
-print "G_Newton:            %.5e"%const_G
-print "m_proton:            %.5e"%const_mp
-print "k_boltzmann:         %.5e"%const_kb
+print "G_Newton:    %.5e"%const_G
+print "m_proton:    %.5e"%const_mp
+print "k_boltzmann: %.5e"%const_kb
 print ""
 
 # derived quantities
-temp                   = math.pi * const_G * surface_density * scale_height * const_mp / const_kb
-u_therm                = const_kb * temp / ((gas_gamma-1) * const_mp)
-v_disp                 = math.sqrt(2 * u_therm)
-soundspeed             = math.sqrt(u_therm / (gas_gamma * (gas_gamma-1.)))
-t_dyn                  = math.sqrt(scale_height / (const_G * surface_density))
-t_cross                = scale_height / soundspeed
+temp       = math.pi * const_G * surface_density * scale_height * const_mp / \
+             const_kb
+u_therm    = const_kb * temp / ((gas_gamma-1) * const_mp)
+v_disp     = math.sqrt(2 * u_therm)
+soundspeed = math.sqrt(u_therm / (gas_gamma * (gas_gamma-1.)))
+t_dyn      = math.sqrt(scale_height / (const_G * surface_density))
+t_cross    = scale_height / soundspeed
 
 print "--- Properties of the gas [internal units] ---"
 print "Gas temperature:     %.5e"%temp
@@ -101,18 +106,20 @@ print ""
 # Problem properties
 boxSize_x = side_length
 boxSize_y = boxSize_x
-boxSize_z = boxSize_x * z_factor
+boxSize_z = boxSize_x
+boxSize_x *= x_factor
 volume = boxSize_x * boxSize_y * boxSize_z
-M_tot = boxSize_x * boxSize_y * surface_density * math.tanh(boxSize_z / (2. * scale_height))
+M_tot = boxSize_y * boxSize_z * surface_density * \
+        math.tanh(boxSize_x / (2. * scale_height))
 density = M_tot / volume
 entropy = (gas_gamma - 1.) * u_therm / density**(gas_gamma - 1.)
 
 print "--- Problem properties [internal units] ---"
-print "Box:           [%.1f, %.1f, %.1f]"%(boxSize_x, boxSize_y, boxSize_z)
-print "Volume:        %.5e"%volume
-print "Total mass:    %.5e"%M_tot
-print "Density:       %.5e"%density
-print "Entropy:       %.5e"%entropy
+print "Box:        [%.1f, %.1f, %.1f]"%(boxSize_x, boxSize_y, boxSize_z)
+print "Volume:     %.5e"%volume
+print "Total mass: %.5e"%M_tot
+print "Density:    %.5e"%density
+print "Entropy:    %.5e"%entropy
 print ""
 
 ####################################################################
@@ -123,34 +130,24 @@ one_glass_pos = infile["/PartType0/Coordinates"][:,:]
 one_glass_h   = infile["/PartType0/SmoothingLength"][:]
 
 # Rescale to the problem size
-one_glass_pos    *= boxSize_x
-one_glass_h      *= boxSize_x
-
-#print min(one_glass_p[:,0]), max(one_glass_p[:,0])
-#print min(one_glass_p[:,1]), max(one_glass_p[:,1])
-#print min(one_glass_p[:,2]), max(one_glass_p[:,2])
+one_glass_pos *= side_length
+one_glass_h   *= side_length
 
-# Now create enough copies to fill the volume in z
+# Now create enough copies to fill the volume in x
 pos = np.copy(one_glass_pos)
 h = np.copy(one_glass_h)
-for i in range(1, z_factor):
-
-    one_glass_pos[:,2] += boxSize_x
-    
+for i in range(1, x_factor):
+    one_glass_pos[:,0] += side_length
     pos = np.append(pos, one_glass_pos, axis=0)
     h   = np.append(h, one_glass_h, axis=0)
 
-#print min(pos[:,0]), max(pos[:,0])
-#print min(pos[:,1]), max(pos[:,1])
-#print min(pos[:,2]), max(pos[:,2])
-
 # Compute further properties of ICs
 numPart = np.size(h)
 mass = M_tot / numPart
 
 print "--- Particle properties [internal units] ---"
 print "Number part.: ", numPart
-print "Part. mass:    %.5e"%mass
+print "Part. mass:   %.5e"%mass
 print ""
 
 # Create additional arrays
@@ -159,7 +156,6 @@ mass = np.ones(numPart) * mass
 vel  = np.zeros((numPart, 3))
 ids  = 1 + np.linspace(0, numPart, numPart, endpoint=False)
 
-
 ####################################################################
 # Create and write output file
 
@@ -169,7 +165,7 @@ file = h5py.File(fileName, 'w')
 #Units
 grp = file.create_group("/Units")
 grp.attrs["Unit length in cgs (U_L)"] = unit_length_in_cgs
-grp.attrs["Unit mass in cgs (U_M)"] = unit_mass_in_cgs 
+grp.attrs["Unit mass in cgs (U_M)"] = unit_mass_in_cgs
 grp.attrs["Unit time in cgs (U_t)"] = unit_time_in_cgs
 grp.attrs["Unit current in cgs (U_I)"] = 1.
 grp.attrs["Unit temperature in cgs (U_T)"] = 1.
@@ -200,13 +196,12 @@ ds = grp0.create_dataset('SmoothingLength', (numPart,), 'f', data=h)
 ds = grp0.create_dataset('InternalEnergy', (numPart,), 'f', data=u)
 ds = grp0.create_dataset('ParticleIDs', (numPart, ), 'L', data=ids)
 
-
 ####################################################################
 
 print "--- Runtime parameters (YAML file): ---"
 print "DiscPatchPotential:surface_density:    ", surface_density
 print "DiscPatchPotential:scale_height:       ", scale_height
-print "DiscPatchPotential:z_disc:             ", boxSize_z / 2.
+print "DiscPatchPotential:x_disc:             ", 0.5 * boxSize_x
 print ""
 
 print "--- Constant parameters: ---"
diff --git a/examples/DiscPatch/HydroStatic/plotSolution.py b/examples/DiscPatch/HydroStatic/plotSolution.py
index e70f595c645eaadc282e511bbc0d2c510025cc87..681f7d8ab3f2320b5de75e688edcb92efef9d883 100644
--- a/examples/DiscPatch/HydroStatic/plotSolution.py
+++ b/examples/DiscPatch/HydroStatic/plotSolution.py
@@ -1,6 +1,7 @@
 ################################################################################
 # This file is part of SWIFT.
 # Copyright (c) 2017 Bert Vandenbroucke (bert.vandenbroucke@gmail.com)
+#                    Matthieu Schaller (matthieu.schaller@durham.ac.uk)
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU Lesser General Public License as published
@@ -34,9 +35,9 @@ import sys
 # Parameters
 surface_density = 10.
 scale_height = 100.
-z_disc = 400.
-z_trunc = 300.
-z_max = 350.
+x_disc = 400.
+x_trunc = 300.
+x_max = 350.
 utherm = 20.2678457288
 gamma = 5. / 3.
 
@@ -50,14 +51,14 @@ if len(sys.argv) > 2:
 # Get the analytic solution for the density
 def get_analytic_density(x):
   return 0.5 * surface_density / scale_height / \
-           np.cosh( (x - z_disc) / scale_height )**2
+           np.cosh( (x - x_disc) / scale_height )**2
 
 # Get the analytic solution for the (isothermal) pressure
 def get_analytic_pressure(x):
   return (gamma - 1.) * utherm * get_analytic_density(x)
 
 # Get the data fields to plot from the snapshot file with the given name:
-#  snapshot time, z-coord, density, pressure, velocity norm
+#  snapshot time, x-coord, density, pressure, velocity norm
 def get_data(name):
   file = h5py.File(name, "r")
   coords = np.array(file["/PartType0/Coordinates"])
@@ -69,7 +70,7 @@ def get_data(name):
 
   vtot = np.sqrt( v[:,0]**2 + v[:,1]**2 + v[:,2]**2 )
 
-  return float(file["/Header"].attrs["Time"]), coords[:,2], rho, P, vtot
+  return float(file["/Header"].attrs["Time"]), coords[:,0], rho, P, vtot
 
 # scan the folder for snapshot files and plot all of them (within the requested
 # range)
@@ -80,38 +81,38 @@ for f in sorted(glob.glob("Disc-Patch_*.hdf5")):
 
   print "processing", f, "..."
 
-  zrange = np.linspace(0., 2. * z_disc, 1000)
-  time, z, rho, P, v = get_data(f)
+  xrange = np.linspace(0., 2. * x_disc, 1000)
+  time, x, rho, P, v = get_data(f)
 
   fig, ax = pl.subplots(3, 1, sharex = True)
 
-  ax[0].plot(z, rho, "r.")
-  ax[0].plot(zrange, get_analytic_density(zrange), "k-")
-  ax[0].plot([z_disc - z_max, z_disc - z_max], [0, 10], "k--", alpha=0.5)
-  ax[0].plot([z_disc + z_max, z_disc + z_max], [0, 10], "k--", alpha=0.5)
-  ax[0].plot([z_disc - z_trunc, z_disc - z_trunc], [0, 10], "k--", alpha=0.5)
-  ax[0].plot([z_disc + z_trunc, z_disc + z_trunc], [0, 10], "k--", alpha=0.5)
-  ax[0].set_ylim(0., 1.2 * get_analytic_density(z_disc))
+  ax[0].plot(x, rho, "r.")
+  ax[0].plot(xrange, get_analytic_density(xrange), "k-")
+  ax[0].plot([x_disc - x_max, x_disc - x_max], [0, 10], "k--", alpha=0.5)
+  ax[0].plot([x_disc + x_max, x_disc + x_max], [0, 10], "k--", alpha=0.5)
+  ax[0].plot([x_disc - x_trunc, x_disc - x_trunc], [0, 10], "k--", alpha=0.5)
+  ax[0].plot([x_disc + x_trunc, x_disc + x_trunc], [0, 10], "k--", alpha=0.5)
+  ax[0].set_ylim(0., 1.2 * get_analytic_density(x_disc))
   ax[0].set_ylabel("density")
 
-  ax[1].plot(z, v, "r.")
-  ax[1].plot(zrange, np.zeros(len(zrange)), "k-")
-  ax[1].plot([z_disc - z_max, z_disc - z_max], [0, 10], "k--", alpha=0.5)
-  ax[1].plot([z_disc + z_max, z_disc + z_max], [0, 10], "k--", alpha=0.5)
-  ax[1].plot([z_disc - z_trunc, z_disc - z_trunc], [0, 10], "k--", alpha=0.5)
-  ax[1].plot([z_disc + z_trunc, z_disc + z_trunc], [0, 10], "k--", alpha=0.5)
+  ax[1].plot(x, v, "r.")
+  ax[1].plot(xrange, np.zeros(len(xrange)), "k-")
+  ax[1].plot([x_disc - x_max, x_disc - x_max], [0, 10], "k--", alpha=0.5)
+  ax[1].plot([x_disc + x_max, x_disc + x_max], [0, 10], "k--", alpha=0.5)
+  ax[1].plot([x_disc - x_trunc, x_disc - x_trunc], [0, 10], "k--", alpha=0.5)
+  ax[1].plot([x_disc + x_trunc, x_disc + x_trunc], [0, 10], "k--", alpha=0.5)
   ax[1].set_ylim(-0.5, 10.)
   ax[1].set_ylabel("velocity norm")
 
-  ax[2].plot(z, P, "r.")
-  ax[2].plot(zrange, get_analytic_pressure(zrange), "k-")
-  ax[2].plot([z_disc - z_max, z_disc - z_max], [0, 10], "k--", alpha=0.5)
-  ax[2].plot([z_disc + z_max, z_disc + z_max], [0, 10], "k--", alpha=0.5)
-  ax[2].plot([z_disc - z_trunc, z_disc - z_trunc], [0, 10], "k--", alpha=0.5)
-  ax[2].plot([z_disc + z_trunc, z_disc + z_trunc], [0, 10], "k--", alpha=0.5)
-  ax[2].set_xlim(0., 2. * z_disc)
-  ax[2].set_ylim(0., 1.2 * get_analytic_pressure(z_disc))
-  ax[2].set_xlabel("z")
+  ax[2].plot(x, P, "r.")
+  ax[2].plot(xrange, get_analytic_pressure(xrange), "k-")
+  ax[2].plot([x_disc - x_max, x_disc - x_max], [0, 10], "k--", alpha=0.5)
+  ax[2].plot([x_disc + x_max, x_disc + x_max], [0, 10], "k--", alpha=0.5)
+  ax[2].plot([x_disc - x_trunc, x_disc - x_trunc], [0, 10], "k--", alpha=0.5)
+  ax[2].plot([x_disc + x_trunc, x_disc + x_trunc], [0, 10], "k--", alpha=0.5)
+  ax[2].set_xlim(0., 2. * x_disc)
+  ax[2].set_ylim(0., 1.2 * get_analytic_pressure(x_disc))
+  ax[2].set_xlabel("x")
   ax[2].set_ylabel("pressure")
 
   pl.suptitle("t = {0:.2f}".format(time))
diff --git a/src/potential/disc_patch/potential.h b/src/potential/disc_patch/potential.h
index 07f3d7457e7e53debbdda09686ed1166966c1913..ab229d009c692db727e8f2341c3c49813f74f2b8 100644
--- a/src/potential/disc_patch/potential.h
+++ b/src/potential/disc_patch/potential.h
@@ -56,20 +56,20 @@ struct external_potential {
   /*! Inverse of disc scale-height (1/b) */
   float scale_height_inv;
 
-  /*! Position of the disc along the z-axis */
-  float z_disc;
+  /*! Position of the disc along the x-axis */
+  float x_disc;
 
   /*! Position above which the accelerations get truncated */
-  float z_trunc;
+  float x_trunc;
 
   /*! Position above which the accelerations are zero */
-  float z_max;
+  float x_max;
 
   /*! The truncated transition regime */
-  float z_trans;
+  float x_trans;
 
   /*! Inverse of the truncated transition regime */
-  float z_trans_inv;
+  float x_trans_inv;
 
   /*! Dynamical time of the system */
   float dynamical_time;
@@ -115,36 +115,36 @@ __attribute__((always_inline)) INLINE static float external_gravity_timestep(
   const float norm = potential->norm;
 
   /* absolute value of height above disc */
-  const float dz = fabsf(g->x[2] - potential->z_disc);
+  const float dx = fabsf(g->x[0] - potential->x_disc);
 
   /* vertical acceleration */
-  const float z_accel = norm * tanhf(dz * b_inv);
+  const float x_accel = norm * tanhf(dx * b_inv);
 
   float dt = dt_dyn;
 
   /* demand that dt * velocity <  fraction of scale height of disc */
-  if (g->v_full[2] != 0.f) {
+  if (g->v_full[0] != 0.f) {
 
-    const float dt1 = b / fabsf(g->v_full[2]);
+    const float dt1 = b / fabsf(g->v_full[0]);
     dt = min(dt1, dt);
   }
 
   /* demand that dt^2 * acceleration < fraction of scale height of disc */
-  if (z_accel != 0.f) {
+  if (x_accel != 0.f) {
 
-    const float dt2 = b / fabsf(z_accel);
+    const float dt2 = b / fabsf(x_accel);
     if (dt2 < dt * dt) dt = sqrtf(dt2);
   }
 
   /* demand that dt^3 * jerk < fraction of scale height of disc */
-  if (g->v_full[2] != 0.f) {
+  if (g->v_full[0] != 0.f) {
 
-    const float cosh_dz_inv = 1.f / coshf(dz * b_inv);
-    const float cosh_dz_inv2 = cosh_dz_inv * cosh_dz_inv;
-    const float dz_accel_over_dt =
-        norm * cosh_dz_inv2 * b_inv * fabsf(g->v_full[2]);
+    const float cosh_dx_inv = 1.f / coshf(dx * b_inv);
+    const float cosh_dx_inv2 = cosh_dx_inv * cosh_dx_inv;
+    const float dx_accel_over_dt =
+        norm * cosh_dx_inv2 * b_inv * fabsf(g->v_full[0]);
 
-    const float dt3 = b / fabsf(dz_accel_over_dt);
+    const float dt3 = b / fabsf(dx_accel_over_dt);
     if (dt3 < dt * dt * dt) dt = cbrtf(dt3);
   }
 
@@ -152,13 +152,13 @@ __attribute__((always_inline)) INLINE static float external_gravity_timestep(
 }
 
 /**
- * @brief Computes the gravitational acceleration along z due to a hydrostatic
+ * @brief Computes the gravitational acceleration along x due to a hydrostatic
  * disc
  *
  * See Creasey, Theuns & Bower, 2013, MNRAS, Volume 429, Issue 3, p.1922-1948,
  * equation 17.
- * We truncate the accelerations beyond z_trunc using a 1-cos(z) function
- * that smoothly brings the accelerations to 0 at z_max.
+ * We truncate the accelerations beyond x_trunc using a 1-cos(x) function
+ * that smoothly brings the accelerations to 0 at x_max.
  *
  * @param time The current time in internal units.
  * @param potential The properties of the potential.
@@ -169,40 +169,40 @@ __attribute__((always_inline)) INLINE static void external_gravity_acceleration(
     double time, const struct external_potential* restrict potential,
     const struct phys_const* restrict phys_const, struct gpart* restrict g) {
 
-  const float dz = g->x[2] - potential->z_disc;
-  const float abs_dz = fabsf(dz);
+  const float dx = g->x[0] - potential->x_disc;
+  const float abs_dx = fabsf(dx);
   const float t_growth = potential->growth_time;
   const float t_growth_inv = potential->growth_time_inv;
   const float b_inv = potential->scale_height_inv;
-  const float z_trunc = potential->z_trunc;
-  const float z_max = potential->z_max;
-  const float z_trans_inv = potential->z_trans_inv;
+  const float x_trunc = potential->x_trunc;
+  const float x_max = potential->x_max;
+  const float x_trans_inv = potential->x_trans_inv;
   const float norm_over_G = potential->norm_over_G;
 
   /* Are we still growing the disc ? */
   const float reduction_factor = time < t_growth ? time * t_growth_inv : 1.f;
 
   /* Truncated or not ? */
-  float a_z;
-  if (abs_dz < z_trunc) {
+  float a_x;
+  if (abs_dx < x_trunc) {
 
-    /* Acc. 2 pi sigma tanh(z/b) */
-    a_z = reduction_factor * norm_over_G * tanhf(abs_dz * b_inv);
-  } else if (abs_dz < z_max) {
+    /* Acc. 2 pi sigma tanh(x/b) */
+    a_x = reduction_factor * norm_over_G * tanhf(abs_dx * b_inv);
+  } else if (abs_dx < x_max) {
 
-    /* Acc. 2 pi sigma tanh(z/b) [1/2 + 1/2cos((z-zmax)/(pi z_trans))] */
-    a_z =
-        reduction_factor * norm_over_G * tanhf(abs_dz * b_inv) *
-        (0.5f + 0.5f * cosf((float)(M_PI) * (abs_dz - z_trunc) * z_trans_inv));
+    /* Acc. 2 pi sigma tanh(x/b) [1/2 + 1/2cos((x-xmax)/(pi x_trans))] */
+    a_x =
+        reduction_factor * norm_over_G * tanhf(abs_dx * b_inv) *
+        (0.5f + 0.5f * cosf((float)(M_PI) * (abs_dx - x_trunc) * x_trans_inv));
   } else {
 
     /* Acc. 0 */
-    a_z = 0.f;
+    a_x = 0.f;
   }
 
   /* Get the correct sign. Recall G is multipiled in later on */
-  if (dz > 0) g->a_grav[2] -= a_z;
-  if (dz < 0) g->a_grav[2] += a_z;
+  if (dx > 0) g->a_grav[0] -= a_x;
+  if (dx < 0) g->a_grav[0] += a_x;
 }
 
 /**
@@ -211,8 +211,8 @@ __attribute__((always_inline)) INLINE static void external_gravity_acceleration(
  *
  * See Creasey, Theuns & Bower, 2013, MNRAS, Volume 429, Issue 3, p.1922-1948,
  * equation 22.
- * We truncate the accelerations beyond z_trunc using a 1-cos(z) function
- * that smoothly brings the accelerations to 0 at z_max.
+ * We truncate the accelerations beyond x_trunc using a 1-cos(x) function
+ * that smoothly brings the accelerations to 0 at x_max.
  *
  * @param time The current time.
  * @param potential The #external_potential used in the run.
@@ -224,28 +224,28 @@ external_gravity_get_potential_energy(
     double time, const struct external_potential* potential,
     const struct phys_const* const phys_const, const struct gpart* gp) {
 
-  const float dz = gp->x[2] - potential->z_disc;
-  const float abs_dz = fabsf(dz);
+  const float dx = gp->x[0] - potential->x_disc;
+  const float abs_dx = fabsf(dx);
   const float t_growth = potential->growth_time;
   const float t_growth_inv = potential->growth_time_inv;
   const float b = potential->scale_height;
   const float b_inv = potential->scale_height_inv;
   const float norm = potential->norm;
-  const float z_trunc = potential->z_trunc;
-  const float z_max = potential->z_max;
+  const float x_trunc = potential->x_trunc;
+  const float x_max = potential->x_max;
 
   /* Are we still growing the disc ? */
   const float reduction_factor = time < t_growth ? time * t_growth_inv : 1.f;
 
   /* Truncated or not ? */
   float pot;
-  if (abs_dz < z_trunc) {
+  if (abs_dx < x_trunc) {
 
-    /* Potential (2 pi G sigma b ln(cosh(z/b)) */
-    pot = b * logf(coshf(dz * b_inv));
-  } else if (abs_dz < z_max) {
+    /* Potential (2 pi G sigma b ln(cosh(x/b)) */
+    pot = b * logf(coshf(dx * b_inv));
+  } else if (abs_dx < x_max) {
 
-    /* Potential. At z>>b, phi(z) = norm * z / b */
+    /* Potential. At x>>b, phi(x) = norm * x / b */
     pot = 0.f;
 
   } else {
@@ -277,14 +277,14 @@ static INLINE void potential_init_backend(
       parameter_file, "DiscPatchPotential:surface_density");
   potential->scale_height = parser_get_param_double(
       parameter_file, "DiscPatchPotential:scale_height");
-  potential->z_disc =
-      parser_get_param_double(parameter_file, "DiscPatchPotential:z_disc");
-  potential->z_trunc = parser_get_opt_param_double(
-      parameter_file, "DiscPatchPotential:z_trunc", FLT_MAX);
-  potential->z_max = parser_get_opt_param_double(
-      parameter_file, "DiscPatchPotential:z_max", FLT_MAX);
-  potential->z_disc =
-      parser_get_param_double(parameter_file, "DiscPatchPotential:z_disc");
+  potential->x_disc =
+      parser_get_param_double(parameter_file, "DiscPatchPotential:x_disc");
+  potential->x_trunc = parser_get_opt_param_double(
+      parameter_file, "DiscPatchPotential:x_trunc", FLT_MAX);
+  potential->x_max = parser_get_opt_param_double(
+      parameter_file, "DiscPatchPotential:x_max", FLT_MAX);
+  potential->x_disc =
+      parser_get_param_double(parameter_file, "DiscPatchPotential:x_disc");
   potential->timestep_mult = parser_get_param_double(
       parameter_file, "DiscPatchPotential:timestep_mult");
   potential->growth_time = parser_get_opt_param_double(
@@ -299,22 +299,22 @@ static INLINE void potential_init_backend(
   potential->growth_time *= potential->dynamical_time;
 
   /* Some cross-checks */
-  if (potential->z_trunc > potential->z_max)
-    error("Potential truncation z larger than maximal z");
-  if (potential->z_trunc < potential->scale_height)
-    error("Potential truncation z smaller than scale height");
+  if (potential->x_trunc > potential->x_max)
+    error("Potential truncation x larger than maximal z");
+  if (potential->x_trunc < potential->scale_height)
+    error("Potential truncation x smaller than scale height");
 
   /* Compute derived quantities */
   potential->scale_height_inv = 1. / potential->scale_height;
   potential->norm =
       2. * M_PI * phys_const->const_newton_G * potential->surface_density;
   potential->norm_over_G = 2 * M_PI * potential->surface_density;
-  potential->z_trans = potential->z_max - potential->z_trunc;
+  potential->x_trans = potential->x_max - potential->x_trunc;
 
-  if (potential->z_trans != 0.f)
-    potential->z_trans_inv = 1. / potential->z_trans;
+  if (potential->x_trans != 0.f)
+    potential->x_trans_inv = 1. / potential->x_trans;
   else
-    potential->z_trans_inv = FLT_MAX;
+    potential->x_trans_inv = FLT_MAX;
 
   if (potential->growth_time != 0.)
     potential->growth_time_inv = 1. / potential->growth_time;
@@ -331,14 +331,14 @@ static INLINE void potential_print_backend(
     const struct external_potential* potential) {
 
   message(
-      "External potential is 'Disk-patch' with Sigma=%f, z_disc=%f, b=%f and "
+      "External potential is 'Disk-patch' with Sigma=%f, x_disc=%f, b=%f and "
       "dt_mult=%f.",
-      potential->surface_density, potential->z_disc, potential->scale_height,
+      potential->surface_density, potential->x_disc, potential->scale_height,
       potential->timestep_mult);
 
-  if (potential->z_max < FLT_MAX)
-    message("Potential will be truncated at z_trunc=%f and zeroed at z_max=%f",
-            potential->z_trunc, potential->z_max);
+  if (potential->x_max < FLT_MAX)
+    message("Potential will be truncated at x_trunc=%f and zeroed at x_max=%f",
+            potential->x_trunc, potential->x_max);
 
   if (potential->growth_time > 0.)
     message("Disc will grow for %f [time_units]. (%f dynamical time)",