Real SolidMechX::computeQpResidual() { if (!_constant_properties) recomputeConstants(); _strain(0,0) = _grad_u[_qp](0); _strain(1,1) = _grad_y[_qp](1); _strain(0,1) = _grad_u[_qp](1)+_grad_y[_qp](0); _stress(0) = _c1*_strain(0,0)+_c1*_c2*_strain(1,1); _stress(1) = _c1*_c3*_strain(0,1); if ( 3 == _mesh_dimension){ _strain(2,2) = _grad_z[_qp](2); _strain(0,2) = _grad_u[_qp](2)+_grad_z[_qp](0); _stress(0) += _c1*_c2*_strain(2,2); _stress(2) = _c1*_c3*_strain(0,2); } Real value = (_stress*_grad_test[_i][_qp]); return value; }
Real SolidMechZ::computeQpJacobian() { if (!_constant_properties) recomputeConstants(); Real value = _c1*(_grad_test[_i][_qp]*(_B33*_grad_phi[_j][_qp])); return value; }
void SolidMechTempCouple::recomputeCouplingConstants() { recomputeConstants(); _c4 = _E/(1.-_nu); if (_mesh_dimension == 3) _c4 = _E/(1.-2.*_nu); }
Real SolidMechZ::computeQpOffDiagJacobian(unsigned int jvar) { if (!_constant_properties) recomputeConstants(); RealGradient value = 0; if (jvar == _x_var) value += _B31*_grad_phi[_j][_qp]; else if (jvar == _y_var) value += _B32*_grad_phi[_j][_qp]; return _c1*(_grad_test[_i][_qp]*value); }
Real SolidMechZ::computeQpResidual() { if (!_constant_properties) recomputeConstants(); _strain(0,0) = _grad_x[_qp](0); _strain(1,1) = _grad_y[_qp](1); _strain(2,2) = _grad_u[_qp](2); _strain(1,2) = _grad_u[_qp](1)+_grad_y[_qp](2); _strain(0,2) = _grad_x[_qp](2)+_grad_u[_qp](0); _stress(0) = _c1*_c3*_strain(0,2); _stress(1) = _c1*_c3*_strain(1,2); _stress(2) = _c1*_c2*_strain(0,0)+_c1*_c2*_strain(1,1)+_c1*_strain(2,2); return (_stress*_grad_test[_i][_qp]); }