Comments (3)
In pressureSolve it uses computeDensityAdv which calculates the exact same thing as computeDensityChange
That is not correct. computeDensityAdv computes the advected density, i.e. a preview of the density at time t+h (first equation in section 3.3). computeDensityChange computes the divergence of the velocity field (equation 6 in the paper). So the first is a density and the second the density derived wrt. t.
The computation of the solvers is the same since the matrix on the left hand side is equal, only the right hand side of the linear system changes.
from splishsplash.
In computeDensityAdv:
densityAdv = density + h*delta;
densityAdv = max(densityAdv, density0);
In computeDensityChange:
densityAdv = density + h*densityAdv;
densityAdv = max(densityAdv, density0);
densityAdv = (densityAdv - density0) * (1.0 / h);
The value of delta and densityAdv are calculated exactly the same in both functions so the only difference is the last line in computeDensityChange. Looking at how the final value is used in pressureSolve (which uses computeDensityAdv):
const Real b_i = m_simulationData.getDensityAdv(i) - density0;
const Real ki = b_i*m_simulationData.getFactor(i);
And how factor is adjusted for the pressureSolve:
m_simulationData.getFactor(i) *= invH2;
vs how factor is adjusted for the divergenceSolve:
m_simulationData.getFactor(i) *= invH;
(this gets multiplied back out at the end of the divergenceSolve to reset the factor)
k_i ends up being the same value for both solvers.
from splishsplash.
Maybe there is a bug in the open-source implementation. I will check this. Unfortunately, this will take a while since currently I have not much time for the maintainance of the open-source libraries.
from splishsplash.
Related Issues (20)
- rigid-rigid contact
- Kinematic Viscosity for Weiler 2018
- A compile error and how to solve it HOT 2
- Water column loses volume without increase in density with WCSPH
- Installation does not work using instructions in docs
- Add arm64 Apple Mac M1 architecture to the build matrix
- Benchmarks using different CPUs, GPUs and RAM size.
- deformable solids attached to rigid bodies
- Adding a cff file for citation
- windows GUI interface is not stable HOT 5
- Get force and torque applied to rigid body by fluid
- Installing python bindings after building from source fails due to already existing "build" directory
- .bgeo output files not working with houdini or vray HOT 3
- About the boundary handling with MLS in DFSPH
- Defining a Big geometry in one file and want from splishsplash to recognize all the parts HOT 4
- Example on how to read rigid body bin files
- Windows CMake issue HOT 4
- Running splishsplash in DOS environment
- MySPH does not work in pySPlisHSPlasH HOT 2
- How to Change Phase
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 splishsplash.