Chombo + EB  3.0
Public Member Functions | Protected Attributes | List of all members
PetscSolverViscousTensor< T > Class Template Reference

#include <PetscSolver.H>

Inheritance diagram for PetscSolverViscousTensor< T >:
Inheritance graph
[legend]

Public Member Functions

 PetscSolverViscousTensor ()
 
virtual void define (LinearOp< LevelData< FArrayBox > > *a_operator, bool a_homogeneous=false)
 
virtual int getNNZPerRow () const
 
void setVTParams (Real alpha, Real beta, LevelData< FArrayBox > *a, LevelData< FluxBox > *eta, LevelData< FluxBox > *lam)
 
- Public Member Functions inherited from PetscSolverFAB< LevelData< FArrayBox > >
 PetscSolverFAB ()
 
BaseFab< Real > & getRegFab (LevelData< FArrayBox > &a_fab, DataIterator &dit)
 
const BaseFab< Real > & getRegFab (const LevelData< FArrayBox > &a_fab, DataIterator &dit) const
 
const BaseFab< Real > & getRegFab (const LevelData< FArrayBox > &a_fab, DataIterator &a_dit, Box &a_box) const
 
void defineData (LevelData< FArrayBox > &a_fab, const LevelData< FArrayBox > &a_phi)
 
- Public Member Functions inherited from PetscSolver< LevelData< FArrayBox > >
 PetscSolver ()
 
virtual ~PetscSolver ()
 
void destroy ()
 
virtual void setHomogeneous (bool a_homogeneous)
 
virtual void solve (LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_rhs)
 
int solve_private (LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_rhs)
 
Real computeResidual ()
 
int applyOp (LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_rhs)
 
void setInitialGuessNonzero (bool b=true)
 
void setNull (bool n=true)
 
- Public Member Functions inherited from LinearSolver< LevelData< FArrayBox > >
virtual ~LinearSolver ()
 
virtual void setConvergenceMetrics (Real a_metric, Real a_tolerance)
 Set a convergence metric, along with solver tolerance, if desired. More...
 

Protected Attributes

Real m_alpha
 
Real m_beta
 
Real m_dxCrse
 
LevelData< FArrayBox > * m_a
 
LevelData< FluxBox > * m_eta
 
LevelData< FluxBox > * m_lamb
 
- Protected Attributes inherited from PetscSolver< LevelData< FArrayBox > >
bool m_null
 
bool m_nz_init_guess
 
LevelData< FArrayBoxm_gids
 
LevelData< BaseFab< bool > > m_bccode
 
int m_gid0
 

Additional Inherited Members

- Public Attributes inherited from PetscSolver< LevelData< FArrayBox > >
bool m_homogeneous
 
Real m_dx
 
- Protected Member Functions inherited from PetscSolver< LevelData< FArrayBox > >
virtual Real addBCdiagValue (const IntVect &a_iv, const IntVect &a_jv, const LevelData< FArrayBox > &a_rhs, DataIterator dit, const Real coeff=1)
 
int resetOperator ()
 
virtual Real addBCrhsValue (const IntVect &a_iv, const LevelData< FArrayBox > &a_phi, DataIterator dit, const Real &coeff=1)
 
int create_mat_vec (const LevelData< FArrayBox > &a_phi)
 
int setup_solver (const LevelData< FArrayBox > &a_phi)
 

Constructor & Destructor Documentation

◆ PetscSolverViscousTensor()

template<class T >
PetscSolverViscousTensor< T >::PetscSolverViscousTensor ( )

Member Function Documentation

◆ define()

template<class T >
virtual void PetscSolverViscousTensor< T >::define ( LinearOp< LevelData< FArrayBox > > *  a_operator,
bool  a_homogeneous = false 
)
virtual

Set Function F(u) = 0 and Jacobian dF(u)/du for nonlinear solves

Reimplemented from PetscSolver< LevelData< FArrayBox > >.

◆ getNNZPerRow()

template<class T >
virtual int PetscSolverViscousTensor< T >::getNNZPerRow ( ) const
inlinevirtual

get an estimate of the number of nnz/row for matrix allocation

Reimplemented from PetscSolver< LevelData< FArrayBox > >.

◆ setVTParams()

template<class T >
void PetscSolverViscousTensor< T >::setVTParams ( Real  alpha,
Real  beta,
LevelData< FArrayBox > *  a,
LevelData< FluxBox > *  eta,
LevelData< FluxBox > *  lam 
)
inline

Member Data Documentation

◆ m_alpha

template<class T >
Real PetscSolverViscousTensor< T >::m_alpha
protected

◆ m_beta

template<class T >
Real PetscSolverViscousTensor< T >::m_beta
protected

◆ m_dxCrse

template<class T >
Real PetscSolverViscousTensor< T >::m_dxCrse
protected

◆ m_a

template<class T >
LevelData<FArrayBox>* PetscSolverViscousTensor< T >::m_a
protected

◆ m_eta

template<class T >
LevelData<FluxBox>* PetscSolverViscousTensor< T >::m_eta
protected

◆ m_lamb

template<class T >
LevelData<FluxBox>* PetscSolverViscousTensor< T >::m_lamb
protected

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