G+Smo  25.01.0
Geometry + Simulation Modules
 
Loading...
Searching...
No Matches
gsFlowUtils.h File Reference
+ Include dependency graph for gsFlowUtils.h:

Go to the source code of this file.

Namespaces

namespace  gismo
 The G+Smo namespace, containing all definitions for the library.
 

Functions

template<class T >
void addBCs (gsBoundaryConditions< T > &bcInfo, std::vector< std::pair< int, boxSide > > &bndIn, std::vector< std::pair< int, boxSide > > &bndWall, gsFunctionExpr< T > Uin, gsFunctionExpr< T > Uwall)
 Define boundary conditions for the corresponding boundary parts.
 
template<class T >
gsTensorBSpline< 3, T > BSplineBlock (int deg, const T llx, const T lly, const T llz, const T a, const T b, const T c, int numSep=0)
 Returns a B-spline parametrization of a 3D block of a given degree in all directions.
 
template<class T >
gsMultiPatch< T > BSplineCavity2D (int deg, const T a, const T b, const int np=1, int numSep=0)
 Returns a B-spline multipatch domain for 2D problems of flow in a cavity.
 
template<class T >
gsMultiPatch< T > BSplineCavity3D (int deg, const T a, const T b, const T c, int numSep=0)
 Returns a B-spline multipatch domain for 3D problems of flow in a cavity.
 
template<class T >
gsTensorBSpline< 2, T > BSplineRectangle (int deg, const T llx, const T lly, const T a, const T b, int numSep=0)
 Returns a B-spline parametrization of a rectangle of a given degree in both directions.
 
template<class T >
gsMultiPatch< T > BSplineStep2D (int deg, const T a, const T b, const T a_in, T h=0, bool periodic=false)
 Returns a B-spline multipatch domain for 2D problems of flow over a backward facing step.
 
template<class T >
gsMultiPatch< T > BSplineStep3D (int deg, const T a, const T b, const T c, const T a_in, T h=0, bool periodic=false)
 Returns a B-spline multipatch domain for 3D problems of flow over a backward facing step.
 
template<class T >
gsMatrix< T > createVectorOfUniqueIndices (const gsMatrix< T > &mat)
 Creates a one-column matrix (vector) of unique values from the input matrix (useful for creating a unique list of active basis functions in several quadrature points).
 
template<class T >
void defineBCs_cavity (gsBoundaryConditions< T > &bcInfo, std::vector< std::pair< int, boxSide > > &bndWall, int dim, const int np=1, std::string lidVel="1")
 Define boundary conditions for the lid-driven cavity problem.
 
template<class T >
void defineBCs_cavity2D (gsBoundaryConditions< T > &bcInfo, const int np, std::vector< std::pair< int, boxSide > > &bndWall, std::string lidVel="1")
 Define boundary conditions for the 2D lid-driven cavity problem.
 
template<class T >
void defineBCs_cavity3D (gsBoundaryConditions< T > &bcInfo, std::vector< std::pair< int, boxSide > > &bndWall, std::string lidVel="1")
 Define boundary conditions for the 3D lid-driven cavity problem.
 
template<class T >
void defineBCs_profile2D (gsBoundaryConditions< T > &bcInfo, std::vector< std::pair< int, boxSide > > &bndIn, std::vector< std::pair< int, boxSide > > &bndOut, std::vector< std::pair< int, boxSide > > &bndWall, T inVelX, T inVelY)
 Define boundary conditions for the 2D blade profile problem.
 
template<class T >
void defineBCs_step (gsBoundaryConditions< T > &bcInfo, std::vector< std::pair< int, boxSide > > &bndIn, std::vector< std::pair< int, boxSide > > &bndOut, std::vector< std::pair< int, boxSide > > &bndWall, int dim, bool periodic=false, std::string inVel="default")
 Define boundary conditions for the backward-facing step problem.
 
template<class T >
void defineBCs_step2D (gsBoundaryConditions< T > &bcInfo, std::vector< std::pair< int, boxSide > > &bndIn, std::vector< std::pair< int, boxSide > > &bndOut, std::vector< std::pair< int, boxSide > > &bndWall, bool periodic=false, std::string inVel="default")
 Define boundary conditions for the 2D backward-facing step problem.
 
template<class T >
void defineBCs_step3D (gsBoundaryConditions< T > &bcInfo, std::vector< std::pair< int, boxSide > > &bndIn, std::vector< std::pair< int, boxSide > > &bndOut, std::vector< std::pair< int, boxSide > > &bndWall, bool periodic=false, std::string inVel="default")
 Define boundary conditions for the 3D backward-facing step problem.
 
template<class T , int MatOrder>
void diagInvMatrix_into (const gsSparseMatrix< T, MatOrder > &mat, gsSparseMatrix< T, MatOrder > &diagInv, int repeat, bool lumping=false)
 Fill a diagonal approximation of an inverse matrix.
 
template<class T , int MatOrder>
gsVector< index_tgetNnzVectorPerOuter (const gsSparseMatrix< T, MatOrder > &mat)
 Get a vector of nonzero entries per outer index (row or column depending on the matrix storage order).
 
void gsWriteOutput (std::ofstream &file, const std::string output, bool fileOutput, bool dispInTerminal)
 Writes an output into the given file and optionally also into terminal.
 
void gsWriteOutputLine (std::ofstream &file, const std::string line, bool fileOutput, bool dispInTerminal)
 Writes an output line into the given file and optionally also into terminal.
 
template<class T >
void refineBasis_cavity (gsMultiBasis< T > &basis, int numRefine, int numRefineLocal, int dim, int numSep=0)
 Refine basis for the 2D lid-driven cavity problem.
 
template<class T >
void refineBasis_profile2D (gsMultiBasis< T > &basis, int numRefine, int numRefineBlade, int numRefineLead)
 Refine basis for the 2D profile problem.
 
template<class T >
void refineBasis_step (gsMultiBasis< T > &basis, int numRefine, int numRefineWalls, int numRefineCorner, int numRefineU, real_t addRefPart, int dim, real_t a, real_t b, real_t c=0.0)
 Refine basis for the backward-facing step problem.
 
template<int d, class T >
void refineFirstKnotSpan (gsMultiBasis< T > &basis, int numRefine, int patch, int dir)
 Refine basis near wall (the first knot span).
 
template<int d, class T >
void refineLastKnotSpan (gsMultiBasis< T > &basis, int numRefine, int patch, int dir)
 Refine basis near wall (the last knot span).
 
template<int d, class T >
void refineLocal_step (gsMultiBasis< T > &basis, int numRefineWalls, int numRefineCorner)
 Refine basis for the backward-facing step problem near walls.
 

Detailed Description

Miscellaneous useful functions for the incompressible flow solver.

This file is part of the G+Smo library.

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

Author(s): H. Hornikova, E. Turnerova