Exemplo n.º 1
0
	HookeMaterial::HookeMaterial(double rho, double YOUNGS, double POSSION)
		:MechMaterial(rho, MarterialType(Marterial_Isotropic | Marterial_Linear)),
		youngs(YOUNGS), possion(POSSION){
		//Lame prameters
		double lambda = possion*youngs / ((1.0 + possion)*(1.0 - 2.0*possion));
		double mu = youngs / (2.0*(1.0 + possion));

		D[0] = lambda + 2.0 * mu;
		D[1] = lambda;
		D[2] = mu;
	}
	CorotationalPlasticMaterial::CorotationalPlasticMaterial(Scalar rho, Scalar youngs, Scalar possion,
		Scalar yieldCri, Scalar creep, Scalar maxStrain, Scalar compressingTreshold) 
		: FullOrderNonlinearMaterial(rho, MarterialType(Marterial_Isotropic | Marterial_Corotational | Marterial_Plastic)) {
		yieldCrierion = yieldCri;
		creepRatio = creep;
		maxPlasticStrain = maxStrain;
		threshold = compressingTreshold;
		//Lame prameters
		Scalar lambda = possion * youngs / ((Scalar(1.0) + possion) * (Scalar(1.0) - Scalar(2.0) * possion));
		Scalar mu = youngs / (Scalar(2.0) * (Scalar(1.0) + possion));

		D[0] = lambda + Scalar(2.0) * mu;
		D[1] = lambda;
		D[2] = mu;
	}