| 54 | 
  | 
#include "primitives/Molecule.hpp" | 
| 55 | 
  | 
#include "UseTheForce/fCutoffPolicy.h" | 
| 56 | 
  | 
#include "UseTheForce/DarkSide/fElectrostaticSummationMethod.h" | 
| 57 | 
+ | 
#include "UseTheForce/DarkSide/fElectrostaticScreeningMethod.h" | 
| 58 | 
  | 
#include "UseTheForce/doForces_interface.h" | 
| 59 | 
  | 
#include "UseTheForce/DarkSide/electrostatic_interface.h" | 
| 60 | 
  | 
#include "UseTheForce/notifyCutoffs_interface.h" | 
| 543 | 
  | 
      if (myMethod == "REACTION_FIELD") { | 
| 544 | 
  | 
        useRF=1; | 
| 545 | 
  | 
      } else { | 
| 546 | 
< | 
        if (myMethod == "DAMPED_WOLF") { | 
| 546 | 
> | 
        if (myMethod == "SHIFTED_POTENTIAL") { | 
| 547 | 
  | 
          useDW = 1; | 
| 548 | 
  | 
        } | 
| 549 | 
  | 
      } | 
| 907 | 
  | 
      | 
| 908 | 
  | 
    int errorOut; | 
| 909 | 
  | 
    int esm =  NONE; | 
| 910 | 
+ | 
    int sm = UNDAMPED; | 
| 911 | 
  | 
    double alphaVal; | 
| 912 | 
  | 
    double dielectric; | 
| 913 | 
  | 
 | 
| 921 | 
  | 
      if (myMethod == "NONE") { | 
| 922 | 
  | 
        esm = NONE; | 
| 923 | 
  | 
      } else { | 
| 924 | 
< | 
        if (myMethod == "UNDAMPED_WOLF") { | 
| 925 | 
< | 
          esm = UNDAMPED_WOLF; | 
| 926 | 
< | 
        } else { | 
| 927 | 
< | 
          if (myMethod == "DAMPED_WOLF") {             | 
| 928 | 
< | 
            esm = DAMPED_WOLF; | 
| 929 | 
< | 
            if (!simParams_->haveDampingAlpha()) { | 
| 930 | 
< | 
              //throw error | 
| 931 | 
< | 
              sprintf( painCave.errMsg, | 
| 930 | 
< | 
                       "SimInfo warning: dampingAlpha was not specified in the input file. A default value of %f (1/ang) will be used for the Damped Wolf Method.", alphaVal); | 
| 931 | 
< | 
              painCave.isFatal = 0; | 
| 932 | 
< | 
              simError(); | 
| 933 | 
< | 
            } | 
| 934 | 
< | 
          } else { | 
| 935 | 
< | 
            if (myMethod == "REACTION_FIELD") {        | 
| 936 | 
< | 
              esm = REACTION_FIELD; | 
| 924 | 
> | 
        if (myMethod == "SWITCHING_FUNCTION") { | 
| 925 | 
> | 
          esm = SWITCHING_FUNCTION; | 
| 926 | 
> | 
        } else { | 
| 927 | 
> | 
          if (myMethod == "SHIFTED_POTENTIAL") { | 
| 928 | 
> | 
            esm = SHIFTED_POTENTIAL; | 
| 929 | 
> | 
          } else { | 
| 930 | 
> | 
            if (myMethod == "SHIFTED_FORCE") {             | 
| 931 | 
> | 
              esm = SHIFTED_FORCE; | 
| 932 | 
  | 
            } else { | 
| 933 | 
< | 
              // throw error         | 
| 934 | 
< | 
              sprintf( painCave.errMsg, | 
| 935 | 
< | 
                       "SimInfo error: Unknown electrostaticSummationMethod. (Input file specified %s .)\n\telectrostaticSummationMethod must be one of: \"none\", \"undamped_wolf\", \"damped_wolf\", or \"reaction_field\".", myMethod.c_str() ); | 
| 936 | 
< | 
              painCave.isFatal = 1; | 
| 937 | 
< | 
              simError(); | 
| 938 | 
< | 
            }      | 
| 939 | 
< | 
          }            | 
| 933 | 
> | 
              if (myMethod == "REACTION_FIELD") {              | 
| 934 | 
> | 
                esm = REACTION_FIELD; | 
| 935 | 
> | 
              } else { | 
| 936 | 
> | 
                // throw error         | 
| 937 | 
> | 
                sprintf( painCave.errMsg, | 
| 938 | 
> | 
                         "SimInfo error: Unknown electrostaticSummationMethod. (Input file specified %s .)\n\telectrostaticSummationMethod must be one of: \"none\", \"shifted_potential\", \"shifted_force\", or \"reaction_field\".", myMethod.c_str() ); | 
| 939 | 
> | 
                painCave.isFatal = 1; | 
| 940 | 
> | 
                simError(); | 
| 941 | 
> | 
              }      | 
| 942 | 
> | 
            }            | 
| 943 | 
> | 
          } | 
| 944 | 
  | 
        } | 
| 945 | 
  | 
      } | 
| 946 | 
  | 
    } | 
| 947 | 
+ | 
     | 
| 948 | 
+ | 
    if (simParams_->haveElectrostaticScreeningMethod()) { | 
| 949 | 
+ | 
      std::string myScreen = simParams_->getElectrostaticScreeningMethod(); | 
| 950 | 
+ | 
      toUpper(myScreen); | 
| 951 | 
+ | 
      if (myScreen == "UNDAMPED") { | 
| 952 | 
+ | 
        sm = UNDAMPED; | 
| 953 | 
+ | 
      } else { | 
| 954 | 
+ | 
        if (myScreen == "DAMPED") { | 
| 955 | 
+ | 
          sm = DAMPED; | 
| 956 | 
+ | 
          if (!simParams_->haveDampingAlpha()) { | 
| 957 | 
+ | 
            //throw error | 
| 958 | 
+ | 
            sprintf( painCave.errMsg, | 
| 959 | 
+ | 
                     "SimInfo warning: dampingAlpha was not specified in the input file. A default value of %f (1/ang) will be used.", alphaVal); | 
| 960 | 
+ | 
            painCave.isFatal = 0; | 
| 961 | 
+ | 
            simError(); | 
| 962 | 
+ | 
          } | 
| 963 | 
+ | 
        } else { | 
| 964 | 
+ | 
          // throw error         | 
| 965 | 
+ | 
          sprintf( painCave.errMsg, | 
| 966 | 
+ | 
                   "SimInfo error: Unknown electrostaticScreeningMethod. (Input file specified %s .)\n\telectrostaticScreeningMethod must be one of: \"undamped\" or \"damped\".", myScreen.c_str() ); | 
| 967 | 
+ | 
          painCave.isFatal = 1; | 
| 968 | 
+ | 
          simError(); | 
| 969 | 
+ | 
        } | 
| 970 | 
+ | 
      } | 
| 971 | 
+ | 
    } | 
| 972 | 
+ | 
     | 
| 973 | 
  | 
    // let's pass some summation method variables to fortran | 
| 974 | 
  | 
    setElectrostaticSummationMethod( &esm ); | 
| 975 | 
< | 
    setDampedWolfAlpha( &alphaVal ); | 
| 975 | 
> | 
    setScreeningMethod( &sm ); | 
| 976 | 
> | 
    setDampingAlpha( &alphaVal ); | 
| 977 | 
  | 
    setReactionFieldDielectric( &dielectric ); | 
| 978 | 
  | 
    initFortranFF( &esm, &errorOut ); | 
| 979 | 
  | 
  } |