@@ -210,47 +210,47 @@ class MaterialPoints {
210210 ps::parallel_for (MPs, swap, " swap" );
211211 }
212212 void updateMPSliceAll (){
213- updateMPElmID ();
214- updateMPSlice<MPF_Cur_Pos_Rot_Lat_Lon,MPF_Tgt_Pos_Rot_Lat_Lon>();
215- updateMPSlice<MPF_Cur_Pos_XYZ,MPF_Tgt_Pos_XYZ>();
213+ updateMPElmID ();
214+ updateMPSlice<MPF_Cur_Pos_Rot_Lat_Lon,MPF_Tgt_Pos_Rot_Lat_Lon>();
215+ updateMPSlice<MPF_Cur_Pos_XYZ,MPF_Tgt_Pos_XYZ>();
216216 }
217217
218218 void updateRotLatLonAndXYZ2Tgt (const double radius, const bool isRotated){
219- Kokkos::Timer timer;
220- auto curPosRotLatLon = MPs->get <MPF_Cur_Pos_Rot_Lat_Lon>();
221- auto tgtPosRotLatLon = MPs->get <MPF_Tgt_Pos_Rot_Lat_Lon>();
222- auto tgtPosXYZ = MPs->get <MPF_Tgt_Pos_XYZ>();
223- auto rotLatLonIncr = MPs->get <MPF_Rot_Lat_Lon_Incr>();
224- // Velocity
225- auto velMPs = MPs->get <MPF_Vel>();
226- auto velIncr = MPs->get <MPF_Vel_Incr>();
219+ Kokkos::Timer timer;
220+ auto curPosRotLatLon = MPs->get <MPF_Cur_Pos_Rot_Lat_Lon>();
221+ auto tgtPosRotLatLon = MPs->get <MPF_Tgt_Pos_Rot_Lat_Lon>();
222+ auto tgtPosXYZ = MPs->get <MPF_Tgt_Pos_XYZ>();
223+ auto rotLatLonIncr = MPs->get <MPF_Rot_Lat_Lon_Incr>();
224+ // Velocity
225+ auto velMPs = MPs->get <MPF_Vel>();
226+ auto velIncr = MPs->get <MPF_Vel_Incr>();
227227
228- auto mpAppID = MPs->get <MPF_MP_APP_ID>();
229-
230- auto updateRotLatLon = PS_LAMBDA (const int & elm, const int & mp, const int & mask){
231- if (mask){
232- auto rotLat = curPosRotLatLon (mp,0 ) + rotLatLonIncr (mp,0 ); // phi
233- auto rotLon = curPosRotLatLon (mp,1 ) + rotLatLonIncr (mp,1 ); // lambda
234- tgtPosRotLatLon (mp,0 ) = rotLat;
235- tgtPosRotLatLon (mp,1 ) = rotLon;
236- auto geoLat = rotLat;
237- auto geoLon = rotLon;
238- if (isRotated){
239- auto xyz_rot = xyz_from_lat_lon (rotLat, rotLon, radius);
240- auto xyz_geo = grid_rotation_backward (xyz_rot);
241- lat_lon_from_xyz (geoLat, geoLon, xyz_geo, radius);
242- }
243- // x=cosLon cosLat, y=sinLon cosLat, z= sinLat
244- tgtPosXYZ (mp,0 ) = radius * std::cos (geoLon) * std::cos (geoLat);
245- tgtPosXYZ (mp,1 ) = radius * std::sin (geoLon) * std::cos (geoLat);
246- tgtPosXYZ (mp,2 ) = radius * std::sin (geoLat);
247- velMPs (mp,0 ) = velMPs (mp,0 ) + velIncr (mp,0 );
248- velMPs (mp,1 ) = velMPs (mp,1 ) + velIncr (mp,1 );
249- }
250- };
251- ps::parallel_for (MPs, updateRotLatLon," updateRotationalLatitudeLongitude" );
252- pumipic::RecordTime (" PolyMPO_updateRotLatLonAndXYZ2Tgt" , timer.seconds ());
253- }
228+ auto mpAppID = MPs->get <MPF_MP_APP_ID>();
229+
230+ auto updateRotLatLon = PS_LAMBDA (const int & elm, const int & mp, const int & mask){
231+ if (mask){
232+ auto rotLat = curPosRotLatLon (mp,0 ) + rotLatLonIncr (mp,0 ); // phi
233+ auto rotLon = curPosRotLatLon (mp,1 ) + rotLatLonIncr (mp,1 ); // lambda
234+ tgtPosRotLatLon (mp,0 ) = rotLat;
235+ tgtPosRotLatLon (mp,1 ) = rotLon;
236+ auto geoLat = rotLat;
237+ auto geoLon = rotLon;
238+ if (isRotated){
239+ auto xyz_rot = xyz_from_lat_lon (rotLat, rotLon, radius);
240+ auto xyz_geo = grid_rotation_backward (xyz_rot);
241+ lat_lon_from_xyz (geoLat, geoLon, xyz_geo, radius);
242+ }
243+ // x=cosLon cosLat, y=sinLon cosLat, z= sinLat
244+ tgtPosXYZ (mp,0 ) = radius * std::cos (geoLon) * std::cos (geoLat);
245+ tgtPosXYZ (mp,1 ) = radius * std::sin (geoLon) * std::cos (geoLat);
246+ tgtPosXYZ (mp,2 ) = radius * std::sin (geoLat);
247+ velMPs (mp,0 ) = velMPs (mp,0 ) + velIncr (mp,0 );
248+ velMPs (mp,1 ) = velMPs (mp,1 ) + velIncr (mp,1 );
249+ }
250+ };
251+ ps::parallel_for (MPs, updateRotLatLon," updateRotationalLatitudeLongitude" );
252+ pumipic::RecordTime (" PolyMPO_updateRotLatLonAndXYZ2Tgt" , timer.seconds ());
253+ }
254254
255255 template <int index>
256256 auto getData () {
0 commit comments