![]() |
Class to contain various variables for SPE solution. More...
#include <class.hpp>
Public Member Functions | |
| SPE () | |
| constructor with no arguments (set default values for everything) More... | |
| void | init () |
| initialize matrices and vectors More... | |
| void | print () |
| print all members of the class More... | |
| ~SPE () | |
| destructor More... | |
| PetscInt | destroy () |
| free memory More... | |
Data Fields | |
| Mat | Dy |
| derivative in y direction More... | |
| Mat | DyP |
| derivative in y direction (for staggered grid, take P location and output derivatives at velocity location) More... | |
| Mat | Dy_dim |
| derivative in y direction acting on q of size dim More... | |
| Mat | Dyy |
| second derivative in y direction More... | |
| Mat | Dyy_dim |
| second derivative in y direction acting on q of size dim More... | |
| Mat | DyyP |
| second derivative in y direction (for staggered grid, take P location and output derivatives at velocity location) More... | |
| Mat | Dz |
| derivative in z direction More... | |
| Mat | Dz_dim |
| derivative in z direction acting on q of size dim More... | |
| Mat | Dzz |
| second derivative in z direction More... | |
| Mat | Dzz_dim |
| secondderivative in z direction acting on q of size dim More... | |
| Mat | Dt |
| first derivative in t direction More... | |
| Mat | Dt_dim |
| first derivative in t direction acting on q More... | |
| Mat | D |
| coefficient matrix in front of dq/dx term More... | |
| Mat | Dp1 |
| coefficient matrix in front of dq/dx term, with next step values More... | |
| Mat | U |
| base flow \(U\) velocity More... | |
| Mat | U_dim |
| base flow \(U\) velocity of size dim More... | |
| Mat | U_i |
| base flow of previous marching step More... | |
| Mat | Ux |
| base flow \(\frac{\partial U}{\partial x}\) More... | |
| Mat | Ux_dim |
| base flow \(\frac{\partial U}{\partial x}\) of size dim More... | |
| Mat | Uy |
| base flow \(\frac{\partial U}{\partial y}\) More... | |
| Mat | Uy_dim |
| base flow \(\frac{\partial U}{\partial y}\) of size dim More... | |
| Mat | V |
| base flow \(V\) velocity More... | |
| Mat | V_dim |
| base flow \(V\) velocity of size dim More... | |
| Mat | V_i |
| base flow of previous marching step More... | |
| Mat | Vx |
| base flow \(\frac{\partial V}{\partial x}\) More... | |
| Mat | Vx_dim |
| base flow \(\frac{\partial V}{\partial x}\) of size dim More... | |
| Mat | Vy |
| base flow \(\frac{\partial V}{\partial y}\) More... | |
| Mat | Vy_dim |
| base flow \(\frac{\partial V}{\partial y}\) of size dim More... | |
| Mat | VDy |
| matmatmult of \(V \mathcal{D}_y\) More... | |
| Mat | VDy_dim |
| matmatmult of \(V \mathcal{D}_y\) of size dim More... | |
| Mat | UDy |
| matmatmult of \(U \mathcal{D}_y\) More... | |
| Mat | UDy_dim |
| matmatmult of \(U \mathcal{D}_y\) of size dim More... | |
| Mat | P |
| base flow pressure term More... | |
| Mat | P_i |
| base flow pressure term More... | |
| Mat | A |
| Matrix to Solve SPE equation in linear system (all q,dqdy,dqdz terms) More... | |
| Mat | A_OSS |
| Matrix to Solve SPE equation in linear system (all q,dqdy,dqdz terms) for OSS solver. More... | |
| Mat | Ap1 |
| Matrix to Solve SPE equation in linear system (all q,dqdy,dqdz terms) evaluated at next step values. More... | |
| Mat | Asolve |
| Matrix to Solve SPE equation in linear system (all q,dqdy,dqdz terms) when solving Ax=b. More... | |
| Mat | B |
| Matrix to Solve SPE equation in linear system (all dqdx terms) More... | |
| Mat | B_OSS |
| Matrix to Solve SPE equation in linear system (all dqdx terms) for OSS solver. More... | |
| Mat | Bsolve |
| Matrix to Solve SPE equation in linear system (all dqdx terms) when solving A qp1=Bq. More... | |
| Mat | tempMatny |
| Temporary Matrix to help solve map of derivatives. More... | |
| Mat | P_SPE_from_OSS |
| permutation matrix to premultiply to q from the OSS solver, to get the u,v,w,P primitive variables only (instead of the (u, alpha*v, v, alpha*w, w, P) q vector from the OSS solver). More... | |
| Mat | P_SPE_from_4nynz |
| permutation matrix to premultiply to q (of size 4 ny nz) from the OSS solver, to get the u,v,w,P primitive variables for the defined nt grid, of size dim by 4nynz More... | |
| Mat | P_nynznt_to_dim_vel_only |
| permutation matrix to premultiply to nonlinear pointwise terms of size ny by nz from the SPE solver, to get the q velocity componenets. (for example, if we have a vector of size ny by nz, this will create the q shape (4 ny nz) where the vector values are repeated three times where the velocity componenets are. This is useful for the nonlinear terms) More... | |
| Mat | P_u_from_q |
| permutation matrix to premultiply to q from the SPE solver, to get the u primitive variables only (instead of the (u, v, w, P) q vector from the SPE solver). More... | |
| Mat | P_U_from_Q |
| permutation matrix to premultiply to Q from the base flow solver, to get the U primitive variables base flow velocity only (instead of the (U, V, P) Q vector from the base flow solver). More... | |
| Mat | P_v_from_q |
| permutation matrix to premultiply to q from the SPE solver, to get the v primitive variables only (instead of the (u, v, w, P) q vector from the SPE solver). More... | |
| Mat | P_V_from_Q |
| permutation matrix to premultiply to Q from the base flow solver, to get the V primitive variables base flow velocity only (instead of the (U, V, P) Q vector from the base flow solver). More... | |
| Mat | P_P_from_Q |
| permutation matrix to premultiply to Q from the base flow solver, to get the P primitive variables base flow velocity only (instead of the (U, V, P) Q vector from the base flow solver). More... | |
| Mat | P_del_freestream_cont_base_flow |
| permutation matrix to premultiply to A from the base flow solver to remove freestream continuity equation (to obtain 3ny-1 equations for the 3ny-1 unknowns) (this is of size 3ny-1 by 3ny) More... | |
| Mat | P_w_from_q |
| permutation matrix to premultiply to q from the SPE solver, to get the w primitive variables only (instead of the (u, v, w, P) q vector from the SPE solver). More... | |
| Mat | P_p_from_q |
| permutation matrix to premultiply to q from the SPE solver, to get the p primitive variables only (instead of the (u, v, w, P) q vector from the SPE solver). More... | |
| Mat | P_avg_z_dim |
| matrix to average in z-direction a vector of size dim More... | |
| Mat | P_avg_z_base |
| matrix to average in z-direction a vector of size dim and output for base flow [U,V,P] More... | |
| Mat | af_dim |
| \( a_f=u i \alpha e^{i \int \alpha dx} \) nonlinear terms along diagonal of matrix for nonlinear operations (broadcasted using P_nynznt_to_dim_vel_only More... | |
| Mat | bf_dim |
| \( a_f=v e^{i \int alpha dx} \) nonlinear terms along diagonal of matrix for nonlinear operations (broadcasted using P_nynznt_to_dim_vel_only More... | |
| Mat | df_dim |
| \( d_f=u e^{i \int alpha dx} \) nonlinear terms along diagonal of matrix for nonlinear operations (broadcasted using P_nynznt_to_dim_vel_only More... | |
| Mat | ef_dim |
| \( e_f=w e^{i \int alpha dx} \) nonlinear terms along diagonal of matrix for nonlinear operations (broadcasted using P_nynznt_to_dim_vel_only More... | |
| Mat | bfDy_dim |
| diagonal matrix of size dim containing bf*Dy More... | |
| Mat | efDz_dim |
| diagonal matrix of size dim containing ef*Dz More... | |
| Mat | IP |
| identity matrix, useful in setting up A,B (of size ny by ny-1 for pressure terms) More... | |
| Mat | I_4nznt |
| Identity matrix, useful for setting up baseflow from ny to size dim using kron. More... | |
| Mat | I_dim |
| Identity matrix of size dim. More... | |
| Mat | MatTrapzy |
| trapezoidal operator for the integral in the y direction \((\mathrm{Trapzy})f(y,z,t) = \int f(y,z,t) dy\) More... | |
| Mat | MatTrapzz |
| trapezoidal operator for the integral in the z direction \((\mathrm{Trapzz})f(z,t) = \int f(z,t) dz\) More... | |
| Mat | MatTrapzt |
| trapezoidal operator for the integral in the t direction \((\mathrm{Trapzt})f(t) = \int f(t) dt\) More... | |
| Mat | MatTrapz |
| trapezoidal operator for the integral in all directions \((\mathrm{Trapz})f(var,y,z,t) = \int f(var,y,z,t) d\Omega\) More... | |
| Mat | I |
| identity matrix, useful in setting up A,B More... | |
| Mat_4terms | P_u_dim |
| 4 permutation matrices to premultiply to dim matrix to extract only the u equation rows More... | |
| Mat_4terms | P_v_dim |
| permutation matrix to premultiply to dim matrix to extract only the v equation rows More... | |
| Mat_4terms | P_w_dim |
| permutation matrix to premultiply to dim matrix to extract only the w equation rows More... | |
| Mat_4terms | P_cont_dim |
| permutation matrix to premultiply to dim matrix to extract only the continuity equation rows More... | |
| Vec | b |
| RHS vector for Ax=b SPE step. More... | |
| Vec | yVec |
| y values in Petsc parallel vector More... | |
| Vec | yPVec |
| yP values in Petsc parallel vector (pressure locations of size ny-1) More... | |
| Vec | zVec |
| z values in Petsc parallel vector More... | |
| Vec | tVec |
| z values in Petsc parallel vector More... | |
| Vec | Trapzy |
| trapezoidal operator for the integral in the y direction \((\mathrm{Trapzy})f(y,z) = \int f(y,z) dy\) More... | |
| Vec | Trapzz |
| trapezoidal operator for the integral in the z direction \((\mathrm{Trapzz})f(y,z) = \int f(y,z) dz\) More... | |
| Vec | Q_i |
| state vector of base flow at previous marching step location [U,V,P] More... | |
| Vec * | Q_istep |
| array of size baseflow_steps+1 to give the baseflow state at each sub baseflow step (only used if using steps>1) More... | |
| Vec | Q |
| state vector of base flow at the current marching step location [U,V,P] (guess for nonlinear iteration) More... | |
| Vec | q |
| \( q_i \) More... | |
| Vec | q_x |
| \( \frac{\partial q_{i+1}}{\partial x} \) computed from backward difference More... | |
| Vec | q_z |
| \( \frac{\partial q_{i+1}}{\partial z} \) More... | |
| Vec | q_af |
| nonlinear af of size 4*ny*nz More... | |
| Vec | q_ybf |
| nonlinear bf of size 4*ny*nz More... | |
| Vec | q_xdf |
| nonlinear df of size 4*ny*nz More... | |
| Vec | q_zef |
| nonlinear ef of size 4*ny*nz More... | |
| Vec | Fn |
| nonlinear forcing terms (going to be averaged) More... | |
| Vec | F_bar |
| nonlinear forcing terms (averaged) More... | |
| Vec | F_bar_base |
| nonlinear forcing terms (averaged) More... | |
| Vec | F_bar_base_i |
| nonlinear forcing terms (averaged) from the previous global step More... | |
| Vec | F_bar_base_interp |
| nonlinear forcing terms (averaged) for the current boundary layer sub step (interpolated from F_bar_base and F_bar_base_i) More... | |
| Vec | qp1 |
| \( q_{i+1} \) More... | |
| Vec | qp1_oldNonLinear |
| \( q_{i+1} \) from previous nonlinear iteration More... | |
| Vec | qp1_OSS |
| \( q_{i+1} \) for OSS solver (larger vector) More... | |
| Vec | u |
| \( u \) for nonlinear solver (size ny*nz*nt) More... | |
| Vec | v |
| \( v \) for nonlinear solver (size ny*nz*nt) More... | |
| Vec | w |
| \( w \) for nonlinear solver (size ny*nz*nt) More... | |
| Vec | uhatconj |
| \( conj(\hat{u}) \) for nonlinear solver (size ny*nz*nt) More... | |
| Vec | vhatconj |
| \( conj(\hat{v}) \) for nonlinear solver (size ny*nz*nt) More... | |
| Vec | whatconj |
| \( conj(\hat{w}) \) for nonlinear solver (size ny*nz*nt) More... | |
| Vec | af |
| \( a_f=u i \alpha e^{i \int alpha dx} \) nonlinear term More... | |
| Vec | bf |
| \( a_f=v e^{i \int alpha dx} \) nonlinear term More... | |
| Vec | df |
| \( d_f=u e^{i \int alpha dx} \) nonlinear term More... | |
| Vec | ef |
| \( e_f=w e^{i \int alpha dx} \) nonlinear term More... | |
| Vec | tempVecnynz |
| temporary vector of size ny*nz More... | |
| Vec | onesVecny |
| Vector of ones. More... | |
| Vec | tempVecq |
| temporary vector of size qp1 (4*ny*nz) More... | |
| Vec | tempVecny |
| temporary vector More... | |
| PetscReal | initial_amplitude |
| initial TS amplitude (of normalized eigenvector if using normalizing) (default 0.0025) More... | |
| PetscReal | nonlinear_tol |
| nonlinear tolerance (exit nonlinear iterations once nonlinear error is below this tolerance) (default 1E-9) More... | |
| PetscReal | base_flow_tol |
| nonlinear tolerance for base flow iterations (exit nonlinear iterations once nonlinear error is below this tolerance) (default 1E-12) More... | |
| PetscReal | nonlinear_error |
| nonlinear error value \( |q^{N} - q^{N-1}| \) More... | |
| PetscScalar | Re |
| Reynolds number (default 2000) More... | |
| PetscScalar | Re0 |
| Reynolds number at original x0 location (start of SPE) (default 2000) More... | |
| PetscScalar | U_inf |
| U_infinity freestream velocity (defaults set to 1) More... | |
| PetscScalar | V_inf |
| V_infinity freestream velocity (defaults set to 1) More... | |
| PetscScalar | P_inf |
| P_infinity freestream pressure (defaults set to 1) More... | |
| PetscScalar | rho |
| density of fluid (default 100) More... | |
| PetscScalar | Ialpha |
| \( \int_{x_i}^{x_{i+1}} \alpha(x) dx \) spatial eigenvalue ( \(x\)-direction) (this is integrated using trapezoidal rule in update_Nonlinear More... | |
| PetscScalar | Ialpha_old |
| \( \int_{x_{i-1}}^{x_{i}} \alpha(x) dx \) spatial eigenvalue ( \(x\)-direction) (this is integrated using trapezoidal rule in update_Nonlinear More... | |
| PetscScalar | alpha |
| \( \alpha \) spatial eigenvalue ( \(x\)-direction) More... | |
| PetscScalar | alpha_old |
| \( \alpha \) spatial eigenvalue ( \(x\)-direction) of previous step More... | |
| PetscScalar | delta_alpha |
| \( \Delta \alpha \) spatial eigenvalue change in during update_Closure steps ( \(x\)-direction) More... | |
| PetscScalar | closure_value |
| value of closure \( \int_\Omega q_x q^H d\Omega \) More... | |
| PetscScalar | target_alpha |
| target \( \alpha \) spatial eigenvalue ( \(x\)-direction) that we want to converge to (1.72 times by literature values) More... | |
| PetscScalar | sum_divergence |
| base flow divergence calculation from blausius profile (for checking purposes More... | |
| PetscScalar | m |
| \(m\) (default 1) More... | |
| PetscScalar | omega |
| \( \omega \) temporal eigenvalue (default 0.3) More... | |
| PetscScalar | beta |
| \( \beta \) spanwise eigenvalue if using 2D (default 0.) More... | |
| PetscScalar | T |
| \(T\) period of time dimension, corresponds to \(T = \frac{2 \pi}{\omega}\). More... | |
| PetscScalar | F |
| \(F\) frequency related to \(omega\) More... | |
| PetscScalar | F_initial |
| \(F\) frequency related to \(omega\) for the initial LST solution into SPE (used for eigenmode jump validation case) More... | |
| PetscScalar | hx |
| distance to march in \(x\)-direction (default 2.5) More... | |
| PetscScalar | deltay |
| stretching ratio in the y-direction (default 0.) More... | |
| PetscScalar | nu |
| viscous \(\nu\) term in the equation (Blasius BL) More... | |
| PetscScalar | x |
| \(x\)-location More... | |
| PetscScalar | num_boundary_layers_high |
| number of boundary layers (approx) high to create the grid by default (default 6) More... | |
| PetscScalar | closure_tol |
| closure tolerance (exit closure iterations once closure is below this tolerance) (default 1E-12) More... | |
| PetscScalar | Deltay |
| \(\Delta y\) height of the domain (default 2.) More... | |
| PetscScalar | Deltat |
| \(\Delta t\) width of the domain (default 1.) More... | |
| PetscScalar | Deltaz |
| \(\Delta z\) width of the domain (default 1.) More... | |
| PetscScalar * | y |
| y vector (each processor has whole vector) More... | |
| PetscScalar * | yP |
| yP vector (each processor has whole vector) (pressure locations of size ny-1) More... | |
| PetscScalar * | xi |
| xi uniform vector [0,1] (each processor has whole vector) More... | |
| PetscScalar * | z |
| z vector (each processor has whole vector) More... | |
| PetscScalar * | t |
| t vector (each processor has whole vector) More... | |
| PetscScalar * | ones |
| vector of ny length of ones, used to initialize one petsc Vec More... | |
| PetscScalar * | eta |
| Blasius Boundary Layer similarity variable \(\eta\) (size ny) More... | |
| PetscScalar * | deta |
| Blasius Boundary Layer similarity variable steps \(d\eta\) (size ny-1) More... | |
| PetscInt | ny |
| number of grid points in the y-direction (default 101) More... | |
| PetscInt | nz |
| number of grid points in the z-direction (default 6) More... | |
| PetscInt | nt |
| number of grid points in the t-direction (default 1, steady state) More... | |
| PetscInt | dim |
| dimension of large matrices \( ny*nz \) in SPE solver More... | |
| PetscInt | dimOSS |
| dimension of large matrices \( ny*nz \) in Orr-Sommerfeld solver More... | |
| PetscInt | dim_nynznt |
| dimension of small vectors \( ny*nz \) in SPE solver (only one primitive variable u, for all locations ny,nz More... | |
| PetscInt | order |
| order of accuracy (default 4) More... | |
| PetscInt | xsteps |
| number of steps to take (default 15) More... | |
| PetscInt | type_marching |
| type of marching [1=Implicit Euler (default), 2=Crank-Nicolson] More... | |
| PetscInt | closure_iter |
| current closure iteration number (changed in update_Closure.cpp) More... | |
| PetscInt | nonlinear_iter |
| current nonlinear iteration number (changed in update_Nonlinear.cpp) More... | |
| PetscInt | baseflow_steps |
| total number of baseflow steps will be taken between each SPE step More... | |
| PetscInt | OSS_nev |
| number of eigenvalues to solve near the target_alpha for the Ax_kBx OSS solver More... | |
| PetscInt | istep |
| Global marching step for SPE. More... | |
| PetscInt | multiply_nypts_for_bblf |
| blasius boundary layer flow multiply ny by this number to integrate a uniform grid even further (default 100) More... | |
| PetscInt | type_base_flow |
| 1=Poisuille channel flow, 2=Blasius Flat-Plate More... | |
| PetscBool | reduce_wall_order =PETSC_TRUE |
| do we want to reduce the order of the derivative at the wall? (only in y-direction because z is periodic) More... | |
| PetscBool | flag_read_q_filename =PETSC_FALSE |
| flag to state if reading file in from python scripts More... | |
| PetscBool | flag_read_matlab_filename =PETSC_FALSE |
| flag to state if reading file in from matlab scripts More... | |
| PetscBool | flag_set_D =PETSC_FALSE |
| flag to set derivative operators More... | |
| PetscBool | flag_uniform =PETSC_TRUE |
| uniform mesh? More... | |
| PetscBool | flag_OSS_gov_Schmid =PETSC_FALSE |
| Use Schmid Orr-Sommerfield governing equations and inflated matrix as found in equation 7.110 of his textbook (default false) More... | |
| PetscBool | flag_update_alpha =PETSC_TRUE |
| update alpha in matrices every \(x\)-step (default true) More... | |
| PetscBool | flag_noalpha =PETSC_FALSE |
| if not using alpha in the governing SPE equations More... | |
| PetscBool | flag_one_grid_pt_less_z =PETSC_TRUE |
| one grid point less in the z-direction (from the stated Deltaz) (Default true) More... | |
| PetscBool | flag_normalize =PETSC_TRUE |
| normalize by maximum fluctuating quantitiy (during initial scaling) (default true) More... | |
| PetscBool | flag_set_I =PETSC_FALSE |
| flag to set identity matrix More... | |
| PetscBool | flag_base_flow =PETSC_FALSE |
| flag to set base flow U, Uy, etc. More... | |
| PetscBool | flag_blasius_first_step =PETSC_FALSE |
| flag to indicate if the first step isconsidered from the blasius solution More... | |
| PetscBool | flag_init =PETSC_FALSE |
| flag to initialize all matrices and vectors on MPI More... | |
| PetscBool | flag_debug_output =PETSC_FALSE |
| flag to output debug type files More... | |
| PetscBool | flag_trapzy =PETSC_FALSE |
| flag if set trapezoidal rule operator for y direction integral More... | |
| PetscBool | flag_trapzz =PETSC_FALSE |
| flag if set trapezoidal rule operator for z direction integral More... | |
| PetscBool | flag_MatTrapz =PETSC_FALSE |
| flag if set trapezoidal rule operators for y,z,t directions More... | |
| PetscBool | flag_marching =PETSC_TRUE |
| flag if we are marching the SPE (updates \(x\)) (default true) More... | |
| PetscBool | flag_p_term =PETSC_FALSE |
| flag to neglect pressure term (to allow for smaller \(x\) step size) (default false) More... | |
| PetscBool | flag_LST_marching =PETSC_FALSE |
| flag to calculate the local stability theory at each \(x\) location (default false) More... | |
| PetscBool | flag_F_initial =PETSC_FALSE |
| flag indicating if an initial F is used instead of the given F (default false) More... | |
| PetscBool | flag_Created_grid =PETSC_FALSE |
| internal flag used for indicating if a grid was generated for LST the first time it ran More... | |
| PetscBool | flag_parallel_blasius =PETSC_FALSE |
| flag to indicte if wanting parallel blasius base flow (default false) More... | |
| PetscBool | flag_parallel_baseflow =PETSC_FALSE |
| flag to indicte if wanting parallel baseflow (default false) More... | |
| PetscBool | flag_explicit_x =PETSC_FALSE |
| set \(x\) to be at a certain location (used for OSS_blasius validation study for alternate LST at downstream locations) (default false) More... | |
| PetscBool | flag_nonlinear =PETSC_FALSE |
| flag to set if wanting to add nonlinear terms (default false) More... | |
| PetscBool | flag_staggered_base_flow =PETSC_FALSE |
| flag to set if wanting to solve semi-staggered base flow (pressure is size ny-1 located between velocity points) (default false) More... | |
| PetscBool | flag_2D =PETSC_FALSE |
| flag indicating if 2D \(\beta=0\) calculation (default false) More... | |
| PetscBool | flag_all_real =PETSC_FALSE |
| flag to state if everything should be all real valued or not More... | |
| PetscBool | flag_LST =PETSC_FALSE |
| flag to consider only the local stability theory (neglect non-parallel flow terms in the governing equation) (default false) More... | |
| PetscErrorCode | ierr |
| flag to catch error from Petsc functions More... | |
| std::string | read_q_filename |
| base filename if reading output from the OSS python scripts More... | |
| std::string | read_matlab_filename |
| base filename if reading output from the matlab scripts More... | |
| std::string | output_folder |
| output folder to More... | |
Class to contain various variables for SPE solution.
| SPE::SPE::SPE | ( | ) |
constructor with no arguments (set default values for everything)
| SPE::SPE::~SPE | ( | ) |
destructor
| PetscInt SPE::SPE::destroy | ( | ) |
free memory
| void SPE::SPE::init | ( | ) |
initialize matrices and vectors
| void SPE::SPE::print | ( | ) |
print all members of the class
| Mat SPE::SPE::A |
Matrix to Solve SPE equation in linear system (all q,dqdy,dqdz terms)
| Mat SPE::SPE::A_OSS |
Matrix to Solve SPE equation in linear system (all q,dqdy,dqdz terms) for OSS solver.
| Vec SPE::SPE::af |
\( a_f=u i \alpha e^{i \int alpha dx} \) nonlinear term
| Mat SPE::SPE::af_dim |
\( a_f=u i \alpha e^{i \int \alpha dx} \) nonlinear terms along diagonal of matrix for nonlinear operations (broadcasted using P_nynznt_to_dim_vel_only
| PetscScalar SPE::SPE::alpha |
\( \alpha \) spatial eigenvalue ( \(x\)-direction)
| PetscScalar SPE::SPE::alpha_old |
\( \alpha \) spatial eigenvalue ( \(x\)-direction) of previous step
| Mat SPE::SPE::Ap1 |
Matrix to Solve SPE equation in linear system (all q,dqdy,dqdz terms) evaluated at next step values.
| Mat SPE::SPE::Asolve |
Matrix to Solve SPE equation in linear system (all q,dqdy,dqdz terms) when solving Ax=b.
| Mat SPE::SPE::B |
Matrix to Solve SPE equation in linear system (all dqdx terms)
| Vec SPE::SPE::b |
RHS vector for Ax=b SPE step.
| Mat SPE::SPE::B_OSS |
Matrix to Solve SPE equation in linear system (all dqdx terms) for OSS solver.
| PetscReal SPE::SPE::base_flow_tol |
nonlinear tolerance for base flow iterations (exit nonlinear iterations once nonlinear error is below this tolerance) (default 1E-12)
| PetscInt SPE::SPE::baseflow_steps |
total number of baseflow steps will be taken between each SPE step
| PetscScalar SPE::SPE::beta |
\( \beta \) spanwise eigenvalue if using 2D (default 0.)
| Vec SPE::SPE::bf |
\( a_f=v e^{i \int alpha dx} \) nonlinear term
| Mat SPE::SPE::bf_dim |
\( a_f=v e^{i \int alpha dx} \) nonlinear terms along diagonal of matrix for nonlinear operations (broadcasted using P_nynznt_to_dim_vel_only
| Mat SPE::SPE::bfDy_dim |
diagonal matrix of size dim containing bf*Dy
| Mat SPE::SPE::Bsolve |
Matrix to Solve SPE equation in linear system (all dqdx terms) when solving A qp1=Bq.
| PetscInt SPE::SPE::closure_iter |
current closure iteration number (changed in update_Closure.cpp)
| PetscScalar SPE::SPE::closure_tol |
closure tolerance (exit closure iterations once closure is below this tolerance) (default 1E-12)
| PetscScalar SPE::SPE::closure_value |
value of closure \( \int_\Omega q_x q^H d\Omega \)
| Mat SPE::SPE::D |
coefficient matrix in front of dq/dx term
| PetscScalar SPE::SPE::delta_alpha |
\( \Delta \alpha \) spatial eigenvalue change in during update_Closure steps ( \(x\)-direction)
| PetscScalar SPE::SPE::Deltat |
\(\Delta t\) width of the domain (default 1.)
| PetscScalar SPE::SPE::deltay |
stretching ratio in the y-direction (default 0.)
| PetscScalar SPE::SPE::Deltay |
\(\Delta y\) height of the domain (default 2.)
| PetscScalar SPE::SPE::Deltaz |
\(\Delta z\) width of the domain (default 1.)
| PetscScalar * SPE::SPE::deta |
Blasius Boundary Layer similarity variable steps \(d\eta\) (size ny-1)
| Vec SPE::SPE::df |
\( d_f=u e^{i \int alpha dx} \) nonlinear term
| Mat SPE::SPE::df_dim |
\( d_f=u e^{i \int alpha dx} \) nonlinear terms along diagonal of matrix for nonlinear operations (broadcasted using P_nynznt_to_dim_vel_only
| PetscInt SPE::SPE::dim |
dimension of large matrices \( ny*nz \) in SPE solver
| PetscInt SPE::SPE::dim_nynznt |
dimension of small vectors \( ny*nz \) in SPE solver (only one primitive variable u, for all locations ny,nz
| PetscInt SPE::SPE::dimOSS |
dimension of large matrices \( ny*nz \) in Orr-Sommerfeld solver
| Mat SPE::SPE::Dp1 |
coefficient matrix in front of dq/dx term, with next step values
| Mat SPE::SPE::Dt |
first derivative in t direction
| Mat SPE::SPE::Dt_dim |
first derivative in t direction acting on q
| Mat SPE::SPE::Dy |
derivative in y direction
| Mat SPE::SPE::Dy_dim |
derivative in y direction acting on q of size dim
| Mat SPE::SPE::DyP |
derivative in y direction (for staggered grid, take P location and output derivatives at velocity location)
| Mat SPE::SPE::Dyy |
second derivative in y direction
| Mat SPE::SPE::Dyy_dim |
second derivative in y direction acting on q of size dim
| Mat SPE::SPE::DyyP |
second derivative in y direction (for staggered grid, take P location and output derivatives at velocity location)
| Mat SPE::SPE::Dz |
derivative in z direction
| Mat SPE::SPE::Dz_dim |
derivative in z direction acting on q of size dim
| Mat SPE::SPE::Dzz |
second derivative in z direction
| Mat SPE::SPE::Dzz_dim |
secondderivative in z direction acting on q of size dim
| Vec SPE::SPE::ef |
\( e_f=w e^{i \int alpha dx} \) nonlinear term
| Mat SPE::SPE::ef_dim |
\( e_f=w e^{i \int alpha dx} \) nonlinear terms along diagonal of matrix for nonlinear operations (broadcasted using P_nynznt_to_dim_vel_only
| Mat SPE::SPE::efDz_dim |
diagonal matrix of size dim containing ef*Dz
| PetscScalar * SPE::SPE::eta |
Blasius Boundary Layer similarity variable \(\eta\) (size ny)
| PetscScalar SPE::SPE::F |
\(F\) frequency related to \(omega\)
| Vec SPE::SPE::F_bar |
nonlinear forcing terms (averaged)
| Vec SPE::SPE::F_bar_base |
nonlinear forcing terms (averaged)
| Vec SPE::SPE::F_bar_base_i |
nonlinear forcing terms (averaged) from the previous global step
| Vec SPE::SPE::F_bar_base_interp |
nonlinear forcing terms (averaged) for the current boundary layer sub step (interpolated from F_bar_base and F_bar_base_i)
| PetscScalar SPE::SPE::F_initial |
\(F\) frequency related to \(omega\) for the initial LST solution into SPE (used for eigenmode jump validation case)
| PetscBool SPE::SPE::flag_2D =PETSC_FALSE |
flag indicating if 2D \(\beta=0\) calculation (default false)
| PetscBool SPE::SPE::flag_all_real =PETSC_FALSE |
flag to state if everything should be all real valued or not
| PetscBool SPE::SPE::flag_base_flow =PETSC_FALSE |
flag to set base flow U, Uy, etc.
| PetscBool SPE::SPE::flag_blasius_first_step =PETSC_FALSE |
flag to indicate if the first step isconsidered from the blasius solution
| PetscBool SPE::SPE::flag_Created_grid =PETSC_FALSE |
internal flag used for indicating if a grid was generated for LST the first time it ran
| PetscBool SPE::SPE::flag_debug_output =PETSC_FALSE |
flag to output debug type files
| PetscBool SPE::SPE::flag_explicit_x =PETSC_FALSE |
set \(x\) to be at a certain location (used for OSS_blasius validation study for alternate LST at downstream locations) (default false)
| PetscBool SPE::SPE::flag_F_initial =PETSC_FALSE |
flag indicating if an initial F is used instead of the given F (default false)
| PetscBool SPE::SPE::flag_init =PETSC_FALSE |
flag to initialize all matrices and vectors on MPI
| PetscBool SPE::SPE::flag_LST =PETSC_FALSE |
flag to consider only the local stability theory (neglect non-parallel flow terms in the governing equation) (default false)
| PetscBool SPE::SPE::flag_LST_marching =PETSC_FALSE |
flag to calculate the local stability theory at each \(x\) location (default false)
| PetscBool SPE::SPE::flag_marching =PETSC_TRUE |
flag if we are marching the SPE (updates \(x\)) (default true)
| PetscBool SPE::SPE::flag_MatTrapz =PETSC_FALSE |
flag if set trapezoidal rule operators for y,z,t directions
| PetscBool SPE::SPE::flag_noalpha =PETSC_FALSE |
if not using alpha in the governing SPE equations
| PetscBool SPE::SPE::flag_nonlinear =PETSC_FALSE |
flag to set if wanting to add nonlinear terms (default false)
| PetscBool SPE::SPE::flag_normalize =PETSC_TRUE |
normalize by maximum fluctuating quantitiy (during initial scaling) (default true)
| PetscBool SPE::SPE::flag_one_grid_pt_less_z =PETSC_TRUE |
one grid point less in the z-direction (from the stated Deltaz) (Default true)
| PetscBool SPE::SPE::flag_OSS_gov_Schmid =PETSC_FALSE |
Use Schmid Orr-Sommerfield governing equations and inflated matrix as found in equation 7.110 of his textbook (default false)
| PetscBool SPE::SPE::flag_p_term =PETSC_FALSE |
flag to neglect pressure term (to allow for smaller \(x\) step size) (default false)
| PetscBool SPE::SPE::flag_parallel_baseflow =PETSC_FALSE |
flag to indicte if wanting parallel baseflow (default false)
| PetscBool SPE::SPE::flag_parallel_blasius =PETSC_FALSE |
flag to indicte if wanting parallel blasius base flow (default false)
| PetscBool SPE::SPE::flag_read_matlab_filename =PETSC_FALSE |
flag to state if reading file in from matlab scripts
| PetscBool SPE::SPE::flag_read_q_filename =PETSC_FALSE |
flag to state if reading file in from python scripts
| PetscBool SPE::SPE::flag_set_D =PETSC_FALSE |
flag to set derivative operators
| PetscBool SPE::SPE::flag_set_I =PETSC_FALSE |
flag to set identity matrix
| PetscBool SPE::SPE::flag_staggered_base_flow =PETSC_FALSE |
flag to set if wanting to solve semi-staggered base flow (pressure is size ny-1 located between velocity points) (default false)
| PetscBool SPE::SPE::flag_trapzy =PETSC_FALSE |
flag if set trapezoidal rule operator for y direction integral
| PetscBool SPE::SPE::flag_trapzz =PETSC_FALSE |
flag if set trapezoidal rule operator for z direction integral
| PetscBool SPE::SPE::flag_uniform =PETSC_TRUE |
uniform mesh?
| PetscBool SPE::SPE::flag_update_alpha =PETSC_TRUE |
update alpha in matrices every \(x\)-step (default true)
| Vec SPE::SPE::Fn |
nonlinear forcing terms (going to be averaged)
| PetscScalar SPE::SPE::hx |
distance to march in \(x\)-direction (default 2.5)
| Mat SPE::SPE::I |
identity matrix, useful in setting up A,B
| Mat SPE::SPE::I_4nznt |
Identity matrix, useful for setting up baseflow from ny to size dim using kron.
| Mat SPE::SPE::I_dim |
Identity matrix of size dim.
| PetscScalar SPE::SPE::Ialpha |
\( \int_{x_i}^{x_{i+1}} \alpha(x) dx \) spatial eigenvalue ( \(x\)-direction) (this is integrated using trapezoidal rule in update_Nonlinear
| PetscScalar SPE::SPE::Ialpha_old |
\( \int_{x_{i-1}}^{x_{i}} \alpha(x) dx \) spatial eigenvalue ( \(x\)-direction) (this is integrated using trapezoidal rule in update_Nonlinear
| PetscErrorCode SPE::SPE::ierr |
flag to catch error from Petsc functions
| PetscReal SPE::SPE::initial_amplitude |
initial TS amplitude (of normalized eigenvector if using normalizing) (default 0.0025)
| Mat SPE::SPE::IP |
identity matrix, useful in setting up A,B (of size ny by ny-1 for pressure terms)
| PetscInt SPE::SPE::istep |
Global marching step for SPE.
| PetscScalar SPE::SPE::m |
\(m\) (default 1)
| Mat SPE::SPE::MatTrapz |
trapezoidal operator for the integral in all directions \((\mathrm{Trapz})f(var,y,z,t) = \int f(var,y,z,t) d\Omega\)
| Mat SPE::SPE::MatTrapzt |
trapezoidal operator for the integral in the t direction \((\mathrm{Trapzt})f(t) = \int f(t) dt\)
| Mat SPE::SPE::MatTrapzy |
trapezoidal operator for the integral in the y direction \((\mathrm{Trapzy})f(y,z,t) = \int f(y,z,t) dy\)
| Mat SPE::SPE::MatTrapzz |
trapezoidal operator for the integral in the z direction \((\mathrm{Trapzz})f(z,t) = \int f(z,t) dz\)
| PetscInt SPE::SPE::multiply_nypts_for_bblf |
blasius boundary layer flow multiply ny by this number to integrate a uniform grid even further (default 100)
| PetscReal SPE::SPE::nonlinear_error |
nonlinear error value \( |q^{N} - q^{N-1}| \)
| PetscInt SPE::SPE::nonlinear_iter |
current nonlinear iteration number (changed in update_Nonlinear.cpp)
| PetscReal SPE::SPE::nonlinear_tol |
nonlinear tolerance (exit nonlinear iterations once nonlinear error is below this tolerance) (default 1E-9)
| PetscInt SPE::SPE::nt |
number of grid points in the t-direction (default 1, steady state)
| PetscScalar SPE::SPE::nu |
viscous \(\nu\) term in the equation (Blasius BL)
| PetscScalar SPE::SPE::num_boundary_layers_high |
number of boundary layers (approx) high to create the grid by default (default 6)
| PetscInt SPE::SPE::ny |
number of grid points in the y-direction (default 101)
| PetscInt SPE::SPE::nz |
number of grid points in the z-direction (default 6)
| PetscScalar SPE::SPE::omega |
\( \omega \) temporal eigenvalue (default 0.3)
| PetscScalar * SPE::SPE::ones |
vector of ny length of ones, used to initialize one petsc Vec
| Vec SPE::SPE::onesVecny |
Vector of ones.
| PetscInt SPE::SPE::order |
order of accuracy (default 4)
| PetscInt SPE::SPE::OSS_nev |
number of eigenvalues to solve near the target_alpha for the Ax_kBx OSS solver
| std::string SPE::SPE::output_folder |
output folder to
| Mat SPE::SPE::P |
base flow pressure term
| Mat SPE::SPE::P_avg_z_base |
matrix to average in z-direction a vector of size dim and output for base flow [U,V,P]
| Mat SPE::SPE::P_avg_z_dim |
matrix to average in z-direction a vector of size dim
| Mat_4terms SPE::SPE::P_cont_dim |
permutation matrix to premultiply to dim matrix to extract only the continuity equation rows
| Mat SPE::SPE::P_del_freestream_cont_base_flow |
permutation matrix to premultiply to A from the base flow solver to remove freestream continuity equation (to obtain 3ny-1 equations for the 3ny-1 unknowns) (this is of size 3ny-1 by 3ny)
| Mat SPE::SPE::P_i |
base flow pressure term
| PetscScalar SPE::SPE::P_inf |
P_infinity freestream pressure (defaults set to 1)
| Mat SPE::SPE::P_nynznt_to_dim_vel_only |
permutation matrix to premultiply to nonlinear pointwise terms of size ny by nz from the SPE solver, to get the q velocity componenets. (for example, if we have a vector of size ny by nz, this will create the q shape (4 ny nz) where the vector values are repeated three times where the velocity componenets are. This is useful for the nonlinear terms)
| Mat SPE::SPE::P_P_from_Q |
permutation matrix to premultiply to Q from the base flow solver, to get the P primitive variables base flow velocity only (instead of the (U, V, P) Q vector from the base flow solver).
| Mat SPE::SPE::P_p_from_q |
| Mat SPE::SPE::P_SPE_from_4nynz |
permutation matrix to premultiply to q (of size 4 ny nz) from the OSS solver, to get the u,v,w,P primitive variables for the defined nt grid, of size dim by 4nynz
| Mat SPE::SPE::P_SPE_from_OSS |
permutation matrix to premultiply to q from the OSS solver, to get the u,v,w,P primitive variables only (instead of the (u, alpha*v, v, alpha*w, w, P) q vector from the OSS solver).
| Mat_4terms SPE::SPE::P_u_dim |
4 permutation matrices to premultiply to dim matrix to extract only the u equation rows
| Mat SPE::SPE::P_u_from_q |
| Mat SPE::SPE::P_U_from_Q |
permutation matrix to premultiply to Q from the base flow solver, to get the U primitive variables base flow velocity only (instead of the (U, V, P) Q vector from the base flow solver).
| Mat_4terms SPE::SPE::P_v_dim |
permutation matrix to premultiply to dim matrix to extract only the v equation rows
| Mat SPE::SPE::P_v_from_q |
| Mat SPE::SPE::P_V_from_Q |
permutation matrix to premultiply to Q from the base flow solver, to get the V primitive variables base flow velocity only (instead of the (U, V, P) Q vector from the base flow solver).
| Mat_4terms SPE::SPE::P_w_dim |
permutation matrix to premultiply to dim matrix to extract only the w equation rows
| Mat SPE::SPE::P_w_from_q |
| Vec SPE::SPE::Q |
state vector of base flow at the current marching step location [U,V,P] (guess for nonlinear iteration)
| Vec SPE::SPE::q |
\( q_i \)
| Vec SPE::SPE::q_af |
nonlinear af of size 4*ny*nz
| Vec SPE::SPE::Q_i |
state vector of base flow at previous marching step location [U,V,P]
| Vec * SPE::SPE::Q_istep |
array of size baseflow_steps+1 to give the baseflow state at each sub baseflow step (only used if using steps>1)
| Vec SPE::SPE::q_x |
\( \frac{\partial q_{i+1}}{\partial x} \) computed from backward difference
| Vec SPE::SPE::q_xdf |
nonlinear df of size 4*ny*nz
| Vec SPE::SPE::q_ybf |
nonlinear bf of size 4*ny*nz
| Vec SPE::SPE::q_z |
\( \frac{\partial q_{i+1}}{\partial z} \)
| Vec SPE::SPE::q_zef |
nonlinear ef of size 4*ny*nz
| Vec SPE::SPE::qp1 |
\( q_{i+1} \)
| Vec SPE::SPE::qp1_oldNonLinear |
\( q_{i+1} \) from previous nonlinear iteration
| Vec SPE::SPE::qp1_OSS |
\( q_{i+1} \) for OSS solver (larger vector)
| PetscScalar SPE::SPE::Re |
Reynolds number (default 2000)
| PetscScalar SPE::SPE::Re0 |
Reynolds number at original x0 location (start of SPE) (default 2000)
| std::string SPE::SPE::read_matlab_filename |
base filename if reading output from the matlab scripts
| std::string SPE::SPE::read_q_filename |
base filename if reading output from the OSS python scripts
| PetscBool SPE::SPE::reduce_wall_order =PETSC_TRUE |
do we want to reduce the order of the derivative at the wall? (only in y-direction because z is periodic)
| PetscScalar SPE::SPE::rho |
density of fluid (default 100)
| PetscScalar SPE::SPE::sum_divergence |
base flow divergence calculation from blausius profile (for checking purposes
| PetscScalar SPE::SPE::T |
\(T\) period of time dimension, corresponds to \(T = \frac{2 \pi}{\omega}\).
| PetscScalar * SPE::SPE::t |
t vector (each processor has whole vector)
| PetscScalar SPE::SPE::target_alpha |
target \( \alpha \) spatial eigenvalue ( \(x\)-direction) that we want to converge to (1.72 times by literature values)
| Mat SPE::SPE::tempMatny |
Temporary Matrix to help solve map of derivatives.
| Vec SPE::SPE::tempVecny |
temporary vector
| Vec SPE::SPE::tempVecnynz |
temporary vector of size ny*nz
| Vec SPE::SPE::tempVecq |
temporary vector of size qp1 (4*ny*nz)
| Vec SPE::SPE::Trapzy |
trapezoidal operator for the integral in the y direction \((\mathrm{Trapzy})f(y,z) = \int f(y,z) dy\)
| Vec SPE::SPE::Trapzz |
trapezoidal operator for the integral in the z direction \((\mathrm{Trapzz})f(y,z) = \int f(y,z) dz\)
| Vec SPE::SPE::tVec |
z values in Petsc parallel vector
| PetscInt SPE::SPE::type_base_flow |
1=Poisuille channel flow, 2=Blasius Flat-Plate
| PetscInt SPE::SPE::type_marching |
type of marching [1=Implicit Euler (default), 2=Crank-Nicolson]
| Mat SPE::SPE::U |
base flow \(U\) velocity
| Vec SPE::SPE::u |
\( u \) for nonlinear solver (size ny*nz*nt)
| Mat SPE::SPE::U_dim |
base flow \(U\) velocity of size dim
| Mat SPE::SPE::U_i |
base flow of previous marching step
| PetscScalar SPE::SPE::U_inf |
U_infinity freestream velocity (defaults set to 1)
| Mat SPE::SPE::UDy |
matmatmult of \(U \mathcal{D}_y\)
| Mat SPE::SPE::UDy_dim |
matmatmult of \(U \mathcal{D}_y\) of size dim
| Vec SPE::SPE::uhatconj |
\( conj(\hat{u}) \) for nonlinear solver (size ny*nz*nt)
| Mat SPE::SPE::Ux |
base flow \(\frac{\partial U}{\partial x}\)
| Mat SPE::SPE::Ux_dim |
base flow \(\frac{\partial U}{\partial x}\) of size dim
| Mat SPE::SPE::Uy |
base flow \(\frac{\partial U}{\partial y}\)
| Mat SPE::SPE::Uy_dim |
base flow \(\frac{\partial U}{\partial y}\) of size dim
| Mat SPE::SPE::V |
base flow \(V\) velocity
| Vec SPE::SPE::v |
\( v \) for nonlinear solver (size ny*nz*nt)
| Mat SPE::SPE::V_dim |
base flow \(V\) velocity of size dim
| Mat SPE::SPE::V_i |
base flow of previous marching step
| PetscScalar SPE::SPE::V_inf |
V_infinity freestream velocity (defaults set to 1)
| Mat SPE::SPE::VDy |
matmatmult of \(V \mathcal{D}_y\)
| Mat SPE::SPE::VDy_dim |
matmatmult of \(V \mathcal{D}_y\) of size dim
| Vec SPE::SPE::vhatconj |
\( conj(\hat{v}) \) for nonlinear solver (size ny*nz*nt)
| Mat SPE::SPE::Vx |
base flow \(\frac{\partial V}{\partial x}\)
| Mat SPE::SPE::Vx_dim |
base flow \(\frac{\partial V}{\partial x}\) of size dim
| Mat SPE::SPE::Vy |
base flow \(\frac{\partial V}{\partial y}\)
| Mat SPE::SPE::Vy_dim |
base flow \(\frac{\partial V}{\partial y}\) of size dim
| Vec SPE::SPE::w |
\( w \) for nonlinear solver (size ny*nz*nt)
| Vec SPE::SPE::whatconj |
\( conj(\hat{w}) \) for nonlinear solver (size ny*nz*nt)
| PetscScalar SPE::SPE::x |
\(x\)-location
| PetscScalar * SPE::SPE::xi |
xi uniform vector [0,1] (each processor has whole vector)
| PetscInt SPE::SPE::xsteps |
number of steps to take (default 15)
| PetscScalar* SPE::SPE::y |
y vector (each processor has whole vector)
| PetscScalar * SPE::SPE::yP |
yP vector (each processor has whole vector) (pressure locations of size ny-1)
| Vec SPE::SPE::yPVec |
yP values in Petsc parallel vector (pressure locations of size ny-1)
| Vec SPE::SPE::yVec |
y values in Petsc parallel vector
| PetscScalar * SPE::SPE::z |
z vector (each processor has whole vector)
| Vec SPE::SPE::zVec |
z values in Petsc parallel vector
1.8.11