void StructuralInterfaceMaterial :: give2dStiffnessMatrix_Eng(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) { FloatMatrix answer3D; give3dStiffnessMatrix_Eng(answer3D, mode, gp, tStep); IntArray mask = {1, 3}; answer.beSubMatrixOf(answer3D, mask, mask); #if 0 //debug printf("analytical tangent \n"); answer3D.printYourself(); FloatMatrix answerNum; StructuralInterfaceMaterial :: giveStiffnessMatrix_dTdj_Num(answerNum, mode, gp, tStep); printf("numerical tangent \n"); answerNum.printYourself(); FloatMatrix comp; comp = answer3D; comp.subtract(answerNum); printf("difference in numerical tangent to mat method \n"); comp.printYourself(); #endif }
void StructuralInterfaceMaterial :: give1dStiffnessMatrix_Eng(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) { FloatMatrix answer3D; give3dStiffnessMatrix_Eng(answer3D, mode, gp, tStep); answer.resize(1, 1); answer.at(1, 1) = answer3D.at(3, 3); }