Moisè Asta

mois23

About Me

Connect

LOCATION
Not Specified
WEBSITE

Houdini Skills

Availability

Not Specified

Recent Forum Posts

How GAS_ProjectNonDivergent node works? Oct. 30, 2025, 6:19 a.m.

Hi There,

I'm just getting started with HDK and wanted to understand a couple of things. Specifically, I'm studying the methods Houdini uses to make a field (vel) divergent-free. Basically, I'd like to rebuild a very simple ProjectNonDivergent node with some basic operations (matrix construction, application of the Conjugate Gradient Method with precondition, etc.), but first I wanted to try reading the source code to understand its structure and the calculations it performs. All for educational purposes only.

Among the installation files, I can only see the header
\toolkit\include\GAS\GAS_ProjectNonDivergent.h
but nothing about any C code.

Would someone be kind enough to tell me if I can find pseudocode or basic code online to understand how it works in Houdini?

Any help would be great

Many thanks!

Compute weighted average of nearby particle velocities April 11, 2025, 9:31 a.m.

Seriously, no one?

The question is simple after all.. Does the Gas Particle to Field already do a weighted trilinear interpolation when it splats the particles onto the grid?

Compute weighted average of nearby particle velocities March 29, 2025, 2:22 p.m.

Hi Everyone

I'm studying the FLIP solver a bit in depth in my free time, going node by node and reading a bit of theory. However, there is a part that I can't understand and I hope you can help me understand the logic. I often read in the literature that in transferring velocities from Lagrangian particles (v@v attribute) to Eulerian grids (v@vel field) a sort of weighted average is made taking into account the velocities of the nearby particles.

Example: https://nccastaff.bournemouth.ac.uk/jmacey/MastersProject/MSc12/Ioannidis/Thesis.pdf [nccastaff.bournemouth.ac.uk] (page 43), here an abstract:






In other more detailed cases the kernel functions are described numerically, for example:

https://nccastaff.bournemouth.ac.uk/jmacey/MastersProject/MSc16/01/thesis.pdf [nccastaff.bournemouth.ac.uk] (page 12)




Or http://alexey.stomakhin.com/research/siggraph2013_snow.pdf [alexey.stomakhin.com]






Given this, let's say I have a point cloud with certain attributes (v@v, @mass, @pscale), my main questions are:

- Does the Gas Particle to Field, when rasterizing the velocities of a point cloud, already perform a weighted average taking into account the velocities of nearby particles like described in above abstracts?

- If so, how and what are the mathematical operations behind each option? For example, reading the houdini documentation, does the Accumulated option take into account these kernel functions:



- What could be a code/pseudo-code to compute the weighted average of the contribution of nearby particles based on their mass, their distance from the current evaluated cell using a kernel function of a specified radius?

- If I wanted to "build" a Gas Particle to Field from scratch, for example to implement the functions and methods proposed in the literature (like the ones proposed above) in which language would it be possible to do it? VEX, Python, OpenCL, C++?



Any information will be really useful, thank you very much everyone.