Initialize
From KratosWiki
void LinearElement::Initialize() { KRATOS_TRY const GeometryType::IntegrationPointsArrayType& integration_points = GetGeometry().IntegrationPoints(); //resizing jacobian inverses containers mInvJ0.resize(integration_points.size()); mDetJ0.resize(integration_points.size()); GeometryType::JacobiansType J0; J0 = GetGeometry().Jacobian(J0); mTotalDomainInitialSize = 0.00; if(mConstitutiveLawVector.size() == 0) { mConstitutiveLawVector.resize(integration_points.size()); InitializeMaterial(); } //calculating the inverse J0 for(unsigned int PointNumber = 0; PointNumber<integration_points.size(); PointNumber++) { //getting informations for integration double IntegrationWeight = integration_points[PointNumber].Weight(); //calculating and storing inverse of the jacobian and the parameters needed MathUtils<double>::InvertMatrix(J0[PointNumber],mInvJ0[PointNumber],mDetJ0[PointNumber]); //calculating the total area mTotalDomainInitialSize += mDetJ0[PointNumber]*IntegrationWeight; } KRATOS_CATCH("") }