@@ -52,9 +52,6 @@ void MPMesh::calculateStrain(){
5252 v22 = v22 + MPsBasisGrads (mp, i*2 + 1 ) * velField (iVertex, 1 );
5353 uTanOverR = uTanOverR + MPsBasis (mp, i) * tanLatVertexRotatedOverRadius (iVertex, 0 ) * velField (iVertex, 0 );
5454 vTanOverR = vTanOverR + MPsBasis (mp, i) * tanLatVertexRotatedOverRadius (iVertex, 0 ) * velField (iVertex, 1 );
55- MPsStrainRate (mp, 0 ) = v11 - vTanOverR;
56- MPsStrainRate (mp, 1 ) = v22;
57- MPsStrainRate (mp, 2 ) = 0.5 *(v12 + v21 + uTanOverR);
5855 // Debugging
5956 if (MPsAppID (mp)==0 ){
6057 printf (" Strain Calc: iVertex %d vel field %.15e %.15e \n " , iVertex, velField (iVertex, 0 ), velField (iVertex, 1 ));
@@ -86,7 +83,7 @@ void MPMesh::calculateStress(){
8683 if (mask){
8784
8885 Vec3d strain_rate (MPsStrainRate (mp, 0 ), MPsStrainRate (mp, 1 ), MPsStrainRate (mp, 2 ));
89- Vec3d stress (MPsStress (mp, 0 ), MPsStress (mp, 1 ), MPsStress (mp, 1 ));
86+ Vec3d stress (MPsStress (mp, 0 ), MPsStress (mp, 1 ), MPsStress (mp, 2 ));
9087 constitutive_evp (strain_rate, stress, MPsIcePressure (mp, 0 ), MPsRepPressure (mp, 0 ), MPsArea (mp, 0 ), elasticTimeStep, dampingTimescale);
9188 for (int m=0 ; m<3 ; m++)
9289 MPsStress (mp, m) = stress[m];
@@ -172,26 +169,24 @@ void MPMesh::calculateStressDivergence(){
172169 };
173170 p_MPs->parallel_for (stress_div, " assembly" );
174171
175- // TODO
176- // COMMUNICATE THE VERTEX FIELDS
172+ // TODO COMMUNICATE THE VERTEX FIELDS
177173
178- // TODO put as mesh field
179- Kokkos::View< vec2d_t *> stressDivergence ( " stressDivergence " , p_mesh->getNumVertices () );
174+
175+ auto stressDivergence = p_mesh->getMeshField <MeshF_StressDivergence>( );
180176
181- Kokkos::parallel_for (" calculate_divergence" , numVtx, KOKKOS_LAMBDA (const int vtx){
182-
177+ Kokkos::parallel_for (" calculate_divergence" , numVtx, KOKKOS_LAMBDA (const int vtx){
183178 stressDivergence (vtx, 0 ) = stress_divU (vtx);
184179 stressDivergence (vtx, 1 ) = stress_divV (vtx);
185180 // Debugging
186181 if (vtx >= 10 && vtx <= 11 ) {
187- printf (" Vtx %d Divergence %.15e %.15e %.15e %.15e %.15e %.15e \n " , vtx, nearAnEdge_l (vtx), vtxMatrixMass_l (vtx),
188- stress_divU (vtx), stress_divV (vtx),
189- divU_edge (vtx), divV_edge (vtx));
182+ // printf("Vtx %d Divergence %.15e %.15e %.15e %.15e %.15e %.15e \n", vtx, nearAnEdge_l(vtx), vtxMatrixMass_l(vtx),
183+ // stress_divU(vtx), stress_divV(vtx),
184+ // divU_edge(vtx), divV_edge(vtx));
185+ printf (" Vtx %d Divergence %.15e %.15e \n " , vtx, stressDivergence (vtx, 0 ), stressDivergence (vtx, 1 ));
190186 }
191187 });
192-
193- // TODO
194- // COMMUNICATE THE VERTEX FIELDS
188+
189+ // TODO COMMUNICATE THE VERTEX FIELDS
195190
196191}
197192
0 commit comments