MCPcopy Create free account
hub / github.com/OpenSees/OpenSees / computeH

Method computeH

SRC/element/XMUelements/AC3D8HexWithSensitivity.cpp:967–1007  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

965}
966
967int
968AC3D8HexWithSensitivity::computeH(void)
969{
970 if (H == 0 || DH == 0) {
971 H = new Matrix*[numGP];
972 DH = new Matrix*[numGP];
973 if (H == 0 || DH == 0) {
974 opserr << "AC3D8HexWithSensitivity::computeH - out of memory!\n";
975 return -3;
976 }
977
978 double r = 0.0;
979 double s = 0.0;
980 double t = 0.0;
981 short where = 0;
982
983 for(short GP_c_r = 1; GP_c_r <= r_integration_order; GP_c_r++) {
984 r = get_Gauss_p_c(r_integration_order, GP_c_r);
985 for(short GP_c_s = 1; GP_c_s <= s_integration_order; GP_c_s++) {
986 s = get_Gauss_p_c(s_integration_order, GP_c_s);
987 for(short GP_c_t = 1; GP_c_t <= t_integration_order; GP_c_t++) {
988 t = get_Gauss_p_c(t_integration_order, GP_c_t);
989
990 H[where] = new Matrix(1, nodes_in_elem);
991 DH[where] = new Matrix(dim, nodes_in_elem);
992 if(H[where] == 0 || DH[where] == 0) {
993 opserr << "AC3D8HexWithSensitivity::computeH - out of memory!\n";
994 return -3;
995 }
996
997 *H[where] = interp_fun(r, s, t);
998 *DH[where] = diff_interp_fun(r, s, t);
999
1000 where++;
1001 } // for GP_c_t
1002 } // for GP_c_s
1003 } // for GP_c_r
1004 }
1005
1006 return 0;
1007}
1008
1009int
1010AC3D8HexWithSensitivity::computeHH(void)

Callers 2

computeHHMethod · 0.95
computeDiffMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected