-
Notifications
You must be signed in to change notification settings - Fork 315
Open
Description
The function CalculateAllLambda()
defines the compliance matrix as:
Matd Compliance = Matd::Zero();
Compliance.col(0) = Vecd(1 / E_[0], -poisson_[0] / E_[1], -poisson_[1] / E_[2]);
Compliance.col(1) = Vecd(-poisson_[0] / E_[0], 1 / E_[1], -poisson_[2] / E_[1]);
Compliance.col(2) = Vecd(-poisson_[1] / E_[0], -poisson_[2] / E_[1], 1 / E_[2]);
Shouldn't it be
Matd Compliance = Matd::Zero();
Compliance.col(0) = Vecd(1 / E_[0], -poisson_[0] / E_[0], -poisson_[1] / E_[0]);
Compliance.col(1) = Vecd(-poisson_[0] / E_[0], 1 / E_[1], -poisson_[2] / E_[1]);
Compliance.col(2) = Vecd(-poisson_[1] / E_[0], -poisson_[2] / E_[1], 1 / E_[2]);
?
The definition of mu also has problems. It should be:
Mu_[0] = G_[0] + G_[2] - G_[1];
Mu_[1] = G_[1] + G_[0] - G_[2];
Mu_[2] = G_[2] + G_[1] - G_[0];
The sound speed cannot be defined by E_max and nu_max, as the material parameter relation derived from isotropic material no longer holds for the orthotropic case. I think we can replace it by lambda_max + 2/3*G_max.
The result of the test case is still weird after making those corrections. I'll also check the implementation of PK2 stress
Metadata
Metadata
Assignees
Labels
No labels