MCPcopy Create free account
hub / github.com/AMReX-Codes/amrex / InterpAddBox

Function InterpAddBox

Src/Base/AMReX_MFCopyDescriptor.cpp:6–68  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4namespace amrex {
5
6void
7InterpAddBox (MultiFabCopyDescriptor& fabCopyDesc,
8 BoxList* returnUnfilledBoxes,
9 Vector<FillBoxId>& returnedFillBoxIds,
10 const Box& subbox,
11 MultiFabId faid1,
12 MultiFabId faid2,
13 Real t1,
14 Real t2,
15 Real t,
16 int src_comp,
17 int dest_comp,
18 int num_comp,
19 bool extrap)
20{
21 amrex::ignore_unused(extrap);
22
23 const Real teps = (t2-t1)/1000.0_rt;
24
25 BL_ASSERT(extrap || ( (t>=t1-teps) && (t <= t2+teps) ) );
26
27 if (t >= t1-teps && t <= t1+teps)
28 {
29 returnedFillBoxIds.resize(1);
30 returnedFillBoxIds[0] = fabCopyDesc.AddBox(faid1,
31 subbox,
32 returnUnfilledBoxes,
33 src_comp,
34 dest_comp,
35 num_comp);
36 }
37 else if (t > t2-teps && t < t2+teps)
38 {
39 returnedFillBoxIds.resize(1);
40 returnedFillBoxIds[0] = fabCopyDesc.AddBox(faid2,
41 subbox,
42 returnUnfilledBoxes,
43 src_comp,
44 dest_comp,
45 num_comp);
46 }
47 else
48 {
49 returnedFillBoxIds.resize(2);
50 BoxList tempUnfilledBoxes(subbox.ixType());
51 returnedFillBoxIds[0] = fabCopyDesc.AddBox(faid1,
52 subbox,
53 returnUnfilledBoxes,
54 src_comp,
55 dest_comp,
56 num_comp);
57 returnedFillBoxIds[1] = fabCopyDesc.AddBox(faid2,
58 subbox,
59 &tempUnfilledBoxes,
60 src_comp,
61 dest_comp,
62 num_comp);
63 //

Callers 1

InterpAddBoxMethod · 0.85

Calls 3

AddBoxMethod · 0.80
resizeMethod · 0.45
ixTypeMethod · 0.45

Tested by

no test coverage detected