Comments (7)
It's a good idea and one worth exploring, I guess the fixed position optimisation will deal with some overhead in terms of transferring the points each time, that's already there but the question is whether storing connectivity in the MUI interface is the best approach or if it should remain generic as a point cloud with the connectivity information remaining local to each solver. The big question is how far do you go in terms of storing mesh information, do you start to rely on proprietary formats, at which point are you introducing a dependancy for the library?
from mui.
Probably "mesh connectivity" is misleading. The main thing that seems useful to me is to store which points comprise the interpolation stencil rather than compute it each time (through the binning, etc.). It is a slow process to find which points within a cloud are "close" to a given point in 3D space, and for fixed meshed based simulations, this high-cost search should really only be done once.
from mui.
I did think that the next logical development of the fixed point solution was to stop the recreation of the bin structure, this is probably the next logical step for that, allow bin recreation for moving mesh problems but store the local region search, I guess the trade off is higher memory use for longer periods.
from mui.
True, there is a trade-off between memory use and CPU. But for most practical problems, recalculating the same expensive operation multiple times because it would take up some memory to store its result is a bad design choice.
from mui.
I suppose the more relevant question is how easy this issue is to address? Any feeling for this @SLongshaw ?
from mui.
Not at the moment, this should be linked to the "static points" mode of operation, it makes little sense otherwise as we can't assume a previous bin structure remains valid between frames.
Logically what needs to happen is that, rather than the created bin being destroyed (which happens for a timeframe when a "forget" command is issued), the bin object should be propagated forward after it is created for the first timeframe.
The bin object could then be extended to allow a record of the point associations, consuming more memory of course. The issue is that this is specific to the use of a certain spatial sampler, so if the associations are created for an exact sampler and then the same bin structure is queried using a Gaussian, the associations are no longer valid, so it will be necessary to make it so that each recorded set of connectivity (or associations) is specific to a sampler type in order to make the implementation general.
The first issue of storing and propagating the bin should be relatively trivial, the second issue is a larger development.
from mui.
Going to close this one as recent design decisions have really pointed to the fact that this is something MUI should avoid doing natively (that isn't to say the framework couldn't be used to push such connectivity information between solvers, just that it shouldn't be handled natively by extending the fundamental point cloud approach).
from mui.
Related Issues (20)
- fortran wrapper type error?? HOT 2
- trasfering array of string from fortran into cpp HOT 1
- configure/install as header-only HOT 1
- Fix endianness traits HOT 3
- Calling mpi_split_by_app with a single app HOT 3
- Issue with Nearest Neighbour spatial filter HOT 2
- Not find the fetch_values function implement HOT 2
- Connecting MUI applications with different starting commands HOT 4
- MUI Coupling with the Lattice Boltzmann solver Palabos freezes HOT 2
- polymorphic uniface -- ideas / opinions wanted HOT 3
- Please, guide for how to install MUI in Lammps HOT 1
- Possible bug with fetch_points/fetch_values HOT 4
- Better packaging for Python wrapper. HOT 2
- Add unit tests for Python wrapper. HOT 3
- Add interpolation filter at the sending side HOT 1
- accelerating spatial samplers HOT 1
- improve generality of RBF spatial filter
- Cmake shouldn't specify FORTRAN unless needed HOT 1
- Compiling Errors for MUI Python Wrapper on macOS Based Machine HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mui.