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);
	}

}
Ejemplo n.º 3
0
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;
}