void initStrain(){ printf("Initializing strain tensor...\n"); //createDeformGradientTensor(); initDeformGradient(); if (stretchOn) initStretch(); atomGreenStrain = (double**)calloc(pdbData.atomCount, sizeof(double*)); int i; for (i = 0; i < pdbData.atomCount; i++){ atomGreenStrain[i] = (double*)calloc(9, sizeof(double)); } if (computeOn){ getMaskedParameter(outGreenStrainFilename, "outputGreenStrain", "", 0); outGreenStrain = fopen(outGreenStrainFilename, "w"); fclose(outGreenStrain); } if (printPDBOn){ if (!computeOn){ getMaskedParameter(tnsrGreenStrainFilename, "inputGreenStrain", "", 0); tnsrGreenStrain = fopen(tnsrGreenStrainFilename, "r"); } getMaskedParameter(pdbGreenStrainFilename, "outputPDBGreenStrain", "", 0); pdbGreenStrain = fopen(pdbGreenStrainFilename, "w"); fclose(pdbGreenStrain); strainNormalScale = getDoubleParameter("strainNormalScaleFactor", 1.0, 1); strainShearScale = getDoubleParameter("strainShearScaleFactor", 1.0, 1); } }
void initSphereStress(){ printf("Initializing sphere stress tensor...\n"); atomSphereStress = (Vector*)calloc(pdbData.atomCount, sizeof(Vector)); if (computeOn){ getMaskedParameter(outSphereStressFilename, "outputSphereStress", "", 0); outSphereStress = fopen(outSphereStressFilename, "w"); fclose(outSphereStress); } if (printPDBOn) { if (!computeOn){ getMaskedParameter(tnsrSphereStressFilename, "inputSphereStress", "", 0); tnsrSphereStress = fopen(tnsrSphereStressFilename, "r"); } getMaskedParameter(pdbSphereStressFilename, "outputPDBSphereStress", "", 0); pdbSphereStress = fopen(pdbSphereStressFilename, "w"); fclose(pdbSphereStress); sphereLateralScale = getDoubleParameter("sphereScaleFactor", 1.0, 1); sphere45ShearScale = getDoubleParameter("sphereScaleFactor", 1.0, 1); sphereRadialScale = getDoubleParameter("sphereScaleFactor", 1.0, 1); } }
int getIntegerParameter(const char* paramName, int defaultValue, int allowDefault){ char paramValue[VALUE_LENGTH]; char defaultString[VALUE_LENGTH]; sprintf(defaultString, "%d", defaultValue); int error = getMaskedParameter(paramValue, paramName, defaultString, allowDefault); int result = atoi(paramValue); if(result == 0 && strcmp(paramValue, "0") != 0){ DIE("ERROR: Wrong value of %s in a configuration file ('%s'). Should be integer.", paramName, paramValue); } if(error != 0){ return 0; } return result; }