I would say 3d Poisson solver with FEM (finite element methods) is best suited for the problem.
there is no complicated equation and we only need to satisfy boundary conditions which are given as fixed values.
the number of points is not very large (hence the speed of a traditional solver is quite fast).
geometry is not complex (at least for the given test “x” structure).
I wonder what is the advantage deep learning network for this case. will they get more accurate results?
(i know deep networks can run faster and more accurately generally, but for this simple test case, do we need a deep network?)
will there be other new test data later? Is there more information about the hidden holdout data (final evaluation)? e,g, how many points? what kind of complexity? I need the access the complexity of meshing etc. It seems that the competition host will run our notebook, Then how much time (minutes, hours?)are we given to generation solution from holdout data? What GPU, RAM , etc ???
my basic approach to stage3
solution from fenics
there are many resources, e.g. youtube, pdf book for self-learning
try mix solution from pytorch + fenics
e.g. GitHub - barkm/torch-fenics: PyTorch-FEniCS interface
There are some papers i find for mixed approach, i will update later
try pure pytorch solution
keywords : FEM, 3d Poisson solver, PBE, LBM, physics informed NN, PDE
You are welcome to use any method to solve Stage 3. We have observed that FEM can struggle to get to the resolution we need. However, we are happy to be proven wrong.
As for more test examples, if we see solutions stagnate or there is a further discussion here on the forum, we could consider adding some more structures.
The holdout data for Stage 3 will be a series of new structures with only one or two slices with the charge information. Any solution a participant builds should be generalizable enough to encounter a diversity of shapes.
would it be better that the cell connectivity is also given?
(i.e. the xxx.mesh file is given)
or alternatively, each 3d point in the csv file should be labelled as boundary or not. in this case we can write our own code to convert point to mesh.
i think most algorithm needs input mesh (rather than just 3d points), e.g FEM, graph-CNN. It is not easy to perform delaunay 3D, especially when the boundary and holes are given text description, e.g. “boundary-conditions-train-Stage3-Future-in-Charges.txt”. Hence the user has to write different code to process the 3d points.
for example, it says:
... at cone walls
then we need to write code to find the cone walls.
... submerged ball 1 (center at (0.5, 0, 0), r=0.2)
again we write different code to find the sphere boundaries
in the end, the code may not be generalize well to different input structures. i would like to have one code to different input.