cs481-ekh / s24-meshers

MIT License
0 stars 0 forks source link

Test PcCoarsen2D.cpp #74

Open WorkGitAccount opened 4 months ago

WorkGitAccount commented 4 months ago

References #18

The constructor in the preprocessing phase calls the cyPackage through PcCoarsen2D.cpp.

Test and verify behavior in python.

WorkGitAccount commented 4 months ago

Stepped through matlab debugger paying attention to the constructor.

PcCoarsen2D is called in just one line of code in the constructor. Can export matlab data at certain break points to create expected test data like how it is done in other tasks. Input data can be generated in python with the squarepoisson provided function.

The rewrite of PcCoarsen in #25 needs to be finished and working to proceed.

[t:30]

WorkGitAccount commented 3 months ago

X and Y data is sometimes flipped compared to matlab expected data. Possibly an ordering difference between languages.

The discrete case gave slightly inconsistent results after coarsening. Could be a datatype issue or rounding error. Will investigate these issues with larger test cases.

[t:30]

seanbsu commented 3 months ago

[t:120]

WorkGitAccount commented 3 months ago

Added more discrete test case and code to track down inconsistencies. Want to verify other cases from the gallery example data as well.

[t:60]

WorkGitAccount commented 3 months ago

Tested Coarsen from 64->16 by Sorting [x,y] ascending by x first then by y. Then compare np.allclose() with expected to python output after coarsening. One [x,y] point in the list is different between matlab and python. Demonstrated by RunPcCoarsen.py.

Could be a weighted rounding discrepancy with data types between languages

With the anomaly here, cannot guarantee test cases will pass.

[t:120]