diff --git a/src/mhd/DirectInduction/mhd_iact.h b/src/mhd/DirectInduction/mhd_iact.h index ea346242eeabf160abf60a08dab9f5d53f79eacb..8bf644daae61b4d030002d142c270d4ef4e067c3 100644 --- a/src/mhd/DirectInduction/mhd_iact.h +++ b/src/mhd/DirectInduction/mhd_iact.h @@ -654,24 +654,24 @@ __attribute__((always_inline)) INLINE static void runner_iact_mhd_force( const float dB_dt_pref_Lap_i = 2.0f * r_inv / rhoj; const float dB_dt_pref_Lap_j = 2.0f * r_inv / rhoi; - - float dB_dt_adv_i[3]; - float dB_dt_adv_j[3]; + + float dB_dt_ind_i[3]; + float dB_dt_ind_j[3]; /* dv dot r. */ - const float dvr = -(dv[0] * dx[0] + dv[1] * dx[1] + dv[2] * dx[2]); + const float dvr = (dv[0] * dx[0] + dv[1] * dx[1] + dv[2] * dx[2]); for (int i = 0; i < 3; i++) { - dB_dt_adv_i[i] = rhoi*(Bj[i]/rhoj-Bi[i]/rhoi) * dvr; - dB_dt_adv_j[i] = rhoj*(Bi[i]/rhoi-Bj[i]/rhoj) * dvr; + dB_dt_ind_i[i] = ( -Brj * dv[i] + dvr * Bj[i] ); + dB_dt_ind_j[i] = ( -Bri * dv[i] + dvr * Bi[i] ); } for (int i = 0; i < 3; i++) { - pi->mhd_data.Adv_B_source[i] += mj * dB_dt_pref_i * dB_dt_i[i]; - pj->mhd_data.Adv_B_source[i] += mi * dB_dt_pref_j * dB_dt_j[i]; + //pi->mhd_data.Adv_B_source[i] += mj * dB_dt_pref_i * dB_dt_i[i]; + //pj->mhd_data.Adv_B_source[i] += mi * dB_dt_pref_j * dB_dt_j[i]; - pi->mhd_data.Adv_B_source[i] -= mj * dB_dt_pref_i * dB_dt_adv_i[i]; - pj->mhd_data.Adv_B_source[i] -= mi * dB_dt_pref_j * dB_dt_adv_j[i]; + pi->mhd_data.Adv_B_source[i] += mj * dB_dt_pref_i * dB_dt_ind_i[i]; + pj->mhd_data.Adv_B_source[i] += mi * dB_dt_pref_j * dB_dt_ind_j[i]; pi->mhd_data.Adv_B_source[i] -= mj * grad_psi_i * dx[i]; pj->mhd_data.Adv_B_source[i] -= mi * grad_psi_j * dx[i]; @@ -926,19 +926,19 @@ __attribute__((always_inline)) INLINE static void runner_iact_nonsym_mhd_force( /* Save induction sources */ const float dB_dt_pref_Lap = 2.0f * r_inv / rhoj; - float dB_dt_adv_i[3]; + float dB_dt_ind_i[3]; /* dv dot r. */ - const float dvr = -(dv[0] * dx[0] + dv[1] * dx[1] + dv[2] * dx[2]); + const float dvr = (dv[0] * dx[0] + dv[1] * dx[1] + dv[2] * dx[2]); for (int i = 0; i < 3; i++) { - dB_dt_adv_i[i] = rhoi*(Bj[i]/rhoj-Bi[i]/rhoi) * dvr; + dB_dt_ind_i[i] = ( -Brj * dv[i] + dvr * Bj[i] ); } for (int i = 0; i < 3; i++) { - pi->mhd_data.Adv_B_source[i] += mj * dB_dt_pref_i * dB_dt_i[i]; + //pi->mhd_data.Adv_B_source[i] += mj * dB_dt_pref_i * dB_dt_i[i]; - pi->mhd_data.Adv_B_source[i] -= mj * dB_dt_pref_i * dB_dt_adv_i[i]; + pi->mhd_data.Adv_B_source[i] += mj * dB_dt_pref_i * dB_dt_ind_i[i]; pi->mhd_data.Adv_B_source[i] -= mj * grad_psi_i * dx[i]; pi->mhd_data.Diff_B_source[i] += mj * dB_dt_pref_PR * wi_dr * dB[i];