From 1c04f03c3c9df9788ad69273d08247a97afdb19b Mon Sep 17 00:00:00 2001 From: James McClure Date: Sun, 12 Sep 2021 09:21:19 -0400 Subject: [PATCH] flatten after modifying flow adaptor --- analysis/FlowAdaptor.cpp | 64 ++-------------------------------- tests/lbpm_color_simulator.cpp | 3 +- 2 files changed, 4 insertions(+), 63 deletions(-) diff --git a/analysis/FlowAdaptor.cpp b/analysis/FlowAdaptor.cpp index 6807c2b6..1d4568e0 100644 --- a/analysis/FlowAdaptor.cpp +++ b/analysis/FlowAdaptor.cpp @@ -207,68 +207,8 @@ double FlowAdaptor::UpdateFractionalFlow(ScaLBL_ColorModel &M){ void FlowAdaptor::Flatten(ScaLBL_ColorModel &M){ - int Np = M.Np; - double dA, dB; - - double *Aq_tmp, *Bq_tmp; - - Aq_tmp = new double [7*Np]; - Bq_tmp = new double [7*Np]; - - ScaLBL_CopyToHost(Aq_tmp, M.Aq, 7*Np*sizeof(double)); - ScaLBL_CopyToHost(Bq_tmp, M.Bq, 7*Np*sizeof(double)); - - for (int n=0; n < M.ScaLBL_Comm->LastExterior(); n++){ - dA = Aq_tmp[n] + Aq_tmp[n+Np] + Aq_tmp[n+2*Np] + Aq_tmp[n+3*Np] + Aq_tmp[n+4*Np] + Aq_tmp[n+5*Np] + Aq_tmp[n+6*Np]; - dB = Bq_tmp[n] + Bq_tmp[n+Np] + Bq_tmp[n+2*Np] + Bq_tmp[n+3*Np] + Bq_tmp[n+4*Np] + Bq_tmp[n+5*Np] + Bq_tmp[n+6*Np]; - if (dA > 1.0){ - double mass_change = dA - 1.0; - Aq_tmp[n] -= 0.333333333333333*mass_change; - Aq_tmp[n+Np] -= 0.111111111111111*mass_change; - Aq_tmp[n+2*Np] -= 0.111111111111111*mass_change; - Aq_tmp[n+3*Np] -= 0.111111111111111*mass_change; - Aq_tmp[n+4*Np] -= 0.111111111111111*mass_change; - Aq_tmp[n+5*Np] -= 0.111111111111111*mass_change; - Aq_tmp[n+6*Np] -= 0.111111111111111*mass_change; - } - if (dB > 1.0){ - double mass_change = dB - 1.0; - Bq_tmp[n] -= 0.333333333333333*mass_change; - Bq_tmp[n+Np] -= 0.111111111111111*mass_change; - Bq_tmp[n+2*Np] -= 0.111111111111111*mass_change; - Bq_tmp[n+3*Np] -= 0.111111111111111*mass_change; - Bq_tmp[n+4*Np] -= 0.111111111111111*mass_change; - Bq_tmp[n+5*Np] -= 0.111111111111111*mass_change; - Bq_tmp[n+6*Np] -= 0.111111111111111*mass_change; - } - } - for (int n=M.ScaLBL_Comm->FirstInterior(); n < M.ScaLBL_Comm->LastInterior(); n++){ - dA = Aq_tmp[n] + Aq_tmp[n+Np] + Aq_tmp[n+2*Np] + Aq_tmp[n+3*Np] + Aq_tmp[n+4*Np] + Aq_tmp[n+5*Np] + Aq_tmp[n+6*Np]; - dB = Bq_tmp[n] + Bq_tmp[n+Np] + Bq_tmp[n+2*Np] + Bq_tmp[n+3*Np] + Bq_tmp[n+4*Np] + Bq_tmp[n+5*Np] + Bq_tmp[n+6*Np]; - if (dA > 1.0){ - double mass_change = dA - 1.0; - Aq_tmp[n] -= 0.333333333333333*mass_change; - Aq_tmp[n+Np] -= 0.111111111111111*mass_change; - Aq_tmp[n+2*Np] -= 0.111111111111111*mass_change; - Aq_tmp[n+3*Np] -= 0.111111111111111*mass_change; - Aq_tmp[n+4*Np] -= 0.111111111111111*mass_change; - Aq_tmp[n+5*Np] -= 0.111111111111111*mass_change; - Aq_tmp[n+6*Np] -= 0.111111111111111*mass_change; - } - if (dB > 1.0){ - double mass_change = dB - 1.0; - Bq_tmp[n] -= 0.333333333333333*mass_change; - Bq_tmp[n+Np] -= 0.111111111111111*mass_change; - Bq_tmp[n+2*Np] -= 0.111111111111111*mass_change; - Bq_tmp[n+3*Np] -= 0.111111111111111*mass_change; - Bq_tmp[n+4*Np] -= 0.111111111111111*mass_change; - Bq_tmp[n+5*Np] -= 0.111111111111111*mass_change; - Bq_tmp[n+6*Np] -= 0.111111111111111*mass_change; - } - } - - ScaLBL_CopyToDevice(M.Aq, Aq_tmp, 7*Np*sizeof(double)); - ScaLBL_CopyToDevice(M.Bq, Bq_tmp, 7*Np*sizeof(double)); + ScaLBL_PhaseField_Init(M.dvcMap, M.Phi, M.Den, M.Aq, M.Bq, 0, M.ScaLBL_Comm->LastExterior(), M.Np); + ScaLBL_PhaseField_Init(M.dvcMap, M.Phi, M.Den, M.Aq, M.Bq, M.ScaLBL_Comm->FirstInterior(), M.ScaLBL_Comm->LastInterior(), M.Np); } double FlowAdaptor::MoveInterface(ScaLBL_ColorModel &M){ diff --git a/tests/lbpm_color_simulator.cpp b/tests/lbpm_color_simulator.cpp index c2bdb801..2daead06 100644 --- a/tests/lbpm_color_simulator.cpp +++ b/tests/lbpm_color_simulator.cpp @@ -182,9 +182,10 @@ int main( int argc, char **argv ) } /*********************************************************/ } + if (rank==0) printf(" (flatten density field) \n"); + Adapt.Flatten(ColorModel); } - PROFILE_STOP( "Main" ); auto file = db->getWithDefault( "TimerFile", "lbpm_color_simulator" ); auto level = db->getWithDefault( "TimerLevel", 1 );