Point 1. (non-trivial geometries) is one of the reasons why most CFD systems have a separate, heavy-duty preprocessing stage dedicated to help users design said geometries and make them “accessible” to the method. The problem for us is that the vast majority of the “tools of the trade” are dedicated to mesh-based methods (especially the finite elements method, FEM) and are thus not useful for particle methods such as #SPH.

There's still a lot of ongoing research on how to “optimally” fill arbtirary geometries with particles for these applications (see for example a recent work by the #SPHinXsys team on the topic <https://doi.org/10.1016/j.cpc.2023.108744>): although superficially one could think that this is a simple extension of what is used for the standard meshes (which is almost true as long as one sticks to a single layer of boundary particles) things devolve pretty quickly when multiple layers are needed (which is the case for many solid boundary models in #SmoothedParticleHydrodynamics) or a complete fill to be achieved in a way that respect a number of equilibrium conditions that should be satisfied at the beginning of the simulation. (And remember: you might need to do both an “outer” and an “inner” fill for the same geometry, putting fluid particles on one side, and boundary particles on the other).

2/