コード例 #1
0
void
IsotropicElasticityTensor::calculateEntries(unsigned int /*qp*/)
{
  calculateLameCoefficients();

  unsigned int i, j, k, l;
  i = j = k = l = 0;

  // Walk down the columns of the 9x9 matrix
  for (unsigned int q = 0; q < 81; ++q)
  {
    // This algorithm was developed by Derek Gaston and Cody Permann
    // it's based on page 29 of Michael Tonk's notes
    j += i / 3;
    k += j / 3;
    l += k / 3;

    i %= 3;
    j %= 3;
    k %= 3;
    l %= 3;

    _values[q] = isotropicEntry(i, j, k, l);

    ++i;
  }
}
コード例 #2
0
void
SymmIsotropicElasticityTensor::calculateEntries(unsigned int /*qp*/)
{
  calculateLameCoefficients();

  const Real C12(_lambda);
  const Real C44(_mu);
  const Real C11(2*C44+C12);

  setEntries( C11, C12, C44 );
}