6#include <pybind11/numpy.h>
42 const double quadratic_term
46 double diffusion_sum = 0.0;
48 for (
auto j_wire=0; j_wire<cell_wiring.size(); j_wire++)
50 const auto j_neighbor_cell = cell_wiring[j_wire];
51 diffusion_sum += density[j_neighbor_cell];
53 const auto diffusion_term = (
55 - cell_wiring.size()*density[i_cell])
58 return diffusion_term + quadratic_term;
grid_t density_grid
Density field grid.
double dt
Time step, i.e, epoch-to-epoch Δt.
int n_cells
Total number of cells in n-D grid.
grid_t aux_grid1
Temporary density grid used to perform an integration step.
grid_wiring_t grid_wiring
Neighorhood topology for all grid cells.
grid_t aux_grid2
Temporary density grid used to perform an integration step.
grid_t k1_grid
Runge-Kutta variable grid #1.
grid_t k2_grid
Runge-Kutta variable grid #2.
grid_t k3_grid
Runge-Kutta variable grid #3.
double dx
Grid spacing, i.e., spacing Δx between cell centers in all directions.
void set_nonlinear_coefficients(const Coefficients &coefficients)
Method to set nonlinear coefficients for deterministic integration step.
double nonlinear_rhs(const int i_cell, const grid_t &density) const
Method to set nonlinear RHS of Langevin equation for deterministic integration step.
double diffusion_coefficient
Diffusion coefficient D in DP-Langevin equation.
double quadratic_coefficient
Coefficient in nonlinear term -bρ² in DP-Langevin equation.
DPLangevin()=default
Constructor assuming default model parameters.
DPLangevin model application of BaseLangevin class integrator.
std::vector< double > grid_t
Type for density grid.
std::vector< int > neighborhood_t
Type for density grid wiring.
Container for nonlinear Langevin equation coefficients.
Container for BaseLangevin integrator parameters.