@@ -493,7 +493,8 @@ void SEMsolver<ORDER, INTEGRAL_TYPE, MESH_TYPE, IS_MODEL_ON_NODES,
493493 model_discretization_interface::gatherTransformData (elementNumber, mesh_local,
494494 transformData);
495495
496- #ifdef __CUDACC__
496+ #if defined(__CUDACC__) || defined(__HIPCC__)
497+
497498 struct CJPacked
498499 {
499500 float4 a;
@@ -554,7 +555,8 @@ void SEMsolver<ORDER, INTEGRAL_TYPE, MESH_TYPE, IS_MODEL_ON_NODES,
554555 float const v4 = lambda * Jp0 * Jr2 + mu * Jp2 * Jr0;
555556 float const v5 = lambda * Jp1 * Jr2 + mu * Jp2 * Jr1;
556557
557- #ifdef __CUDACC__
558+ #if defined(__CUDACC__) || defined(__HIPCC__)
559+
558560 CJflat[idx].a = make_float4 (v0, v1, v2, v3);
559561 CJflat[idx].b = make_float2 (v4, v5);
560562#else
@@ -570,7 +572,8 @@ void SEMsolver<ORDER, INTEGRAL_TYPE, MESH_TYPE, IS_MODEL_ON_NODES,
570572 },
571573 [&](int i, int j, float val, const int p, const int r) {
572574 int const idx = p * 3 + r;
573- #ifdef __CUDACC__
575+ #if defined(__CUDACC__) || defined(__HIPCC__)
576+
574577 float3 const u_local = make_float3 (localFields[0 ][j], localFields[1 ][j],
575578 localFields[2 ][j]);
576579 float4 const a = CJflat[idx].a ;
@@ -664,7 +667,8 @@ void SEMsolver<ORDER, INTEGRAL_TYPE, MESH_TYPE, IS_MODEL_ON_NODES,
664667 model_discretization_interface::gatherTransformData (elementNumber, mesh_local,
665668 transformData);
666669
667- #ifdef __CUDACC__
670+ #if defined(__CUDACC__) || defined(__HIPCC__)
671+
668672 struct CJPacked
669673 {
670674 float4 a;
@@ -740,7 +744,8 @@ void SEMsolver<ORDER, INTEGRAL_TYPE, MESH_TYPE, IS_MODEL_ON_NODES,
740744 float const v4 = c44 * p0r2 + c13 * p2r0;
741745 float const v5 = c44 * p1r2 + c13 * p2r1;
742746
743- #ifdef __CUDACC__
747+ #if defined(__CUDACC__) || defined(__HIPCC__)
748+
744749 CJflat[idx].a = make_float4 (v0, v1, v2, v3);
745750 CJflat[idx].b = make_float2 (v4, v5);
746751#else
@@ -756,7 +761,8 @@ void SEMsolver<ORDER, INTEGRAL_TYPE, MESH_TYPE, IS_MODEL_ON_NODES,
756761 },
757762 [&](int i, int j, float val, const int p, const int r) {
758763 int const idx = p * 3 + r;
759- #ifdef __CUDACC__
764+ #if defined(__CUDACC__) || defined(__HIPCC__)
765+
760766 float3 const u_local = make_float3 (localFields[0 ][j], localFields[1 ][j],
761767 localFields[2 ][j]);
762768 float4 const a = CJflat[idx].a ;
@@ -862,7 +868,8 @@ void SEMsolver<ORDER, INTEGRAL_TYPE, MESH_TYPE, IS_MODEL_ON_NODES,
862868 mesh_local.getCTensorOnElement (elementNumber, CTTI);
863869 }
864870
865- #ifdef __CUDACC__
871+ #if defined(__CUDACC__) || defined(__HIPCC__)
872+
866873 struct CJPacked
867874 {
868875 float4 a;
@@ -939,7 +946,8 @@ void SEMsolver<ORDER, INTEGRAL_TYPE, MESH_TYPE, IS_MODEL_ON_NODES,
939946 C13 * p1r1 + C12 * p1r2 + C34 * p2r0 + C33 * p2r1 +
940947 C23 * p2r2;
941948
942- #ifdef __CUDACC__
949+ #if defined(__CUDACC__) || defined(__HIPCC__)
950+
943951 CJflat[idx].a = make_float4 (v0, v1, v2, v3);
944952 CJflat[idx].b = make_float2 (v4, v5);
945953#else
@@ -955,7 +963,8 @@ void SEMsolver<ORDER, INTEGRAL_TYPE, MESH_TYPE, IS_MODEL_ON_NODES,
955963 },
956964 [&](int i, int j, float val, const int p, const int r) {
957965 const int idx = p * 3 + r;
958- #ifdef __CUDACC__
966+ #if defined(__CUDACC__) || defined(__HIPCC__)
967+
959968 const float3 u_local = make_float3 (
960969 localFields[0 ][j], localFields[1 ][j], localFields[2 ][j]);
961970 const float4 a = CJflat[idx].a ;
@@ -1024,7 +1033,6 @@ void SEMsolver<ORDER, INTEGRAL_TYPE, MESH_TYPE, IS_MODEL_ON_NODES,
10241033
10251034 if constexpr (PHYSICS == enums::physicType::kAcoustic )
10261035 {
1027- // ===== ACOUSTIC VERSION =====
10281036 LOOPHEAD (mesh_local.getNumberOfNodes (), I)
10291037 {
10301038 if (mesh_local.isFreeSurface (I))
@@ -1072,7 +1080,6 @@ void SEMsolver<ORDER, INTEGRAL_TYPE, MESH_TYPE, IS_MODEL_ON_NODES,
10721080 }
10731081 else // ELASTIC
10741082 {
1075- // ===== ELASTIC VERSION =====
10761083 LOOPHEAD (mesh_local.getNumberOfNodes (), I)
10771084 {
10781085 if (mesh_local.isFreeSurface (I))
0 commit comments