diff --git a/src/Configuration.cpp b/src/Configuration.cpp
index 6782d822e8cdfd9ba463af961bd6b112db090c41..0c4c0c9403b191c610d137e8db47fdaacd261379 100644
--- a/src/Configuration.cpp
+++ b/src/Configuration.cpp
@@ -1257,7 +1257,13 @@ int Configuration::readParameters(const char * config_file) {
 		} else if (param == String("rotDamping")) {
 		    if (currRB < 0) exit(1);
 			rigidBody[currRB].rotDamping = stringToVector3( value );
-		} else if (param == String("attachedParticles")) {
+		} else if (param == String("constantTorque"))
+                        rigidBody[currRB].constantTorque = stringToVector3( value );
+                else if (param == String("constantForce"))
+                        rigidBody[currRB].constantForce = stringToVector3( value );
+                else if (param == String("vectorTorque"))
+                        rigidBody[currRB].vectorTorque = stringToVector3( value ); 
+		else if (param == String("attachedParticles")) {
 			rigidBody[currRB].append_attached_particle_file(value);
 		} else if (param == String("densityGrid")) {
 		    if (currRB < 0) exit(1);
diff --git a/src/RigidBodyController.cu b/src/RigidBodyController.cu
index 6643e5584ae5c69bffb09f787c12ec9bba60c3dd..a466904bb6ede6882ffe1b94455782bac06eef16 100644
--- a/src/RigidBodyController.cu
+++ b/src/RigidBodyController.cu
@@ -576,6 +576,8 @@ void RigidBodyController::updateForces(Vector3* pos_d, Vector3* force_d, int s,
 		for (int j = 0; j < rigidBodyByType[i].size(); j++) {
 			RigidBody& rb = rigidBodyByType[i][j];
 			rb.callGridParticleForceKernel( pos_d, force_d, s, energy, get_energy, scheme, sys, sys_d, particleForces_d, particleForce_offset, pfo_idx );
+                        rb.addTorque(rb.t -> constantTorque);
+                        rb.addForce(rb.t -> constantForce);
 		}
 	}
 
diff --git a/src/RigidBodyType.h b/src/RigidBodyType.h
index 5cc1442052a102da7198e1e6eeda806c4cdaa8b7..0a86b81f75f6a72f8b710385dd47ef756b2ad5e0 100644
--- a/src/RigidBodyType.h
+++ b/src/RigidBodyType.h
@@ -24,6 +24,7 @@ class RigidBodyType {
 public:
 RigidBodyType(const String& name = "", const Configuration* conf = NULL ) :
 	name(name), conf(conf), num(0),
+	constantTorque(Vector3(0.f)),constantForce(Vector3(0.f)),
 		reservoir(NULL), mass(1.0f), inertia(), transDamping(),
 		rotDamping(), initPos(), initRot(Matrix3(1.0f)), initMomentum(Vector3(0.f)), initAngularMomentum(Vector3(0.f)),
 		numPotGrids(0), numDenGrids(0), numPmfs(0), numParticles(NULL) { }
@@ -77,7 +78,9 @@ public:
 	Vector3 rotDamping;
 	Vector3 transForceCoeff;
 	Vector3 rotTorqueCoeff;
-
+        Vector3 constantTorque;
+        Vector3 constantForce;
+        Vector3 vectorTorque;
 	Vector3 initPos;	
 	Matrix3 initRot;
         Vector3 initMomentum;