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

Function main

Tools/C_util/DiffMultiFab/diffmultifab.cpp:23–129  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

21}
22
23int main(int argc, char* argv[])
24{
25 amrex::Initialize(argc,argv);
26 {
27 if (argc < 3) {
28 print_usage(argc,argv);
29 }
30
31 const std::string farg = amrex::get_command_argument(1);
32 if (farg == "-h" || farg == "--help")
33 {
34 print_usage(argc, argv);
35 }
36
37 std::string name1, name2;
38 int ngrow = -1;
39 {
40 ParmParse pp;
41 pp.get("infile1", name1);
42 pp.get("infile2", name2);
43 pp.query("ngrow", ngrow);
44 }
45
46 MultiFab mf1, mf2;
47
48 Print() << "Reading " << name1 << std::endl;
49 VisMF::Read(mf1, name1);
50
51 Print() << "Reading " << name2 << std::endl;
52 VisMF::Read(mf2, name2);
53
54 if (ngrow < 0) {
55 ngrow = std::min(mf1.nGrow(), mf2.nGrow());
56 }
57 if (ngrow > mf1.nGrow()) {
58 Abort(" ngrow bigger than infile1's ngrow! ");
59 }
60 if (ngrow > mf2.nGrow()) {
61 Abort(" ngrow bigger than infile2's ngrow! ");
62 }
63 bool same_boxarray = mf1.boxArray() == mf2.boxArray();
64 if (! same_boxarray) {
65 if (ParallelDescriptor::IOProcessor()) {
66 Warning("The two multifabs have different BoxArrays.");
67 }
68 AMREX_ALWAYS_ASSERT(mf1.boxArray().ixType() == mf2.boxArray().ixType() &&
69 mf1.boxArray().contains(mf2.boxArray()) &&
70 mf2.boxArray().contains(mf1.boxArray()));
71 }
72
73 const int ncomp = mf1.nComp();
74
75 std::vector<Real> mf1_min(ncomp);
76 std::vector<Real> mf1_max(ncomp);
77 std::vector<Real> mf2_min(ncomp);
78 std::vector<Real> mf2_max(ncomp);
79
80 for (int icomp = 0; icomp < ncomp; ++icomp) {

Callers

nothing calls this directly

Calls 15

PrintClass · 0.85
ReadFunction · 0.85
AbortFunction · 0.85
IOProcessorFunction · 0.85
CopyFunction · 0.85
SubtractFunction · 0.85
DistributionMapMethod · 0.80
print_usageFunction · 0.70
InitializeFunction · 0.50
WriteFunction · 0.50
FinalizeFunction · 0.50
getMethod · 0.45

Tested by

no test coverage detected