MCPcopy Create free account
hub / github.com/AMReX-Astro/Castro / create_comp_minus_level_grad_phi

Method create_comp_minus_level_grad_phi

Source/gravity/Gravity.cpp:1190–1220  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1188}
1189
1190void
1191Gravity::create_comp_minus_level_grad_phi(int level,
1192 MultiFab& comp_phi,
1193 const Vector<MultiFab*>& comp_gphi,
1194 MultiFab& comp_minus_level_phi,
1195 Vector<std::unique_ptr<MultiFab> >& comp_minus_level_grad_phi)
1196{
1197 BL_PROFILE("Gravity::create_comp_minus_level_grad_phi()");
1198
1199 if (gravity::verbose > 1 && ParallelDescriptor::IOProcessor()) {
1200 std::cout << "\n";
1201 std::cout << "... compute difference between level and composite solves at level " << level << "\n";
1202 std::cout << "\n";
1203 }
1204
1205 comp_minus_level_phi.define(LevelData[level]->boxArray(),
1206 LevelData[level]->DistributionMap(),
1207 1, 0);
1208
1209 MultiFab::Copy(comp_minus_level_phi, comp_phi, 0, 0, 1, 0);
1210 comp_minus_level_phi.minus(parent->getLevel(level).get_old_data(PhiGrav_Type), 0, 1, 0);
1211
1212 comp_minus_level_grad_phi.resize(AMREX_SPACEDIM);
1213 for (int n = 0; n < AMREX_SPACEDIM; ++n) {
1214 comp_minus_level_grad_phi[n] = std::make_unique<MultiFab>(LevelData[level]->getEdgeBoxArray(n),
1215 LevelData[level]->DistributionMap(), 1, 0);
1216 MultiFab::Copy(*comp_minus_level_grad_phi[n], *comp_gphi[n], 0, 0, 1, 0);
1217 comp_minus_level_grad_phi[n]->minus(*grad_phi_prev[level][n], 0, 1, 0);
1218 }
1219
1220}
1221
1222void
1223Gravity::average_fine_ec_onto_crse_ec(int level, int is_new)

Callers 1

construct_old_gravityMethod · 0.80

Calls 1

defineMethod · 0.80

Tested by

no test coverage detected