ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/brains/SimInfo.cpp
(Generate patch)

Comparing trunk/src/brains/SimInfo.cpp (file contents):
Revision 1045 by chrisfen, Thu Sep 21 18:25:17 2006 UTC vs.
Revision 1078 by gezelter, Wed Oct 18 21:58:48 2006 UTC

# Line 669 | Line 669 | namespace oopse {
669      // set the useRF logical
670      useRF = 0;
671      useSF = 0;
672 +    useSP = 0;
673  
674  
675      if (simParams_->haveElectrostaticSummationMethod()) {
676        std::string myMethod = simParams_->getElectrostaticSummationMethod();
677        toUpper(myMethod);
678        if (myMethod == "REACTION_FIELD"){
679 <        useRF=1;
679 >        useRF = 1;
680        } else if (myMethod == "SHIFTED_FORCE"){
681          useSF = 1;
682        } else if (myMethod == "SHIFTED_POTENTIAL"){
# Line 783 | Line 784 | namespace oopse {
784      fInfo_.SIM_uses_SF = useSF;
785      fInfo_.SIM_uses_SP = useSP;
786      fInfo_.SIM_uses_BoxDipole = useBoxDipole;
786
787    if( myMethod == "REACTION_FIELD") {
788      
789      if (simParams_->haveDielectric()) {
790        fInfo_.dielect = simParams_->getDielectric();
791      } else {
792        sprintf(painCave.errMsg,
793                "SimSetup Error: No Dielectric constant was set.\n"
794                "\tYou are trying to use Reaction Field without"
795                "\tsetting a dielectric constant!\n");
796        painCave.isFatal = 1;
797        simError();
798      }      
799    }
800
787    }
788  
789    void SimInfo::setupFortranSim() {
# Line 1075 | Line 1061 | namespace oopse {
1061      RealType dielectric;
1062      
1063      errorOut = isError;
1078    dielectric = simParams_->getDielectric();
1064  
1065      if (simParams_->haveElectrostaticSummationMethod()) {
1066        std::string myMethod = simParams_->getElectrostaticSummationMethod();
# Line 1092 | Line 1077 | namespace oopse {
1077              if (myMethod == "SHIFTED_FORCE") {            
1078                esm = SHIFTED_FORCE;
1079              } else {
1080 <              if (myMethod == "REACTION_FIELD") {            
1080 >              if (myMethod == "REACTION_FIELD") {
1081                  esm = REACTION_FIELD;
1082 +                dielectric = simParams_->getDielectric();
1083 +                if (!simParams_->haveDielectric()) {
1084 +                  // throw warning
1085 +                  sprintf( painCave.errMsg,
1086 +                           "SimInfo warning: dielectric was not specified in the input file\n\tfor the reaction field correction method.\n"
1087 +                           "\tA default value of %f will be used for the dielectric.\n", dielectric);
1088 +                  painCave.isFatal = 0;
1089 +                  simError();
1090 +                }
1091                } else {
1092                  // throw error        
1093                  sprintf( painCave.errMsg,

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines