Index: ../trunk-jpl/src/c/shared/FSanalyticals/fsanalyticals.h =================================================================== --- ../trunk-jpl/src/c/shared/FSanalyticals/fsanalyticals.h (revision 17284) +++ ../trunk-jpl/src/c/shared/FSanalyticals/fsanalyticals.h (revision 17285) @@ -13,5 +13,7 @@ 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); +IssmDouble fx3(IssmDouble x_coord, IssmDouble y_coord); +IssmDouble fy3(IssmDouble x_coord, IssmDouble y_coord); #endif //ifndef _SHARED_ANALYTICALS_H_ Index: ../trunk-jpl/src/c/shared/FSanalyticals/FSanalytical3.cpp =================================================================== --- ../trunk-jpl/src/c/shared/FSanalyticals/FSanalytical3.cpp (revision 0) +++ ../trunk-jpl/src/c/shared/FSanalyticals/FSanalytical3.cpp (revision 17285) @@ -0,0 +1,27 @@ +/*!\file fx.cpp + * \brief: analytical fonction for FS + * test case for a cube with Dirichlet conditions on all faces and no variation in z + */ + +#include +#include "../Numerics/types.h" +#include "../Numerics/constants.h" + +IssmDouble fx2(IssmDouble x,IssmDouble y{ + IssmDouble p = 2.0; + IssmDouble q = 2.0; + IssmDouble functionx; + + functionx = -2*(z-1)*(z-1)*(x-1)*(2*x-1)*z-4*(z-1)*(z-1)*(x-1)*x*z-2*(z-1)*(z-1)*(2*x-1)*x*z +4*(z-1)*(2*z-1)*(x-1)*(x-1)*z+16*(z-1)*(2*z-1)*(x-1)*x*z+4*(z-1)*(2*z-1)*x*x*z +4*(z-1)*(x-1)*(x-1)*x*x-2*(z-1)*(x-1)*(2*x-1)*z*z-4*(z-1)*(x-1)*x*z*z -2*(z-1)*(2*x-1)*x*z*z+2*(2*z-1)*(x-1)*(x-1)*x*x+4*(x-1)*(x-1)*x*x*z+z-1/2; + + return functionx; +} +IssmDouble fy2(IssmDouble x,IssmDouble y){ + IssmDouble p = 2.0; + IssmDouble q = 2.0; + IssmDouble functiony; + + functiony = -4*(z-1)*(z-1)*(x-1)*(2*x-1)*x-4*(z-1)*(z-1)*(x-1)*z*z-2*(z-1)*(z-1)*(2*x-1)*z*z -4*(z-1)*(z-1)*x*z*z+2*(z-1)*(2*z-1)*(x-1)*(x-1)*x+2*(z-1)*(2*z-1)*(x-1)*x*x +4*(z-1)*(x-1)*(x-1)*x*z-16*(z-1)*(x-1)*(2*x-1)*x*z+4*(z-1)*(x-1)*x*x*z +2*(2*z-1)*(x-1)*(x-1)*x*z+2*(2*z-1)*(x-1)*x*x*z -4*(x-1)*(2*x-1)*x*z*z+x-1/2; + + return functiony; +} Index: ../trunk-jpl/src/c/Makefile.am =================================================================== --- ../trunk-jpl/src/c/Makefile.am (revision 17284) +++ ../trunk-jpl/src/c/Makefile.am (revision 17285) @@ -179,6 +179,7 @@ ./shared/FSanalyticals/fsanalyticals.h\ ./shared/FSanalyticals/FSanalytical1.cpp\ ./shared/FSanalyticals/FSanalytical2.cpp\ + ./shared/FSanalyticals/FSanalytical3.cpp\ ./shared/Enum/Enum.h\ ./shared/Enum/EnumDefinitions.h\ ./shared/Enum/EnumToStringx.cpp\