https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Functions
NavierStokesProblem.C File Reference

Go to the source code of this file.

Functions

 registerMooseObject ("NavierStokesApp", NavierStokesProblem)
 
 _commute_lsc (getParam< bool >("commute_lsc"))
 
 _mass_matrix (getParam< TagName >("mass_matrix"))
 
 _L_matrix (getParam< TagName >("L_matrix"))
 
 _have_mass_matrix (!_mass_matrix.empty())
 
 _have_L_matrix (!_L_matrix.empty())
 
 _set_schur_pre ((getParam< MooseEnum >("set_schur_pre").getEnum< SetSchurPreType >()))
 
 _schur_fs_index (getParam< std::vector< unsigned int > >("schur_fs_index"))
 
 _index_sets (_schur_fs_index.size())
 
 _field_split_post_setup_contexts (_schur_fs_index.size()+1)
 

Function Documentation

◆ _commute_lsc()

_commute_lsc ( getParam< bool >  "commute_lsc")

◆ _field_split_post_setup_contexts()

_field_split_post_setup_contexts ( _schur_fs_index.size()+  1)

Definition at line 63 of file NavierStokesProblem.C.

64{
65 for (const auto tree_position : index_range(_field_split_post_setup_contexts))
66 _field_split_post_setup_contexts[tree_position] = {this, tree_position};
67
68 if (_commute_lsc)
69 {
71 paramError("mass_matrix",
72 "A pressure mass matrix must be provided if we are commuting the LSC commutator.");
73 if (!_have_L_matrix)
74 paramError("L_matrix",
75 "A matrix corresponding to the viscous component of the momentum equation must be "
76 "provided if we are commuting the LSC commutator.");
77 }
78 else if (_have_L_matrix)
79 paramError("L_matrix",
80 "If not commuting the LSC commutator, then the 'L_matrix' should not be provided "
81 "because it will not be used. For Elman LSC preconditioning, L will be computed "
82 "automatically using system matrix data (e.g. the off-diagonal blocks in the "
83 "velocity-pressure system).");
84
85 if ((_set_schur_pre != SetSchurPreType::FALSE) && !_have_mass_matrix)
86 paramError(
87 "mass_matrix",
88 "If requesting to use the mass matrix as part of the Schur complement preconditioner via "
89 "'set_schur_pre', then a pressure 'mass_matrix' must be provided");
90}
_have_L_matrix(!_L_matrix.empty())
_commute_lsc(getParam< bool >("commute_lsc"))
_set_schur_pre((getParam< MooseEnum >("set_schur_pre").getEnum< SetSchurPreType >()))
_field_split_post_setup_contexts(_schur_fs_index.size()+1)
_have_mass_matrix(!_mass_matrix.empty())
auto index_range(const T &sizable)

Referenced by _field_split_post_setup_contexts().

◆ _have_L_matrix()

_have_L_matrix ( !_L_matrix.  empty())

◆ _have_mass_matrix()

_have_mass_matrix ( !_mass_matrix.  empty())

◆ _index_sets()

_index_sets ( _schur_fs_index.  size())

◆ _L_matrix()

_L_matrix ( getParam< TagName >  "L_matrix")

◆ _mass_matrix()

_mass_matrix ( getParam< TagName >  "mass_matrix")

◆ _schur_fs_index()

_schur_fs_index ( getParam< std::vector< unsigned int > >  "schur_fs_index")

◆ _set_schur_pre()

_set_schur_pre ( (getParam< MooseEnum >("set_schur_pre").getEnum< SetSchurPreType >())  )

◆ registerMooseObject()

registerMooseObject ( "NavierStokesApp"  ,
NavierStokesProblem   
)