fluid_advect   xtlang


Defined in:  https://github.com/digego/extempore/tree/v0.8.9/examples/contrib/fluids_2d.xtm

Implementation

(bind-func fluid_advect
  (lambda (b:i64 d:double* d0:double* velocx:double* velocy:double* dt:double Ny:i64 N:i64)
    (let ((n_1 (i64tod (- N 1)))
          (dtx (* dt n_1))
          (dty (* dt n_1))
          (jfloat 0.0) (ifloat 0.0)
          (s0 0.0) (s1 0.0) (t0 0.0) (t1 0.0)
          (i0 0.0) (i0i 0) (i1 0.0) (i1i 0)
          (j0 0.0) (j0i 0) (j1 0.0) (j1i 0)
          (j:i64 0) (i:i64 0)
          (tmp1 0.0) (tmp2 0.0) (tmp3 0.0)
          (x 0.0) (y 0.0) (z 0.0)
          (Nfloat (i64tod N)))
      (dotimes (j (- Ny 1))
        (set! jfloat (+ jfloat 1.0))
        (set! ifloat 0.0)
        (dotimes (i (- N 1))
          (set! ifloat (+ ifloat 1.0))
          (set! tmp1 (* dtx (pref velocx (+ (+ i 1) (* (+ j 1) N)))))
          (set! tmp2 (* dty (pref velocy (+ (+ i 1) (* (+ j 1) N)))))
          (set! x (- ifloat tmp1))
          (set! y (- jfloat tmp2))


Back to Index

Similar Entries

  • fluid-advect    xtlang
  • fluid-advect    xtlang
  • fluid-cube-add-density    xtlang
  • fluid-cube-add-density    xtlang
  • fluid-cube-add-velocity    xtlang
  • fluid-cube-add-velocity    xtlang
  • fluid-cube-create    xtlang
  • fluid-cube-create    xtlang
  • fluid-cube-get-column    xtlang
  • fluid-cube-get-first-column    xtlang
  • fluid-cube-get-first-row    xtlang
  • fluid-cube-get-last-column    xtlang
  • fluid-cube-get-last-row    xtlang
  • fluid-cube-get-row    xtlang
  • fluid-cube-set-column    xtlang
  • fluid-cube-set-first-column    xtlang
  • fluid-cube-set-first-row    xtlang
  • fluid-cube-set-last-column    xtlang
  • fluid-cube-set-last-row    xtlang
  • fluid-cube-set-row    xtlang
  • fluid-diffuse    xtlang
  • fluid-diffuse    xtlang
  • fluid-fsc-1    xtlang
  • fluid-fsc-2    xtlang
  • fluid-ix    xtlang
  • fluid-ix    xtlang
  • fluid-lin-solve    xtlang
  • fluid-lin-solve    xtlang
  • fluid-project    xtlang
  • fluid-project    xtlang
  • fluid-set-boundary    xtlang
  • fluid-set-boundary    xtlang
  • fluid-set-boundary    xtlang
  • fluid-step-cube    xtlang
  • fluid-step-cube    xtlang
  • fluid_cube_add_density    xtlang
  • fluid_cube_add_velocity    xtlang
  • fluid_cube_create    xtlang
  • fluid_diffuse    xtlang
  • fluid_fsc    xtlang
  • fluid_ix    xtlang
  • fluid_lin_solve    xtlang
  • fluid_project    xtlang
  • fluid_set_boundary    xtlang
  • fluid_step_cube    xtlang
  • get-fluid-cube    xtlang
  • get-fluid-cube-1    xtlang
  • get-fluid-cube-2    xtlang
  • get_fluid_cube    xtlang
  • send-fluid-column-osc    xtlang
  • send-fluid-first-column-osc    xtlang
  • send-fluid-first-row-osc    xtlang
  • send-fluid-last-row-osc    xtlang
  • send-fluid-row-osc    xtlang
  • update-fluid-sym-state    xtlang