template<class T = real_t, int MatOrder = RowMajor>
class gismo::gsINSSolverUnsteady< T, MatOrder >
The unsteady incompressible Navier-Stokes solver.
- Template Parameters
-
T | coefficient type |
MatOrder | sparse matrix storage order (ColMajor/RowMajor) |
|
virtual void | applySolver (gsMatrix< T > &solution) |
| Solve the linear system.
|
|
int | checkGeoJacobian (int npts=-1, T dist=-1, T tol=-1) |
| Check values of jacobian near boundaries of all patches.
|
|
gsField< T > | constructSolution (int unk) const |
| Construct solution field for the unknown unk for the current solution vector.
|
|
gsINSAssemblerUnsteady< T, MatOrder > * | getAssembler () const |
| Returns a pointer to the assembler.
|
|
virtual const T | getAssemblyTime () const |
| Returns the total time spent on matrix assembly.
|
|
T | getAvgPicardIterations () const |
| Returns the average number of Picard iterations per time step.
|
|
virtual const T | getInitAssemblyTime () const |
| Returns the time of the initial matrix assembly.
|
|
unsigned | getIterationNumber () const |
| Returns the current iteration number.
|
|
gsFlowLinSystSolver< T, MatOrder > * | getLinSolver () const |
| Returns a pointer to the linear system solver.
|
|
virtual std::string | getName () |
| Retrurns the name of the class as a string.
|
|
virtual gsFlowSolverParams< T > | getParams () |
| Retrurns the solver parameters.
|
|
const gsMatrix< T > & | getSolution () const |
| Returns the current solution vector.
|
|
virtual const T | getSolverSetupTime () const |
| Returns the total time spent on linear solver setup.
|
|
virtual const T | getSolveTime () const |
| Returns the total time spent on solving of the linear systems.
|
|
| gsINSSolverUnsteady (gsFlowSolverParams< T > ¶ms) |
| Constructor.
|
|
virtual void | initialize () |
| Initialize the solver.
|
|
virtual void | initIteration () |
| Prepare for the solution process.
|
|
virtual void | initIteration (const gsSparseMatrix< T, MatOrder > &mat) |
| Prepare for the solution process.
|
|
virtual void | markDofsAsEliminatedZeros (const std::vector< gsMatrix< index_t > > &boundaryDofs, const int unk) |
| Eliminate given DOFs as homogeneous Dirichlet boundary.
|
|
virtual void | nextIteration () |
| Perform next iteration step.
|
|
virtual void | nextIteration (const unsigned numberOfIterations) |
| Perform several iteration steps.
|
|
int | numDofs () const |
| Returns the total number of DOFs (the matrix size).
|
|
virtual T | residualRelNorm () const |
| Compute and return the relative residual norm for the current solution.
|
|
virtual T | residualRelNorm (const gsMatrix< T > &solution) const |
| Compute and return the relative residual norm for the given solution.
|
|
virtual void | setSolution (const gsMatrix< T > &solVector) |
| Set a given solution vector as current solution.
|
|
T | solutionChangeRelNorm () const |
| Compute and return the relative norm of the solution change.
|
|
T | solutionChangeRelNorm (gsMatrix< T > solOld, gsMatrix< T > solNew) const |
| Compute and return the relative norm of the solution change given the two successive solutions.
|
|
void | solve (const int maxIterations, const T epsilon=1e-3, const int minIterations=1) |
| Solve the incompressible Navier-Stokes problem.
|
|
virtual void | solveGeneralizedStokes (const int maxIterations, const T epsilon, const int minIterations=1) |
| Solve the generalized Stokes problem.
|
|
virtual void | solveStokes () |
| Compute the Stokes problem and save the solution into m_solution.
|
|
virtual void | updateAssembler (bool updateSol=true) |
| Update the assembler with current solution.
|
|
virtual void | updateAssembler (const gsMatrix< T > &sol, bool updateSol=true) |
| Update the assembler with a given solution.
|
|
virtual void | writeSolChangeRelNorm (gsMatrix< T > solOld, gsMatrix< T > solNew) |
| Compute and display the relative norm of the solution change given the two successive solutions.
|
|