PolyFEM
Loading...
Searching...
No Matches
polyfem::solver::OperatorSplittingSolver Class Reference

#include <OperatorSplittingSolver.hpp>

Public Member Functions

void initialize_grid (const mesh::Mesh &mesh, const std::vector< basis::ElementBases > &gbases, const std::vector< basis::ElementBases > &bases, const double &density_dx)
 
void initialize_mesh (const mesh::Mesh &mesh, const int shape, const int n_el, const std::vector< mesh::LocalBoundary > &local_boundary)
 
void initialize_hashtable (const mesh::Mesh &mesh)
 
 OperatorSplittingSolver ()
 
void initialize_solver (const mesh::Mesh &mesh, const int shape_, const int n_el_, const std::vector< mesh::LocalBoundary > &local_boundary, const std::vector< int > &bnd_nodes)
 
 OperatorSplittingSolver (const mesh::Mesh &mesh, const int shape, const int n_el, const std::vector< mesh::LocalBoundary > &local_boundary, const std::vector< int > &bnd_nodes)
 
 OperatorSplittingSolver (const mesh::Mesh &mesh, const int shape, const int n_el, const std::vector< mesh::LocalBoundary > &local_boundary, const std::vector< int > &boundary_nodes_, const std::vector< int > &pressure_boundary_nodes, const std::vector< int > &bnd_nodes, const StiffnessMatrix &mass, const StiffnessMatrix &stiffness_viscosity, const StiffnessMatrix &stiffness_velocity, const StiffnessMatrix &mass_velocity, const double &dt, const double &viscosity_, const json &params)
 
int handle_boundary_advection (RowVectorNd &pos)
 
int trace_back (const std::vector< basis::ElementBases > &gbases, const std::vector< basis::ElementBases > &bases, const RowVectorNd &pos_1, const RowVectorNd &vel_1, RowVectorNd &pos_2, RowVectorNd &vel_2, Eigen::MatrixXd &local_pos, const Eigen::MatrixXd &sol, const double dt)
 
int interpolator (const std::vector< basis::ElementBases > &gbases, const std::vector< basis::ElementBases > &bases, const RowVectorNd &pos, RowVectorNd &vel, Eigen::MatrixXd &local_pos, const Eigen::MatrixXd &sol)
 
void interpolator (const RowVectorNd &pos, double &val)
 
void advection (const mesh::Mesh &mesh, const std::vector< basis::ElementBases > &gbases, const std::vector< basis::ElementBases > &bases, Eigen::MatrixXd &sol, const double dt, const Eigen::MatrixXd &local_pts, const int order=1, const int RK=1)
 
void advect_density_exact (const std::vector< basis::ElementBases > &gbases, const std::vector< basis::ElementBases > &bases, const std::shared_ptr< assembler::Problem > problem, const double t, const double dt, const int RK=3)
 
void advect_density (const std::vector< basis::ElementBases > &gbases, const std::vector< basis::ElementBases > &bases, const Eigen::MatrixXd &sol, const double dt, const int RK=3)
 
void advection_FLIP (const mesh::Mesh &mesh, const std::vector< basis::ElementBases > &gbases, const std::vector< basis::ElementBases > &bases, Eigen::MatrixXd &sol, const double dt, const Eigen::MatrixXd &local_pts, const int order=1)
 
void advection_PIC (const mesh::Mesh &mesh, const std::vector< basis::ElementBases > &gbases, const std::vector< basis::ElementBases > &bases, Eigen::MatrixXd &sol, const double dt, const Eigen::MatrixXd &local_pts, const int order=1)
 
void solve_diffusion_1st (const StiffnessMatrix &mass, const std::vector< int > &bnd_nodes, Eigen::MatrixXd &sol)
 
void external_force (const mesh::Mesh &mesh, const assembler::Assembler &assembler, const std::vector< basis::ElementBases > &gbases, const std::vector< basis::ElementBases > &bases, const double dt, Eigen::MatrixXd &sol, const Eigen::MatrixXd &local_pts, const std::shared_ptr< assembler::Problem > problem, const double time)
 
void solve_pressure (const StiffnessMatrix &mixed_stiffness, const std::vector< int > &pressure_boundary_nodes, Eigen::MatrixXd &sol, Eigen::MatrixXd &pressure)
 
void projection (const StiffnessMatrix &velocity_mass, const StiffnessMatrix &mixed_stiffness, const std::vector< int > &boundary_nodes_, Eigen::MatrixXd &sol, const Eigen::MatrixXd &pressure)
 
void projection (int n_bases, const std::vector< basis::ElementBases > &gbases, const std::vector< basis::ElementBases > &bases, const std::vector< basis::ElementBases > &pressure_bases, const Eigen::MatrixXd &local_pts, Eigen::MatrixXd &pressure, Eigen::MatrixXd &sol)
 
void initialize_density (const std::shared_ptr< assembler::Problem > &problem)
 
long search_cell (const std::vector< basis::ElementBases > &gbases, const RowVectorNd &pos, Eigen::MatrixXd &local_pts)
 
bool outside_quad (const std::vector< RowVectorNd > &vert, const RowVectorNd &pos)
 
void compute_gbase_val (const int elem_idx, const Eigen::MatrixXd &local_pos, Eigen::MatrixXd &pos)
 
void compute_gbase_jacobi (const int elem_idx, const Eigen::MatrixXd &local_pos, Eigen::MatrixXd &jacobi)
 
void calculate_local_pts (const basis::ElementBases &gbase, const int elem_idx, const RowVectorNd &pos, Eigen::MatrixXd &local_pos)
 
void save_density ()
 

Public Attributes

int dim
 
int n_el
 
int shape
 
RowVectorNd min_domain
 
RowVectorNd max_domain
 
Eigen::MatrixXd V
 
Eigen::MatrixXi T
 
std::vector< std::vector< long > > hash_table
 
Eigen::Matrix< long, Eigen::Dynamic, 1, Eigen::ColMajor, 3, 1 > hash_table_cell_num
 
std::vector< Eigen::Matrix< double, 1, Eigen::Dynamic, Eigen::RowMajor, 1, 3 > > position_particle
 
std::vector< Eigen::Matrix< double, 1, Eigen::Dynamic, Eigen::RowMajor, 1, 3 > > velocity_particle
 
std::vector< int > cellI_particle
 
Eigen::MatrixXd new_sol
 
Eigen::MatrixXd new_sol_w
 
std::vector< int > boundary_elem_id
 
std::vector< int > boundary_nodes
 
std::unique_ptr< polysolve::linear::Solver > solver_diffusion
 
std::unique_ptr< polysolve::linear::Solver > solver_projection
 
std::unique_ptr< polysolve::linear::Solver > solver_mass
 
StiffnessMatrix mat_diffusion
 
StiffnessMatrix mat_projection
 
Eigen::VectorXd density
 
Eigen::Matrix< double, 1, Eigen::Dynamic, Eigen::RowMajor, 1, 3 > grid_cell_num
 
double resolution
 

Detailed Description

Definition at line 21 of file OperatorSplittingSolver.hpp.

Constructor & Destructor Documentation

◆ OperatorSplittingSolver() [1/3]

polyfem::solver::OperatorSplittingSolver::OperatorSplittingSolver ( )
inline

Definition at line 35 of file OperatorSplittingSolver.hpp.

◆ OperatorSplittingSolver() [2/3]

polyfem::solver::OperatorSplittingSolver::OperatorSplittingSolver ( const mesh::Mesh mesh,
const int  shape,
const int  n_el,
const std::vector< mesh::LocalBoundary > &  local_boundary,
const std::vector< int > &  bnd_nodes 
)

Definition at line 153 of file OperatorSplittingSolver.cpp.

References initialize_solver(), n_el, and shape.

Here is the call graph for this function:

◆ OperatorSplittingSolver() [3/3]

polyfem::solver::OperatorSplittingSolver::OperatorSplittingSolver ( const mesh::Mesh mesh,
const int  shape,
const int  n_el,
const std::vector< mesh::LocalBoundary > &  local_boundary,
const std::vector< int > &  boundary_nodes_,
const std::vector< int > &  pressure_boundary_nodes,
const std::vector< int > &  bnd_nodes,
const StiffnessMatrix mass,
const StiffnessMatrix stiffness_viscosity,
const StiffnessMatrix stiffness_velocity,
const StiffnessMatrix mass_velocity,
const double &  dt,
const double &  viscosity_,
const json params 
)

Definition at line 161 of file OperatorSplittingSolver.cpp.

References initialize_solver(), polyfem::logger(), mat_diffusion, mat_projection, n_el, shape, solver_diffusion, solver_mass, solver_projection, and val.

Here is the call graph for this function:

Member Function Documentation

◆ advect_density()

void polyfem::solver::OperatorSplittingSolver::advect_density ( const std::vector< basis::ElementBases > &  gbases,
const std::vector< basis::ElementBases > &  bases,
const Eigen::MatrixXd &  sol,
const double  dt,
const int  RK = 3 
)

Definition at line 481 of file OperatorSplittingSolver.cpp.

References density, dim, grid_cell_num, interpolator(), min_domain, and resolution.

Here is the call graph for this function:

◆ advect_density_exact()

void polyfem::solver::OperatorSplittingSolver::advect_density_exact ( const std::vector< basis::ElementBases > &  gbases,
const std::vector< basis::ElementBases > &  bases,
const std::shared_ptr< assembler::Problem problem,
const double  t,
const double  dt,
const int  RK = 3 
)

Definition at line 408 of file OperatorSplittingSolver.cpp.

References density, dim, grid_cell_num, interpolator(), min_domain, and resolution.

Here is the call graph for this function:

◆ advection()

void polyfem::solver::OperatorSplittingSolver::advection ( const mesh::Mesh mesh,
const std::vector< basis::ElementBases > &  gbases,
const std::vector< basis::ElementBases > &  bases,
Eigen::MatrixXd &  sol,
const double  dt,
const Eigen::MatrixXd &  local_pts,
const int  order = 1,
const int  RK = 1 
)

Definition at line 354 of file OperatorSplittingSolver.cpp.

References dim, interpolator(), n_el, and new_sol.

Referenced by polyfem::State::solve_transient_navier_stokes_split().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ advection_FLIP()

void polyfem::solver::OperatorSplittingSolver::advection_FLIP ( const mesh::Mesh mesh,
const std::vector< basis::ElementBases > &  gbases,
const std::vector< basis::ElementBases > &  bases,
Eigen::MatrixXd &  sol,
const double  dt,
const Eigen::MatrixXd &  local_pts,
const int  order = 1 
)

Definition at line 554 of file OperatorSplittingSolver.cpp.

References polyfem::assembler::ElementAssemblyValues::basis_values, calculate_local_pts(), cellI_particle, polyfem::assembler::ElementAssemblyValues::compute(), dim, n_el, new_sol, new_sol_w, position_particle, shape, trace_back(), vals, velocity_particle, and x.

Referenced by polyfem::State::solve_transient_navier_stokes_split().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ advection_PIC()

void polyfem::solver::OperatorSplittingSolver::advection_PIC ( const mesh::Mesh mesh,
const std::vector< basis::ElementBases > &  gbases,
const std::vector< basis::ElementBases > &  bases,
Eigen::MatrixXd &  sol,
const double  dt,
const Eigen::MatrixXd &  local_pts,
const int  order = 1 
)

Definition at line 789 of file OperatorSplittingSolver.cpp.

References polyfem::assembler::ElementAssemblyValues::basis_values, polyfem::mesh::Mesh::cell_vertex(), cellI_particle, polyfem::assembler::ElementAssemblyValues::compute(), dim, gvals, n_el, new_sol, new_sol_w, polyfem::mesh::Mesh::point(), position_particle, shape, trace_back(), vals, and velocity_particle.

Here is the call graph for this function:

◆ calculate_local_pts()

void polyfem::solver::OperatorSplittingSolver::calculate_local_pts ( const basis::ElementBases gbase,
const int  elem_idx,
const RowVectorNd pos,
Eigen::MatrixXd &  local_pos 
)

Definition at line 1273 of file OperatorSplittingSolver.cpp.

References dim, polyfem::basis::ElementBases::eval_geom_mapping(), polyfem::basis::ElementBases::eval_geom_mapping_grads(), and shape.

Referenced by advection_FLIP(), interpolator(), and search_cell().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_gbase_jacobi()

void polyfem::solver::OperatorSplittingSolver::compute_gbase_jacobi ( const int  elem_idx,
const Eigen::MatrixXd &  local_pos,
Eigen::MatrixXd &  jacobi 
)

Definition at line 1216 of file OperatorSplittingSolver.cpp.

References dim, shape, T, V, x, y, and z.

◆ compute_gbase_val()

void polyfem::solver::OperatorSplittingSolver::compute_gbase_val ( const int  elem_idx,
const Eigen::MatrixXd &  local_pos,
Eigen::MatrixXd &  pos 
)

Definition at line 1169 of file OperatorSplittingSolver.cpp.

References dim, shape, T, V, x, y, and z.

◆ external_force()

void polyfem::solver::OperatorSplittingSolver::external_force ( const mesh::Mesh mesh,
const assembler::Assembler assembler,
const std::vector< basis::ElementBases > &  gbases,
const std::vector< basis::ElementBases > &  bases,
const double  dt,
Eigen::MatrixXd &  sol,
const Eigen::MatrixXd &  local_pts,
const std::shared_ptr< assembler::Problem problem,
const double  time 
)

Definition at line 947 of file OperatorSplittingSolver.cpp.

References dim, n_el, and val.

Referenced by polyfem::State::solve_transient_navier_stokes_split().

Here is the caller graph for this function:

◆ handle_boundary_advection()

int polyfem::solver::OperatorSplittingSolver::handle_boundary_advection ( RowVectorNd pos)

Definition at line 233 of file OperatorSplittingSolver.cpp.

References boundary_elem_id, dim, shape, T, and V.

Referenced by interpolator().

Here is the caller graph for this function:

◆ initialize_density()

void polyfem::solver::OperatorSplittingSolver::initialize_density ( const std::shared_ptr< assembler::Problem > &  problem)

Definition at line 1089 of file OperatorSplittingSolver.cpp.

References density, dim, grid_cell_num, min_domain, and resolution.

◆ initialize_grid()

void polyfem::solver::OperatorSplittingSolver::initialize_grid ( const mesh::Mesh mesh,
const std::vector< basis::ElementBases > &  gbases,
const std::vector< basis::ElementBases > &  bases,
const double &  density_dx 
)

Definition at line 14 of file OperatorSplittingSolver.cpp.

References density, dim, grid_cell_num, max_domain, min_domain, and resolution.

◆ initialize_hashtable()

void polyfem::solver::OperatorSplittingSolver::initialize_hashtable ( const mesh::Mesh mesh)

Definition at line 67 of file OperatorSplittingSolver.cpp.

References dim, polyfem::mesh::Mesh::get_edges(), hash_table, hash_table_cell_num, polyfem::logger(), max_domain, min_domain, T, V, x, y, and z.

Referenced by initialize_solver().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initialize_mesh()

void polyfem::solver::OperatorSplittingSolver::initialize_mesh ( const mesh::Mesh mesh,
const int  shape,
const int  n_el,
const std::vector< mesh::LocalBoundary > &  local_boundary 
)

Definition at line 32 of file OperatorSplittingSolver.cpp.

References boundary_elem_id, polyfem::mesh::Mesh::bounding_box(), polyfem::mesh::Mesh::cell_vertex(), dim, polyfem::mesh::Mesh::dimension(), max_domain, min_domain, n_el, polyfem::mesh::Mesh::n_vertices(), polyfem::mesh::Mesh::point(), shape, T, and V.

Referenced by initialize_solver().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initialize_solver()

void polyfem::solver::OperatorSplittingSolver::initialize_solver ( const mesh::Mesh mesh,
const int  shape_,
const int  n_el_,
const std::vector< mesh::LocalBoundary > &  local_boundary,
const std::vector< int > &  bnd_nodes 
)

Definition at line 140 of file OperatorSplittingSolver.cpp.

References boundary_nodes, initialize_hashtable(), initialize_mesh(), n_el, and shape.

Referenced by OperatorSplittingSolver(), and OperatorSplittingSolver().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ interpolator() [1/2]

void polyfem::solver::OperatorSplittingSolver::interpolator ( const RowVectorNd pos,
double &  val 
)

Definition at line 320 of file OperatorSplittingSolver.cpp.

References density, dim, grid_cell_num, min_domain, resolution, and val.

◆ interpolator() [2/2]

int polyfem::solver::OperatorSplittingSolver::interpolator ( const std::vector< basis::ElementBases > &  gbases,
const std::vector< basis::ElementBases > &  bases,
const RowVectorNd pos,
RowVectorNd vel,
Eigen::MatrixXd &  local_pos,
const Eigen::MatrixXd &  sol 
)

Definition at line 285 of file OperatorSplittingSolver.cpp.

References calculate_local_pts(), polyfem::assembler::ElementAssemblyValues::compute(), dim, handle_boundary_advection(), search_cell(), and vals.

Referenced by advect_density(), advect_density_exact(), advection(), and trace_back().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ outside_quad()

bool polyfem::solver::OperatorSplittingSolver::outside_quad ( const std::vector< RowVectorNd > &  vert,
const RowVectorNd pos 
)

Definition at line 1157 of file OperatorSplittingSolver.cpp.

◆ projection() [1/2]

void polyfem::solver::OperatorSplittingSolver::projection ( const StiffnessMatrix velocity_mass,
const StiffnessMatrix mixed_stiffness,
const std::vector< int > &  boundary_nodes_,
Eigen::MatrixXd &  sol,
const Eigen::MatrixXd &  pressure 
)

Definition at line 1028 of file OperatorSplittingSolver.cpp.

References solver_diffusion, and solver_mass.

Referenced by polyfem::State::solve_transient_navier_stokes_split().

Here is the caller graph for this function:

◆ projection() [2/2]

void polyfem::solver::OperatorSplittingSolver::projection ( int  n_bases,
const std::vector< basis::ElementBases > &  gbases,
const std::vector< basis::ElementBases > &  bases,
const std::vector< basis::ElementBases > &  pressure_bases,
const Eigen::MatrixXd &  local_pts,
Eigen::MatrixXd &  pressure,
Eigen::MatrixXd &  sol 
)

Definition at line 1051 of file OperatorSplittingSolver.cpp.

References polyfem::assembler::ElementAssemblyValues::compute(), dim, n_el, and vals.

Here is the call graph for this function:

◆ save_density()

void polyfem::solver::OperatorSplittingSolver::save_density ( )

Definition at line 1318 of file OperatorSplittingSolver.cpp.

References density, dim, and grid_cell_num.

◆ search_cell()

long polyfem::solver::OperatorSplittingSolver::search_cell ( const std::vector< basis::ElementBases > &  gbases,
const RowVectorNd pos,
Eigen::MatrixXd &  local_pts 
)

Definition at line 1119 of file OperatorSplittingSolver.cpp.

References calculate_local_pts(), dim, hash_table, hash_table_cell_num, max_domain, min_domain, and shape.

Referenced by interpolator().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ solve_diffusion_1st()

void polyfem::solver::OperatorSplittingSolver::solve_diffusion_1st ( const StiffnessMatrix mass,
const std::vector< int > &  bnd_nodes,
Eigen::MatrixXd &  sol 
)

Definition at line 912 of file OperatorSplittingSolver.cpp.

References dim, mat_diffusion, solver_diffusion, and x.

Referenced by polyfem::State::solve_transient_navier_stokes_split().

Here is the caller graph for this function:

◆ solve_pressure()

void polyfem::solver::OperatorSplittingSolver::solve_pressure ( const StiffnessMatrix mixed_stiffness,
const std::vector< int > &  pressure_boundary_nodes,
Eigen::MatrixXd &  sol,
Eigen::MatrixXd &  pressure 
)

Definition at line 988 of file OperatorSplittingSolver.cpp.

References mat_projection, solver_projection, and x.

Referenced by polyfem::State::solve_transient_navier_stokes_split().

Here is the caller graph for this function:

◆ trace_back()

int polyfem::solver::OperatorSplittingSolver::trace_back ( const std::vector< basis::ElementBases > &  gbases,
const std::vector< basis::ElementBases > &  bases,
const RowVectorNd pos_1,
const RowVectorNd vel_1,
RowVectorNd pos_2,
RowVectorNd vel_2,
Eigen::MatrixXd &  local_pos,
const Eigen::MatrixXd &  sol,
const double  dt 
)

Definition at line 270 of file OperatorSplittingSolver.cpp.

References interpolator().

Referenced by advection_FLIP(), and advection_PIC().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ boundary_elem_id

std::vector<int> polyfem::solver::OperatorSplittingSolver::boundary_elem_id

Definition at line 169 of file OperatorSplittingSolver.hpp.

Referenced by handle_boundary_advection(), and initialize_mesh().

◆ boundary_nodes

std::vector<int> polyfem::solver::OperatorSplittingSolver::boundary_nodes

Definition at line 170 of file OperatorSplittingSolver.hpp.

Referenced by initialize_solver().

◆ cellI_particle

std::vector<int> polyfem::solver::OperatorSplittingSolver::cellI_particle

Definition at line 165 of file OperatorSplittingSolver.hpp.

Referenced by advection_FLIP(), and advection_PIC().

◆ density

Eigen::VectorXd polyfem::solver::OperatorSplittingSolver::density

◆ dim

◆ grid_cell_num

Eigen::Matrix<double, 1, Eigen::Dynamic, Eigen::RowMajor, 1, 3> polyfem::solver::OperatorSplittingSolver::grid_cell_num

◆ hash_table

std::vector<std::vector<long> > polyfem::solver::OperatorSplittingSolver::hash_table

Definition at line 160 of file OperatorSplittingSolver.hpp.

Referenced by initialize_hashtable(), and search_cell().

◆ hash_table_cell_num

Eigen::Matrix<long, Eigen::Dynamic, 1, Eigen::ColMajor, 3, 1> polyfem::solver::OperatorSplittingSolver::hash_table_cell_num

Definition at line 161 of file OperatorSplittingSolver.hpp.

Referenced by initialize_hashtable(), and search_cell().

◆ mat_diffusion

StiffnessMatrix polyfem::solver::OperatorSplittingSolver::mat_diffusion

Definition at line 176 of file OperatorSplittingSolver.hpp.

Referenced by OperatorSplittingSolver(), and solve_diffusion_1st().

◆ mat_projection

StiffnessMatrix polyfem::solver::OperatorSplittingSolver::mat_projection

Definition at line 177 of file OperatorSplittingSolver.hpp.

Referenced by OperatorSplittingSolver(), and solve_pressure().

◆ max_domain

RowVectorNd polyfem::solver::OperatorSplittingSolver::max_domain

◆ min_domain

◆ n_el

◆ new_sol

Eigen::MatrixXd polyfem::solver::OperatorSplittingSolver::new_sol

Definition at line 166 of file OperatorSplittingSolver.hpp.

Referenced by advection(), advection_FLIP(), and advection_PIC().

◆ new_sol_w

Eigen::MatrixXd polyfem::solver::OperatorSplittingSolver::new_sol_w

Definition at line 167 of file OperatorSplittingSolver.hpp.

Referenced by advection_FLIP(), and advection_PIC().

◆ position_particle

std::vector<Eigen::Matrix<double, 1, Eigen::Dynamic, Eigen::RowMajor, 1, 3> > polyfem::solver::OperatorSplittingSolver::position_particle

Definition at line 163 of file OperatorSplittingSolver.hpp.

Referenced by advection_FLIP(), and advection_PIC().

◆ resolution

double polyfem::solver::OperatorSplittingSolver::resolution

◆ shape

◆ solver_diffusion

std::unique_ptr<polysolve::linear::Solver> polyfem::solver::OperatorSplittingSolver::solver_diffusion

◆ solver_mass

std::unique_ptr<polysolve::linear::Solver> polyfem::solver::OperatorSplittingSolver::solver_mass

Definition at line 174 of file OperatorSplittingSolver.hpp.

Referenced by OperatorSplittingSolver(), and projection().

◆ solver_projection

std::unique_ptr<polysolve::linear::Solver> polyfem::solver::OperatorSplittingSolver::solver_projection

Definition at line 173 of file OperatorSplittingSolver.hpp.

Referenced by OperatorSplittingSolver(), and solve_pressure().

◆ T

Eigen::MatrixXi polyfem::solver::OperatorSplittingSolver::T

◆ V

Eigen::MatrixXd polyfem::solver::OperatorSplittingSolver::V

◆ velocity_particle

std::vector<Eigen::Matrix<double, 1, Eigen::Dynamic, Eigen::RowMajor, 1, 3> > polyfem::solver::OperatorSplittingSolver::velocity_particle

Definition at line 164 of file OperatorSplittingSolver.hpp.

Referenced by advection_FLIP(), and advection_PIC().


The documentation for this class was generated from the following files: