Index: /issm/trunk-jpl/src/c/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/c/Makefile.am	(revision 17122)
+++ /issm/trunk-jpl/src/c/Makefile.am	(revision 17123)
@@ -179,4 +179,5 @@
 					./shared/FSanalyticals/fsanalyticals.h\
 					./shared/FSanalyticals/FSanalytical1.cpp\
+					./shared/FSanalyticals/FSanalytical2.cpp\
 					./shared/Enum/Enum.h\
 					./shared/Enum/EnumDefinitions.h\
Index: /issm/trunk-jpl/src/c/shared/FSanalyticals/FSanalytical2.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/FSanalyticals/FSanalytical2.cpp	(revision 17123)
+++ /issm/trunk-jpl/src/c/shared/FSanalyticals/FSanalytical2.cpp	(revision 17123)
@@ -0,0 +1,36 @@
+/*!\file fx.cpp
+ * \brief: analytical fonction for FS 
+ * test case for a cube with Dirichlet conditions on all faces
+ */
+
+#include <math.h>
+#include "../Numerics/types.h"
+#include "../Numerics/constants.h"
+
+IssmDouble fx2(IssmDouble x,IssmDouble y,IssmDouble z){   
+	IssmDouble p = 2.0;  
+	IssmDouble q = 2.0;   
+	IssmDouble functionx;
+
+	functionx = 2.*(cos(PI*p*x) - 1)*PI*PI*p*p*sin(PI*p*y) + 3*PI*PI*p*p*sin(PI*p*y)*cos(PI*p*x) + PI*q*sin(PI*q*y)*cos(PI*q*x);
+
+	return functionx;
+}
+IssmDouble fy2(IssmDouble x,IssmDouble y,IssmDouble z){   
+	IssmDouble p = 2.0;  
+	IssmDouble q = 2.0;   
+	IssmDouble functiony;
+
+	functiony = -(cos(PI*p*y) - 1)*PI*PI*p*p*sin(PI*p*x) + PI*q*sin(PI*q*x)*cos(PI*q*y);
+
+	return functiony;
+}
+IssmDouble fz2(IssmDouble x,IssmDouble y,IssmDouble z){   
+	IssmDouble p = 2.0;  
+	IssmDouble q = 2.0;   
+	IssmDouble functionz;
+
+	functionz = 2*PI*PI*p*p*sin(PI*p*x)*sin(PI*p*y);
+
+	return functionz;
+}
Index: /issm/trunk-jpl/src/c/shared/FSanalyticals/fsanalyticals.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/FSanalyticals/fsanalyticals.h	(revision 17122)
+++ /issm/trunk-jpl/src/c/shared/FSanalyticals/fsanalyticals.h	(revision 17123)
@@ -11,4 +11,7 @@
 IssmDouble fy1(IssmDouble x_coord, IssmDouble y_coord, IssmDouble z_coord);
 IssmDouble fz1(IssmDouble x_coord, IssmDouble y_coord, IssmDouble z_coord);
+IssmDouble fx2(IssmDouble x_coord, IssmDouble y_coord, IssmDouble z_coord);
+IssmDouble fy2(IssmDouble x_coord, IssmDouble y_coord, IssmDouble z_coord);
+IssmDouble fz2(IssmDouble x_coord, IssmDouble y_coord, IssmDouble z_coord);
 
 #endif //ifndef _SHARED_ANALYTICALS_H_
