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

Method loadMatrix

Source/radiation/HypreExtMultiABec.cpp:148–837  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

146}
147
148void HypreExtMultiABec::loadMatrix()
149{
150 BL_PROFILE("HypreExtMultiABec::loadMatrix");
151
152 HypreMultiABec::loadMatrix();
153
154 if (0 && verbose >= 1 && ParallelDescriptor::IOProcessor()) {
155 std::cout << "In HypreExtMultiABec::loadMatrix(), the multipliers are:" << std::endl;
156 std::cout << " HypreExtMultiABec::alpha2 = " << alpha2 << std::endl;
157 std::cout << " HypreExtMultiABec::gamma = " << gamma << std::endl;
158 std::cout << " HypreExtMultiABec::delta1 = " << delta1 << std::endl;
159 std::cout << " HypreExtMultiABec::delta2 = " << delta2 << std::endl;
160 }
161
162 // These really ought to be members and already defined:
163#if (AMREX_SPACEDIM == 1)
164 // if we were really 1D:
165/*
166 int offsets[3][1] = {{ 0}
167 {-1},
168 { 1}};
169*/
170 // fake 1D as a 2D problem:
171 int offsets[3][2] = {{ 0, 0},
172 {-1, 0},
173 { 1, 0}};
174#elif (AMREX_SPACEDIM == 2)
175 int offsets[5][2] = {{ 0, 0},
176 {-1, 0},
177 { 1, 0},
178 { 0, -1},
179 { 0, 1}};
180#elif (AMREX_SPACEDIM == 3)
181 int offsets[7][3] = {{ 0, 0, 0},
182 {-1, 0, 0},
183 { 1, 0, 0},
184 { 0, -1, 0},
185 { 0, 1, 0},
186 { 0, 0, -1},
187 { 0, 0, 1}};
188#endif
189
190 const int size = 2 * AMREX_SPACEDIM + 1;
191
192 int stencil_indices[size];
193
194 for (int i = 0; i < size; i++) {
195 stencil_indices[i] = i;
196 }
197
198 FArrayBox matfab;
199 FArrayBox mat_tmpfab;
200 for (int level = crse_level; level <= fine_level; level++) {
201 int part = level - crse_level;
202
203 for (MFIter mfi(*acoefs[level]); mfi.isValid(); ++mfi) {
204 int i = mfi.index();
205 const Box &reg = grids[level][i];

Callers

nothing calls this directly

Calls 15

loVFunction · 0.85
hiVFunction · 0.85
FaceValueFunction · 0.85
isValidMethod · 0.80
firstLocalMethod · 0.80
nextLocalMethod · 0.80
pushMethod · 0.80
emptyMethod · 0.80
secondaryMethod · 0.80
collapseMethod · 0.80
get_locationsMethod · 0.80
get_coeffsMethod · 0.80

Tested by

no test coverage detected