#include <TransientNavierStokesSolver.hpp>
|
| TransientNavierStokesSolver (const json &solver_param) |
|
void | minimize (const int n_bases, const int n_pressure_bases, const double t, const std::vector< basis::ElementBases > &bases, const std::vector< basis::ElementBases > &gbases, assembler::NavierStokesVelocity &velocity_assembler, const assembler::AssemblyValsCache &ass_vals_cache, const std::vector< int > &boundary_nodes, const bool use_avg_pressure, const int problem_dim, const bool is_volume, const double beta_dt, const Eigen::VectorXd &prev_sol, const StiffnessMatrix &velocity_stiffness, const StiffnessMatrix &mixed_stiffness, const StiffnessMatrix &pressure_stiffness, const StiffnessMatrix &velocity_mass1, const Eigen::MatrixXd &rhs, Eigen::VectorXd &x) |
|
void | get_info (json ¶ms) |
|
int | error_code () const |
|
|
int | minimize_aux (const bool is_picard, const std::vector< int > &skipping, const int n_bases, const int n_pressure_bases, const double t, const std::vector< basis::ElementBases > &bases, const std::vector< basis::ElementBases > &gbases, assembler::NavierStokesVelocity &velocity_assembler, const assembler::AssemblyValsCache &ass_vals_cache, const std::vector< int > &boundary_nodes, const bool use_avg_pressure, const int problem_dim, const bool is_volume, const StiffnessMatrix &velocity_stiffness, const StiffnessMatrix &mixed_stiffness, const StiffnessMatrix &pressure_stiffness, const StiffnessMatrix &velocity_mass, const Eigen::VectorXd &rhs, const double grad_norm, std::unique_ptr< polysolve::linear::Solver > &solver, double &nlres_norm, Eigen::VectorXd &x) |
|
bool | has_nans (const polyfem::StiffnessMatrix &hessian) |
|
◆ TransientNavierStokesSolver()
polyfem::solver::TransientNavierStokesSolver::TransientNavierStokesSolver |
( |
const json & |
solver_param | ) |
|
◆ error_code()
int polyfem::solver::TransientNavierStokesSolver::error_code |
( |
| ) |
const |
|
inline |
◆ get_info()
void polyfem::solver::TransientNavierStokesSolver::get_info |
( |
json & |
params | ) |
|
|
inline |
◆ has_nans()
◆ minimize()
void polyfem::solver::TransientNavierStokesSolver::minimize |
( |
const int |
n_bases, |
|
|
const int |
n_pressure_bases, |
|
|
const double |
t, |
|
|
const std::vector< basis::ElementBases > & |
bases, |
|
|
const std::vector< basis::ElementBases > & |
gbases, |
|
|
assembler::NavierStokesVelocity & |
velocity_assembler, |
|
|
const assembler::AssemblyValsCache & |
ass_vals_cache, |
|
|
const std::vector< int > & |
boundary_nodes, |
|
|
const bool |
use_avg_pressure, |
|
|
const int |
problem_dim, |
|
|
const bool |
is_volume, |
|
|
const double |
beta_dt, |
|
|
const Eigen::VectorXd & |
prev_sol, |
|
|
const StiffnessMatrix & |
velocity_stiffness, |
|
|
const StiffnessMatrix & |
mixed_stiffness, |
|
|
const StiffnessMatrix & |
pressure_stiffness, |
|
|
const StiffnessMatrix & |
velocity_mass1, |
|
|
const Eigen::MatrixXd & |
rhs, |
|
|
Eigen::VectorXd & |
x |
|
) |
| |
Definition at line 31 of file TransientNavierStokesSolver.cpp.
References assembly_time, gradNorm, inverting_time, polyfem::logger(), polyfem::assembler::AssemblerUtils::merge_mixed_matrices(), minimize_aux(), polyfem::assembler::NavierStokesVelocity::name(), solver_info, solver_param, stokes_matrix_time, stokes_solve_time, and x.
Referenced by polyfem::State::solve_transient_navier_stokes().
◆ minimize_aux()
int polyfem::solver::TransientNavierStokesSolver::minimize_aux |
( |
const bool |
is_picard, |
|
|
const std::vector< int > & |
skipping, |
|
|
const int |
n_bases, |
|
|
const int |
n_pressure_bases, |
|
|
const double |
t, |
|
|
const std::vector< basis::ElementBases > & |
bases, |
|
|
const std::vector< basis::ElementBases > & |
gbases, |
|
|
assembler::NavierStokesVelocity & |
velocity_assembler, |
|
|
const assembler::AssemblyValsCache & |
ass_vals_cache, |
|
|
const std::vector< int > & |
boundary_nodes, |
|
|
const bool |
use_avg_pressure, |
|
|
const int |
problem_dim, |
|
|
const bool |
is_volume, |
|
|
const StiffnessMatrix & |
velocity_stiffness, |
|
|
const StiffnessMatrix & |
mixed_stiffness, |
|
|
const StiffnessMatrix & |
pressure_stiffness, |
|
|
const StiffnessMatrix & |
velocity_mass, |
|
|
const Eigen::VectorXd & |
rhs, |
|
|
const double |
grad_norm, |
|
|
std::unique_ptr< polysolve::linear::Solver > & |
solver, |
|
|
double & |
nlres_norm, |
|
|
Eigen::VectorXd & |
x |
|
) |
| |
|
private |
◆ assembly_time
double polyfem::solver::TransientNavierStokesSolver::assembly_time |
|
private |
◆ gradNorm
double polyfem::solver::TransientNavierStokesSolver::gradNorm |
|
private |
◆ internal_solver
json polyfem::solver::TransientNavierStokesSolver::internal_solver = json::array() |
|
private |
◆ inverting_time
double polyfem::solver::TransientNavierStokesSolver::inverting_time |
|
private |
◆ iterations
int polyfem::solver::TransientNavierStokesSolver::iterations |
|
private |
◆ solver_info
json polyfem::solver::TransientNavierStokesSolver::solver_info |
|
private |
◆ solver_param
const json polyfem::solver::TransientNavierStokesSolver::solver_param |
|
private |
◆ stokes_matrix_time
double polyfem::solver::TransientNavierStokesSolver::stokes_matrix_time |
|
private |
◆ stokes_solve_time
double polyfem::solver::TransientNavierStokesSolver::stokes_solve_time |
|
private |
The documentation for this class was generated from the following files: