diff --git a/bfps/DNS.py b/bfps/DNS.py
index 9d57338d549e5710487c632f055cec44ea57ec7e..6f46fb21169c4fdeff2c09354cb3803b724f71fd 100644
--- a/bfps/DNS.py
+++ b/bfps/DNS.py
@@ -685,6 +685,12 @@ class DNS(_code):
             opt.ny = opt.n
         if type(opt.nz) == type(None):
             opt.nz = opt.n
+        if type(opt.fk0) == type(None):
+            opt.fk0 = self.parameters['fk0']
+        if type(opt.fk1) == type(None):
+            opt.fk1 = self.parameters['fk1']
+        if type(opt.injection_rate) == type(None):
+            opt.injection_rate = self.parameters['injection_rate']
         self.parameters['nu'] = (opt.kMeta * 2 / opt.n)**(4./3)
         if opt.forcing_type == 'linear':
             # custom famplitude for 288 and 576
@@ -700,6 +706,16 @@ class DNS(_code):
             self.parameters['nu'] = (
                     self.parameters['injection_rate'] *
                     (opt.kMeta / kM)**4)**(1./3)
+        elif opt.forcing_type == 'fixed_energy':
+            kM = opt.n * 0.5
+            if self.parameters['dealias_type'] == 1:
+                kM *= 0.8
+            kf = 1. / (1./self.parameters['fk0'] +
+                       1./self.parameters['fk1'])
+            self.parameters['nu'] = (
+                    (opt.kMeta / kM)**(4./3) *
+                    (np.pi / kf)**(1./3) *
+                    (2*self.parameters['energy'] / 3)**0.5)
         if type(opt.checkpoints_per_file) == type(None):
             # hardcoded FFTW complex representation size
             field_size = 3*(opt.nx+2)*opt.ny*opt.nz*self.fluid_dtype.itemsize