Base class to compute the advective flux of fluid in PorousFlow situations using the Kuzmin-Turek FEM-TVD multidimensional stabilization scheme. More...
#include <PorousFlowAdvectiveFluxCalculatorBase.h>
Public Member Functions | |
PorousFlowAdvectiveFluxCalculatorBase (const InputParameters ¶meters) | |
const std::map< dof_id_type, std::vector< Real > > & | getdFluxOut_dvars (unsigned node_id) const |
Returns d(flux_out)/d(porous_flow_variables. More... | |
virtual void | meshChanged () override |
Real | getFluxOut (dof_id_type node_i) const |
Returns the flux out of lobal node id. More... | |
const std::map< dof_id_type, Real > & | getdFluxOutdu (dof_id_type node_i) const |
Returns r where r[j] = d(flux out of global node i)/du(global node j) used in Jacobian computations. More... | |
const std::vector< std::vector< Real > > & | getdFluxOutdKjk (dof_id_type node_i) const |
Returns r where r[j][k] = d(flux out of global node i)/dK[connected node j][connected node k] used in Jacobian computations. More... | |
unsigned | getValence (dof_id_type node_i) const |
Returns the valence of the global node i Valence is the number of times the node is encountered in a loop over elements (that have appropriate subdomain_id, if the user has employed the "blocks=" parameter) seen by this processor (including ghosted elements) More... | |
SubProblem & | getSubProblem () const |
bool | shouldDuplicateInitialExecution () const |
virtual Real | spatialValue (const Point &) const |
virtual const std::vector< Point > | spatialPoints () const |
void | gatherSum (T &value) |
void | gatherMax (T &value) |
void | gatherMin (T &value) |
void | gatherProxyValueMax (T1 &value, T2 &proxy) |
void | gatherProxyValueMin (T1 &value, T2 &proxy) |
void | setPrimaryThreadCopy (UserObject *primary) |
UserObject * | primaryThreadCopy () |
std::set< UserObjectName > | getDependObjects () const |
virtual bool | needThreadedCopy () const |
const std::set< std::string > & | getRequestedItems () override |
const std::set< std::string > & | getSuppliedItems () override |
unsigned int | systemNumber () const |
virtual bool | enabled () const |
MooseApp & | getMooseApp () const |
const std::string & | type () const |
virtual const std::string & | name () const |
std::string | typeAndName () const |
MooseObjectParameterName | uniqueParameterName (const std::string ¶meter_name) const |
const InputParameters & | parameters () const |
MooseObjectName | uniqueName () const |
const T & | getParam (const std::string &name) const |
std::vector< std::pair< T1, T2 > > | getParam (const std::string ¶m1, const std::string ¶m2) const |
const T & | getRenamedParam (const std::string &old_name, const std::string &new_name) const |
T | getCheckedPointerParam (const std::string &name, const std::string &error_string="") const |
bool | isParamValid (const std::string &name) const |
bool | isParamSetByUser (const std::string &nm) const |
void | paramError (const std::string ¶m, Args... args) const |
void | paramWarning (const std::string ¶m, Args... args) const |
void | paramInfo (const std::string ¶m, Args... args) const |
std::string | objectErrorPrefix (const std::string &error_type) const |
void | connectControllableParams (const std::string ¶meter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const |
void | mooseError (Args &&... args) const |
void | mooseErrorNonPrefixed (Args &&... args) const |
void | mooseWarning (Args &&... args) const |
void | mooseWarningNonPrefixed (Args &&... args) const |
void | mooseDeprecated (Args &&... args) const |
void | mooseInfo (Args &&... args) const |
std::string | errorPrefix (const std::string &error_type) const |
std::string | getDataFileName (const std::string ¶m) const |
std::string | getDataFileNameByName (const std::string &name, const std::string *param=nullptr) const |
virtual void | initialSetup () |
virtual void | jacobianSetup () |
virtual void | residualSetup () |
virtual void | subdomainSetup () |
virtual void | customSetup (const ExecFlagType &) |
const ExecFlagEnum & | getExecuteOnEnum () const |
UserObjectName | getUserObjectName (const std::string ¶m_name) const |
const T & | getUserObject (const std::string ¶m_name, bool is_dependency=true) const |
const T & | getUserObjectByName (const UserObjectName &object_name, bool is_dependency=true) const |
const UserObject & | getUserObjectBase (const std::string ¶m_name, bool is_dependency=true) const |
const UserObject & | getUserObjectBaseByName (const UserObjectName &object_name, bool is_dependency=true) const |
const std::vector< SubdomainName > & | blocks () const |
unsigned int | numBlocks () const |
virtual const std::set< SubdomainID > & | blockIDs () const |
unsigned int | blocksMaxDimension () const |
bool | hasBlocks (const SubdomainName &name) const |
bool | hasBlocks (const std::vector< SubdomainName > &names) const |
bool | hasBlocks (SubdomainID id) const |
bool | hasBlocks (const std::vector< SubdomainID > &ids) const |
bool | hasBlocks (const std::set< SubdomainID > &ids) const |
bool | isBlockSubset (const std::set< SubdomainID > &ids) const |
bool | isBlockSubset (const std::vector< SubdomainID > &ids) const |
bool | hasBlockMaterialProperty (const std::string &prop_name) |
const std::set< SubdomainID > & | meshBlockIDs () const |
virtual bool | blockRestricted () const |
virtual void | checkVariable (const MooseVariableFieldBase &variable) const |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialProperty (const std::string &name, MaterialData &material_data, const unsigned int state=0) |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialProperty (const std::string &name, const unsigned int state=0) |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialProperty (const std::string &name, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialProperty (const std::string &name, MaterialData &material_data, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialProperty (const std::string &name, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialProperty (const std::string &name, const unsigned int state=0) |
const ADMaterialProperty< T > & | getADMaterialProperty (const std::string &name, MaterialData &material_data) |
const ADMaterialProperty< T > & | getADMaterialProperty (const std::string &name) |
const ADMaterialProperty< T > & | getADMaterialProperty (const std::string &name) |
const MaterialProperty< T > & | getMaterialPropertyOld (const std::string &name, MaterialData &material_data) |
const MaterialProperty< T > & | getMaterialPropertyOld (const std::string &name) |
const MaterialProperty< T > & | getMaterialPropertyOld (const std::string &name) |
const MaterialProperty< T > & | getMaterialPropertyOlder (const std::string &name, MaterialData &material_data) |
const MaterialProperty< T > & | getMaterialPropertyOlder (const std::string &name) |
const MaterialProperty< T > & | getMaterialPropertyOlder (const std::string &name) |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data, const unsigned int state) |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0) |
const GenericMaterialProperty< T, is_ad > & | getGenericMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0) |
const MaterialProperty< T > & | getMaterialPropertyByName (const MaterialPropertyName &name, const unsigned int state=0) |
const ADMaterialProperty< T > & | getADMaterialPropertyByName (const MaterialPropertyName &name, MaterialData &material_data) |
const ADMaterialProperty< T > & | getADMaterialPropertyByName (const MaterialPropertyName &name) |
const ADMaterialProperty< T > & | getADMaterialPropertyByName (const MaterialPropertyName &name) |
const MaterialProperty< T > & | getMaterialPropertyOldByName (const MaterialPropertyName &name, MaterialData &material_data) |
const MaterialProperty< T > & | getMaterialPropertyOldByName (const MaterialPropertyName &name) |
const MaterialProperty< T > & | getMaterialPropertyOldByName (const MaterialPropertyName &name) |
const MaterialProperty< T > & | getMaterialPropertyOlderByName (const MaterialPropertyName &name, MaterialData &material_data) |
const MaterialProperty< T > & | getMaterialPropertyOlderByName (const MaterialPropertyName &name) |
const MaterialProperty< T > & | getMaterialPropertyOlderByName (const MaterialPropertyName &name) |
std::pair< const MaterialProperty< T > *, std::set< SubdomainID > > | getBlockMaterialProperty (const MaterialPropertyName &name) |
const GenericMaterialProperty< T, is_ad > & | getGenericZeroMaterialProperty (const std::string &name) |
const GenericMaterialProperty< T, is_ad > & | getGenericZeroMaterialProperty () |
const GenericMaterialProperty< T, is_ad > & | getGenericZeroMaterialPropertyByName (const std::string &prop_name) |
const MaterialProperty< T > & | getZeroMaterialProperty (Ts... args) |
std::set< SubdomainID > | getMaterialPropertyBlocks (const std::string &name) |
std::vector< SubdomainName > | getMaterialPropertyBlockNames (const std::string &name) |
std::set< BoundaryID > | getMaterialPropertyBoundaryIDs (const std::string &name) |
std::vector< BoundaryName > | getMaterialPropertyBoundaryNames (const std::string &name) |
void | checkBlockAndBoundaryCompatibility (std::shared_ptr< MaterialBase > discrete) |
std::unordered_map< SubdomainID, std::vector< MaterialBase *> > | buildRequiredMaterials (bool allow_stateful=true) |
void | statefulPropertiesAllowed (bool) |
bool | getMaterialPropertyCalled () const |
const std::unordered_set< unsigned int > & | getMatPropDependencies () const |
virtual void | resolveOptionalProperties () |
const GenericMaterialProperty< T, is_ad > & | getPossiblyConstantGenericMaterialPropertyByName (const MaterialPropertyName &prop_name, MaterialData &material_data, const unsigned int state) |
const std::unordered_map< std::string, std::vector< MooseVariableFieldBase *> > & | getCoupledVars () const |
const std::vector< MooseVariableFieldBase *> & | getCoupledMooseVars () const |
const std::vector< MooseVariable *> & | getCoupledStandardMooseVars () const |
const std::vector< VectorMooseVariable *> & | getCoupledVectorMooseVars () const |
const std::vector< ArrayMooseVariable *> & | getCoupledArrayMooseVars () const |
void | addFEVariableCoupleableVectorTag (TagID tag) |
void | addFEVariableCoupleableMatrixTag (TagID tag) |
std::set< TagID > & | getFEVariableCoupleableVectorTags () |
const std::set< TagID > & | getFEVariableCoupleableVectorTags () const |
std::set< TagID > & | getFEVariableCoupleableMatrixTags () |
const std::set< TagID > & | getFEVariableCoupleableMatrixTags () const |
auto & | getWritableCoupledVariables () const |
bool | hasWritableCoupledVariables () const |
const ADVariableValue * | getADDefaultValue (const std::string &var_name) const |
const ADVectorVariableValue * | getADDefaultVectorValue (const std::string &var_name) const |
const ADVariableGradient & | getADDefaultGradient () const |
const ADVectorVariableGradient & | getADDefaultVectorGradient () const |
const ADVariableSecond & | getADDefaultSecond () const |
const std::set< MooseVariableFieldBase *> & | getMooseVariableDependencies () const |
std::set< MooseVariableFieldBase *> | checkAllVariables (const DofObjectType &dof_object, const std::set< MooseVariableFieldBase * > &vars_to_omit={}) |
std::set< MooseVariableFieldBase *> | checkVariables (const DofObjectType &dof_object, const std::set< MooseVariableFieldBase * > &vars_to_check) |
bool | isImplicit () |
void | setRandomResetFrequency (ExecFlagType exec_flag) |
unsigned long | getRandomLong () const |
Real | getRandomReal () const |
unsigned int | getSeed (std::size_t id) |
unsigned int | getMasterSeed () const |
bool | isNodal () const |
ExecFlagType | getResetOnTime () const |
void | setRandomDataPointer (RandomData *random_data) |
virtual unsigned int | getElementIDIndex (const std::string &id_parameter_name, unsigned int comp=0) const |
virtual unsigned int | getElementIDIndexByName (const std::string &id_name) const |
virtual const dof_id_type & | getElementID (const std::string &id_parameter_name, unsigned int comp=0) const |
dof_id_type | getElementID (const Elem *elem, unsigned int elem_id_index) const |
virtual const dof_id_type & | getElementIDNeighbor (const std::string &id_parameter_name, unsigned int comp=0) const |
virtual const dof_id_type & | getElementIDByName (const std::string &id_name) const |
virtual const dof_id_type & | getElementIDNeighborByName (const std::string &id_name) const |
bool | hasElementID (const std::string &id_name) const |
dof_id_type | maxElementID (unsigned int elem_id_index) const |
dof_id_type | minElementID (unsigned int elem_id_index) const |
bool | areElemIDsIdentical (const std::string &id_name1, const std::string &id_name2) const |
std::unordered_map< dof_id_type, std::set< dof_id_type > > | getElemIDMapping (const std::string &id_name1, const std::string &id_name2) const |
std::set< dof_id_type > | getAllElemIDs (unsigned int elem_id_index) const |
std::set< dof_id_type > | getElemIDsOnBlocks (unsigned int elem_id_index, const std::set< SubdomainID > &blks) const |
bool | hasUserObject (const std::string ¶m_name) const |
bool | hasUserObject (const std::string ¶m_name) const |
bool | hasUserObject (const std::string ¶m_name) const |
bool | hasUserObject (const std::string ¶m_name) const |
bool | hasUserObjectByName (const UserObjectName &object_name) const |
bool | hasUserObjectByName (const UserObjectName &object_name) const |
bool | hasUserObjectByName (const UserObjectName &object_name) const |
bool | hasUserObjectByName (const UserObjectName &object_name) const |
const GenericOptionalMaterialProperty< T, is_ad > & | getGenericOptionalMaterialProperty (const std::string &name, const unsigned int state=0) |
const GenericOptionalMaterialProperty< T, is_ad > & | getGenericOptionalMaterialProperty (const std::string &name, const unsigned int state=0) |
const OptionalMaterialProperty< T > & | getOptionalMaterialProperty (const std::string &name, const unsigned int state=0) |
const OptionalMaterialProperty< T > & | getOptionalMaterialProperty (const std::string &name, const unsigned int state=0) |
const OptionalADMaterialProperty< T > & | getOptionalADMaterialProperty (const std::string &name) |
const OptionalADMaterialProperty< T > & | getOptionalADMaterialProperty (const std::string &name) |
const OptionalMaterialProperty< T > & | getOptionalMaterialPropertyOld (const std::string &name) |
const OptionalMaterialProperty< T > & | getOptionalMaterialPropertyOld (const std::string &name) |
const OptionalMaterialProperty< T > & | getOptionalMaterialPropertyOlder (const std::string &name) |
const OptionalMaterialProperty< T > & | getOptionalMaterialPropertyOlder (const std::string &name) |
MaterialBase & | getMaterial (const std::string &name) |
MaterialBase & | getMaterial (const std::string &name) |
MaterialBase & | getMaterialByName (const std::string &name, bool no_warn=false) |
MaterialBase & | getMaterialByName (const std::string &name, bool no_warn=false) |
bool | hasMaterialProperty (const std::string &name) |
bool | hasMaterialProperty (const std::string &name) |
bool | hasMaterialPropertyByName (const std::string &name) |
bool | hasMaterialPropertyByName (const std::string &name) |
bool | hasADMaterialProperty (const std::string &name) |
bool | hasADMaterialProperty (const std::string &name) |
bool | hasADMaterialPropertyByName (const std::string &name) |
bool | hasADMaterialPropertyByName (const std::string &name) |
bool | hasGenericMaterialProperty (const std::string &name) |
bool | hasGenericMaterialProperty (const std::string &name) |
bool | hasGenericMaterialPropertyByName (const std::string &name) |
bool | hasGenericMaterialPropertyByName (const std::string &name) |
const Function & | getFunction (const std::string &name) const |
const Function & | getFunctionByName (const FunctionName &name) const |
bool | hasFunction (const std::string ¶m_name) const |
bool | hasFunctionByName (const FunctionName &name) const |
bool | isDefaultPostprocessorValue (const std::string ¶m_name, const unsigned int index=0) const |
bool | hasPostprocessor (const std::string ¶m_name, const unsigned int index=0) const |
bool | hasPostprocessorByName (const PostprocessorName &name) const |
std::size_t | coupledPostprocessors (const std::string ¶m_name) const |
const PostprocessorName & | getPostprocessorName (const std::string ¶m_name, const unsigned int index=0) const |
const VectorPostprocessorValue & | getVectorPostprocessorValue (const std::string ¶m_name, const std::string &vector_name) const |
const VectorPostprocessorValue & | getVectorPostprocessorValue (const std::string ¶m_name, const std::string &vector_name, bool needs_broadcast) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueOld (const std::string ¶m_name, const std::string &vector_name) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueOld (const std::string ¶m_name, const std::string &vector_name, bool needs_broadcast) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
const VectorPostprocessorValue & | getVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name, bool needs_broadcast) const |
const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValue (const std::string ¶m_name, const std::string &vector_name) const |
const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValueByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValueOld (const std::string ¶m_name, const std::string &vector_name) const |
const ScatterVectorPostprocessorValue & | getScatterVectorPostprocessorValueOldByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
bool | hasVectorPostprocessor (const std::string ¶m_name, const std::string &vector_name) const |
bool | hasVectorPostprocessor (const std::string ¶m_name) const |
bool | hasVectorPostprocessorByName (const VectorPostprocessorName &name, const std::string &vector_name) const |
bool | hasVectorPostprocessorByName (const VectorPostprocessorName &name) const |
const VectorPostprocessorName & | getVectorPostprocessorName (const std::string ¶m_name) const |
T & | getSampler (const std::string &name) |
Sampler & | getSampler (const std::string &name) |
T & | getSamplerByName (const SamplerName &name) |
Sampler & | getSamplerByName (const SamplerName &name) |
const std::vector< MooseVariableScalar *> & | getCoupledMooseScalarVars () |
const std::set< TagID > & | getScalarVariableCoupleableVectorTags () const |
const std::set< TagID > & | getScalarVariableCoupleableMatrixTags () const |
PerfGraph & | perfGraph () |
const PostprocessorValue & | getPostprocessorValue (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValue (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValueOld (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValueOld (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValueOlder (const std::string ¶m_name, const unsigned int index=0) const |
const PostprocessorValue & | getPostprocessorValueOlder (const std::string ¶m_name, const unsigned int index=0) const |
virtual const PostprocessorValue & | getPostprocessorValueByName (const PostprocessorName &name) const |
virtual const PostprocessorValue & | getPostprocessorValueByName (const PostprocessorName &name) const |
const PostprocessorValue & | getPostprocessorValueOldByName (const PostprocessorName &name) const |
const PostprocessorValue & | getPostprocessorValueOldByName (const PostprocessorName &name) const |
const PostprocessorValue & | getPostprocessorValueOlderByName (const PostprocessorName &name) const |
const PostprocessorValue & | getPostprocessorValueOlderByName (const PostprocessorName &name) const |
bool | isVectorPostprocessorDistributed (const std::string ¶m_name) const |
bool | isVectorPostprocessorDistributed (const std::string ¶m_name) const |
bool | isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const |
bool | isVectorPostprocessorDistributedByName (const VectorPostprocessorName &name) const |
const Distribution & | getDistribution (const std::string &name) const |
const T & | getDistribution (const std::string &name) const |
const Distribution & | getDistribution (const std::string &name) const |
const T & | getDistribution (const std::string &name) const |
const Distribution & | getDistributionByName (const DistributionName &name) const |
const T & | getDistributionByName (const std::string &name) const |
const Distribution & | getDistributionByName (const DistributionName &name) const |
const T & | getDistributionByName (const std::string &name) const |
const Parallel::Communicator & | comm () const |
processor_id_type | n_processors () const |
processor_id_type | processor_id () const |
Static Public Member Functions | |
static InputParameters | validParams () |
static void | sort (typename std::vector< T > &vector) |
static void | sortDFS (typename std::vector< T > &vector) |
static void | cyclicDependencyError (CyclicDependencyException< T2 > &e, const std::string &header) |
Public Attributes | |
const ConsoleStream | _console |
Static Public Attributes | |
static constexpr PropertyValue::id_type | default_property_id |
static constexpr PropertyValue::id_type | zero_property_id |
static constexpr auto | SYSTEM |
static constexpr auto | NAME |
Protected Types | |
enum | FluxLimiterTypeEnum { FluxLimiterTypeEnum::MinMod, FluxLimiterTypeEnum::VanLeer, FluxLimiterTypeEnum::MC, FluxLimiterTypeEnum::superbee, FluxLimiterTypeEnum::None } |
Determines Flux Limiter type (Page 135 of Kuzmin and Turek) "None" means that limitFlux=0 always, which implies zero antidiffusion will be added. More... | |
enum | PQPlusMinusEnum { PQPlusMinusEnum::PPlus, PQPlusMinusEnum::PMinus, PQPlusMinusEnum::QPlus, PQPlusMinusEnum::QMinus } |
Signals to the PQPlusMinus method what should be computed. More... | |
Protected Member Functions | |
virtual void | timestepSetup () override |
virtual void | initialize () override |
virtual void | execute () override |
virtual void | finalize () override |
virtual void | threadJoin (const UserObject &uo) override |
virtual Real | computeVelocity (unsigned i, unsigned j, unsigned qp) const override |
Computes the transfer velocity between current node i and current node j at the current qp in the current element (_current_elem). More... | |
virtual void | executeOnElement (dof_id_type global_i, dof_id_type global_j, unsigned local_i, unsigned local_j, unsigned qp) override |
This is called by multiple times in execute() in a double loop over _current_elem's nodes (local_i and local_j) nested in a loop over each of _current_elem's quadpoints (qp). More... | |
virtual Real | computedU_dvar (unsigned i, unsigned pvar) const =0 |
Compute d(u)/d(porous_flow_variable) More... | |
const std::map< dof_id_type, std::vector< Real > > & | getdK_dvar (dof_id_type node_i, dof_id_type node_j) const |
Returns, r, where r[global node k][a] = d(K[node_i][node_j])/d(porous_flow_variable[global node k][porous_flow_variable a]) More... | |
virtual void | buildCommLists () override |
When using multiple processors, other processors will compute: More... | |
virtual void | exchangeGhostedInfo () override |
Sends and receives multi-processor information regarding u_nodal and k_ij. More... | |
virtual Real | computeU (unsigned i) const =0 |
Computes the value of u at the local node id of the current element (_current_elem) More... | |
void | limitFlux (Real a, Real b, Real &limited, Real &dlimited_db) const |
flux limiter, L, on Page 135 of Kuzmin and Turek More... | |
Real | rPlus (dof_id_type sequential_i, std::vector< Real > &dlimited_du, std::vector< Real > &dlimited_dk) const |
Returns the value of R_{i}^{+}, Eqn (49) of KT. More... | |
Real | rMinus (dof_id_type sequential_i, std::vector< Real > &dlimited_du, std::vector< Real > &dlimited_dk) const |
Returns the value of R_{i}^{-}, Eqn (49) of KT. More... | |
Real | PQPlusMinus (dof_id_type sequential_i, const PQPlusMinusEnum pq_plus_minus, std::vector< Real > &derivs, std::vector< Real > &dpq_dk) const |
Returns the value of P_{i}^{+}, P_{i}^{-}, Q_{i}^{+} or Q_{i}^{-} (depending on pq_plus_minus) which are defined in Eqns (47) and (48) of KT. More... | |
void | zeroedConnection (std::map< dof_id_type, Real > &the_map, dof_id_type node_i) const |
Clears the_map, then, using _kij, constructs the_map so that the_map[node_id] = 0.0 for all node_id connected with node_i. More... | |
virtual void | addPostprocessorDependencyHelper (const PostprocessorName &name) const override |
virtual void | addVectorPostprocessorDependencyHelper (const VectorPostprocessorName &name) const override |
virtual void | addUserObjectDependencyHelper (const UserObject &uo) const override |
void | addReporterDependencyHelper (const ReporterName &reporter_name) override |
const ReporterName & | getReporterName (const std::string ¶m_name) const |
T & | declareRestartableData (const std::string &data_name, Args &&... args) |
ManagedValue< T > | declareManagedRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args) |
const T & | getRestartableData (const std::string &data_name) const |
T & | declareRestartableDataWithContext (const std::string &data_name, void *context, Args &&... args) |
T & | declareRecoverableData (const std::string &data_name, Args &&... args) |
T & | declareRestartableDataWithObjectName (const std::string &data_name, const std::string &object_name, Args &&... args) |
T & | declareRestartableDataWithObjectNameWithContext (const std::string &data_name, const std::string &object_name, void *context, Args &&... args) |
std::string | restartableName (const std::string &data_name) const |
const T & | getMeshProperty (const std::string &data_name, const std::string &prefix) |
const T & | getMeshProperty (const std::string &data_name) |
bool | hasMeshProperty (const std::string &data_name, const std::string &prefix) const |
bool | hasMeshProperty (const std::string &data_name, const std::string &prefix) const |
bool | hasMeshProperty (const std::string &data_name) const |
bool | hasMeshProperty (const std::string &data_name) const |
std::string | meshPropertyName (const std::string &data_name) const |
bool | isCoupledScalar (const std::string &var_name, unsigned int i=0) const |
unsigned int | coupledScalarComponents (const std::string &var_name) const |
unsigned int | coupledScalar (const std::string &var_name, unsigned int comp=0) const |
Order | coupledScalarOrder (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarValue (const std::string &var_name, unsigned int comp=0) const |
const ADVariableValue & | adCoupledScalarValue (const std::string &var_name, unsigned int comp=0) const |
const GenericVariableValue< is_ad > & | coupledGenericScalarValue (const std::string &var_name, unsigned int comp=0) const |
const GenericVariableValue< false > & | coupledGenericScalarValue (const std::string &var_name, const unsigned int comp) const |
const GenericVariableValue< true > & | coupledGenericScalarValue (const std::string &var_name, const unsigned int comp) const |
const VariableValue & | coupledVectorTagScalarValue (const std::string &var_name, TagID tag, unsigned int comp=0) const |
const VariableValue & | coupledMatrixTagScalarValue (const std::string &var_name, TagID tag, unsigned int comp=0) const |
const VariableValue & | coupledScalarValueOld (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarValueOlder (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDot (const std::string &var_name, unsigned int comp=0) const |
const ADVariableValue & | adCoupledScalarDot (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotDot (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotOld (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotDotOld (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotDu (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledScalarDotDotDu (const std::string &var_name, unsigned int comp=0) const |
const MooseVariableScalar * | getScalarVar (const std::string &var_name, unsigned int comp) const |
PerfID | registerTimedSection (const std::string §ion_name, const unsigned int level) const |
PerfID | registerTimedSection (const std::string §ion_name, const unsigned int level, const std::string &live_message, const bool print_dots=true) const |
std::string | timedSectionName (const std::string §ion_name) const |
virtual bool | hasBlockMaterialPropertyHelper (const std::string &prop_name) |
void | initializeBlockRestrictable (const MooseObject *moose_object) |
Moose::CoordinateSystemType | getBlockCoordSystem () |
virtual void | checkMaterialProperty (const std::string &name, const unsigned int state) |
void | markMatPropRequested (const std::string &) |
MaterialPropertyName | getMaterialPropertyName (const std::string &name) const |
void | checkExecutionStage () |
virtual void | coupledCallback (const std::string &, bool) const |
virtual bool | isCoupled (const std::string &var_name, unsigned int i=0) const |
virtual bool | isCoupledConstant (const std::string &var_name) const |
unsigned int | coupledComponents (const std::string &var_name) const |
VariableName | coupledName (const std::string &var_name, unsigned int comp=0) const |
std::vector< VariableName > | coupledNames (const std::string &var_name) const |
virtual unsigned int | coupled (const std::string &var_name, unsigned int comp=0) const |
std::vector< unsigned int > | coupledIndices (const std::string &var_name) const |
virtual const VariableValue & | coupledValue (const std::string &var_name, unsigned int comp=0) const |
std::vector< const VariableValue *> | coupledValues (const std::string &var_name) const |
std::vector< const VectorVariableValue *> | coupledVectorValues (const std::string &var_name) const |
const GenericVariableValue< is_ad > & | coupledGenericValue (const std::string &var_name, unsigned int comp=0) const |
const GenericVariableValue< false > & | coupledGenericValue (const std::string &var_name, unsigned int comp) const |
const GenericVariableValue< true > & | coupledGenericValue (const std::string &var_name, unsigned int comp) const |
std::vector< const GenericVariableValue< is_ad > *> | coupledGenericValues (const std::string &var_name) const |
std::vector< const GenericVariableValue< false > *> | coupledGenericValues (const std::string &var_name) const |
std::vector< const GenericVariableValue< true > *> | coupledGenericValues (const std::string &var_name) const |
const GenericVariableValue< is_ad > & | coupledGenericDofValue (const std::string &var_name, unsigned int comp=0) const |
const GenericVariableValue< false > & | coupledGenericDofValue (const std::string &var_name, unsigned int comp) const |
const GenericVariableValue< true > & | coupledGenericDofValue (const std::string &var_name, unsigned int comp) const |
virtual const VariableValue & | coupledValueLower (const std::string &var_name, unsigned int comp=0) const |
const ADVariableValue & | adCoupledValue (const std::string &var_name, unsigned int comp=0) const |
std::vector< const ADVariableValue *> | adCoupledValues (const std::string &var_name) const |
const ADVariableValue & | adCoupledLowerValue (const std::string &var_name, unsigned int comp=0) const |
const ADVectorVariableValue & | adCoupledVectorValue (const std::string &var_name, unsigned int comp=0) const |
std::vector< const ADVectorVariableValue *> | adCoupledVectorValues (const std::string &var_name) const |
virtual const VariableValue & | coupledVectorTagValue (const std::string &var_names, TagID tag, unsigned int index=0) const |
virtual const VariableValue & | coupledVectorTagValue (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const |
std::vector< const VariableValue *> | coupledVectorTagValues (const std::string &var_names, TagID tag) const |
std::vector< const VariableValue *> | coupledVectorTagValues (const std::string &var_names, const std::string &tag_name) const |
virtual const ArrayVariableValue & | coupledVectorTagArrayValue (const std::string &var_names, TagID tag, unsigned int index=0) const |
virtual const ArrayVariableValue & | coupledVectorTagArrayValue (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const |
std::vector< const ArrayVariableValue *> | coupledVectorTagArrayValues (const std::string &var_names, TagID tag) const |
std::vector< const ArrayVariableValue *> | coupledVectorTagArrayValues (const std::string &var_names, const std::string &tag_name) const |
virtual const VariableGradient & | coupledVectorTagGradient (const std::string &var_names, TagID tag, unsigned int index=0) const |
virtual const VariableGradient & | coupledVectorTagGradient (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const |
std::vector< const VariableGradient *> | coupledVectorTagGradients (const std::string &var_names, TagID tag) const |
std::vector< const VariableGradient *> | coupledVectorTagGradients (const std::string &var_names, const std::string &tag_name) const |
virtual const ArrayVariableGradient & | coupledVectorTagArrayGradient (const std::string &var_names, TagID tag, unsigned int index=0) const |
virtual const ArrayVariableGradient & | coupledVectorTagArrayGradient (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const |
std::vector< const ArrayVariableGradient *> | coupledVectorTagArrayGradients (const std::string &var_names, TagID tag) const |
std::vector< const ArrayVariableGradient *> | coupledVectorTagArrayGradients (const std::string &var_names, const std::string &tag_name) const |
virtual const VariableValue & | coupledVectorTagDofValue (const std::string &var_name, TagID tag, unsigned int index=0) const |
virtual const VariableValue & | coupledVectorTagDofValue (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const |
const ArrayVariableValue & | coupledVectorTagArrayDofValue (const std::string &var_name, const std::string &tag_name, unsigned int comp=0) const |
std::vector< const VariableValue *> | coupledVectorTagDofValues (const std::string &var_names, TagID tag) const |
std::vector< const VariableValue *> | coupledVectorTagDofValues (const std::string &var_names, const std::string &tag_name) const |
virtual const VariableValue & | coupledMatrixTagValue (const std::string &var_names, TagID tag, unsigned int index=0) const |
virtual const VariableValue & | coupledMatrixTagValue (const std::string &var_names, const std::string &tag_name, unsigned int index=0) const |
std::vector< const VariableValue *> | coupledMatrixTagValues (const std::string &var_names, TagID tag) const |
std::vector< const VariableValue *> | coupledMatrixTagValues (const std::string &var_names, const std::string &tag_name) const |
virtual const VectorVariableValue & | coupledVectorValue (const std::string &var_name, unsigned int comp=0) const |
virtual const ArrayVariableValue & | coupledArrayValue (const std::string &var_name, unsigned int comp=0) const |
std::vector< const ArrayVariableValue *> | coupledArrayValues (const std::string &var_name) const |
MooseWritableVariable & | writableVariable (const std::string &var_name, unsigned int comp=0) |
virtual VariableValue & | writableCoupledValue (const std::string &var_name, unsigned int comp=0) |
void | checkWritableVar (MooseWritableVariable *var) |
virtual const VariableValue & | coupledValueOld (const std::string &var_name, unsigned int comp=0) const |
std::vector< const VariableValue *> | coupledValuesOld (const std::string &var_name) const |
virtual const VariableValue & | coupledValueOlder (const std::string &var_name, unsigned int comp=0) const |
std::vector< const VariableValue *> | coupledValuesOlder (const std::string &var_name) const |
virtual const VariableValue & | coupledValuePreviousNL (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableValue & | coupledVectorValueOld (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableValue & | coupledVectorValueOlder (const std::string &var_name, unsigned int comp=0) const |
virtual const ArrayVariableValue & | coupledArrayValueOld (const std::string &var_name, unsigned int comp=0) const |
virtual const ArrayVariableValue & | coupledArrayValueOlder (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableGradient & | coupledGradient (const std::string &var_name, unsigned int comp=0) const |
std::vector< const VariableGradient *> | coupledGradients (const std::string &var_name) const |
const ADVariableGradient & | adCoupledGradient (const std::string &var_name, unsigned int comp=0) const |
const ADVariableGradient & | adCoupledGradientDot (const std::string &var_name, unsigned int comp=0) const |
std::vector< const ADVariableGradient *> | adCoupledGradients (const std::string &var_name) const |
const GenericVariableGradient< is_ad > & | coupledGenericGradient (const std::string &var_name, unsigned int comp=0) const |
const GenericVariableGradient< false > & | coupledGenericGradient (const std::string &var_name, unsigned int comp) const |
const GenericVariableGradient< true > & | coupledGenericGradient (const std::string &var_name, unsigned int comp) const |
std::vector< const GenericVariableGradient< is_ad > *> | coupledGenericGradients (const std::string &var_name) const |
std::vector< const GenericVariableGradient< false > *> | coupledGenericGradients (const std::string &var_name) const |
std::vector< const GenericVariableGradient< true > *> | coupledGenericGradients (const std::string &var_name) const |
const ADVectorVariableGradient & | adCoupledVectorGradient (const std::string &var_name, unsigned int comp=0) const |
const ADVariableSecond & | adCoupledSecond (const std::string &var_name, unsigned int comp=0) const |
const ADVectorVariableSecond & | adCoupledVectorSecond (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableGradient & | coupledGradientOld (const std::string &var_name, unsigned int comp=0) const |
std::vector< const VariableGradient *> | coupledGradientsOld (const std::string &var_name) const |
virtual const VariableGradient & | coupledGradientOlder (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableGradient & | coupledGradientPreviousNL (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableGradient & | coupledGradientDot (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableGradient & | coupledGradientDotDot (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableGradient & | coupledVectorGradient (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableGradient & | coupledVectorGradientOld (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableGradient & | coupledVectorGradientOlder (const std::string &var_name, unsigned int comp=0) const |
virtual const ArrayVariableGradient & | coupledArrayGradient (const std::string &var_name, unsigned int comp=0) const |
virtual const ArrayVariableGradient & | coupledArrayGradientOld (const std::string &var_name, unsigned int comp=0) const |
virtual const ArrayVariableGradient & | coupledArrayGradientOlder (const std::string &var_name, unsigned int comp=0) const |
virtual const ArrayVariableGradient & | coupledArrayGradientDot (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableCurl & | coupledCurl (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableCurl & | coupledCurlOld (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableCurl & | coupledCurlOlder (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableSecond & | coupledSecond (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableSecond & | coupledSecondOld (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableSecond & | coupledSecondOlder (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableSecond & | coupledSecondPreviousNL (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableValue & | coupledDot (const std::string &var_name, unsigned int comp=0) const |
std::vector< const VariableValue *> | coupledDots (const std::string &var_name) const |
virtual const VariableValue & | coupledDotDot (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableValue & | coupledDotOld (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableValue & | coupledDotDotOld (const std::string &var_name, unsigned int comp=0) const |
const ADVariableValue & | adCoupledDot (const std::string &var_name, unsigned int comp=0) const |
std::vector< const ADVariableValue *> | adCoupledDots (const std::string &var_name) const |
const ADVariableValue & | adCoupledDotDot (const std::string &var_name, unsigned int comp=0) const |
const ADVectorVariableValue & | adCoupledVectorDot (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableValue & | coupledVectorDot (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableValue & | coupledVectorDotDot (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableValue & | coupledVectorDotOld (const std::string &var_name, unsigned int comp=0) const |
virtual const VectorVariableValue & | coupledVectorDotDotOld (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableValue & | coupledVectorDotDu (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableValue & | coupledVectorDotDotDu (const std::string &var_name, unsigned int comp=0) const |
virtual const ArrayVariableValue & | coupledArrayDot (const std::string &var_name, unsigned int comp=0) const |
virtual const ArrayVariableValue & | coupledArrayDotDot (const std::string &var_name, unsigned int comp=0) const |
virtual const ArrayVariableValue & | coupledArrayDotOld (const std::string &var_name, unsigned int comp=0) const |
virtual const ArrayVariableValue & | coupledArrayDotDotOld (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableValue & | coupledDotDu (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableValue & | coupledDotDotDu (const std::string &var_name, unsigned int comp=0) const |
const VariableValue & | coupledArrayDotDu (const std::string &var_name, unsigned int comp=0) const |
const T & | coupledNodalValue (const std::string &var_name, unsigned int comp=0) const |
const Moose::ADType< T >::type & | adCoupledNodalValue (const std::string &var_name, unsigned int comp=0) const |
const T & | coupledNodalValueOld (const std::string &var_name, unsigned int comp=0) const |
const T & | coupledNodalValueOlder (const std::string &var_name, unsigned int comp=0) const |
const T & | coupledNodalValuePreviousNL (const std::string &var_name, unsigned int comp=0) const |
const T & | coupledNodalDot (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableValue & | coupledNodalDotDot (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableValue & | coupledNodalDotOld (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableValue & | coupledNodalDotDotOld (const std::string &var_name, unsigned int comp=0) const |
virtual const VariableValue & | coupledDofValues (const std::string &var_name, unsigned int comp=0) const |
std::vector< const VariableValue *> | coupledAllDofValues (const std::string &var_name) const |
virtual const VariableValue & | coupledDofValuesOld (const std::string &var_name, unsigned int comp=0) const |
std::vector< const VariableValue *> | coupledAllDofValuesOld (const std::string &var_name) const |
virtual const VariableValue & | coupledDofValuesOlder (const std::string &var_name, unsigned int comp=0) const |
std::vector< const VariableValue *> | coupledAllDofValuesOlder (const std::string &var_name) const |
virtual const ArrayVariableValue & | coupledArrayDofValues (const std::string &var_name, unsigned int comp=0) const |
virtual const ADVariableValue & | adCoupledDofValues (const std::string &var_name, unsigned int comp=0) const |
const ADVariableValue & | adZeroValue () const |
const ADVariableGradient & | adZeroGradient () const |
const ADVariableSecond & | adZeroSecond () const |
const GenericVariableValue< is_ad > & | genericZeroValue () |
const GenericVariableValue< false > & | genericZeroValue () |
const GenericVariableValue< true > & | genericZeroValue () |
const GenericVariableGradient< is_ad > & | genericZeroGradient () |
const GenericVariableGradient< false > & | genericZeroGradient () |
const GenericVariableGradient< true > & | genericZeroGradient () |
const GenericVariableSecond< is_ad > & | genericZeroSecond () |
const GenericVariableSecond< false > & | genericZeroSecond () |
const GenericVariableSecond< true > & | genericZeroSecond () |
bool | checkVar (const std::string &var_name, unsigned int comp=0, unsigned int comp_bound=0) const |
const MooseVariableFieldBase * | getFEVar (const std::string &var_name, unsigned int comp) const |
const MooseVariableFieldBase * | getFieldVar (const std::string &var_name, unsigned int comp) const |
MooseVariableFieldBase * | getFieldVar (const std::string &var_name, unsigned int comp) |
const T * | getVarHelper (const std::string &var_name, unsigned int comp) const |
T * | getVarHelper (const std::string &var_name, unsigned int comp) |
MooseVariable * | getVar (const std::string &var_name, unsigned int comp) |
const MooseVariable * | getVar (const std::string &var_name, unsigned int comp) const |
VectorMooseVariable * | getVectorVar (const std::string &var_name, unsigned int comp) |
const VectorMooseVariable * | getVectorVar (const std::string &var_name, unsigned int comp) const |
ArrayMooseVariable * | getArrayVar (const std::string &var_name, unsigned int comp) |
const ArrayMooseVariable * | getArrayVar (const std::string &var_name, unsigned int comp) const |
void | validateExecutionerType (const std::string &name, const std::string &fn_name) const |
std::vector< T > | coupledVectorHelper (const std::string &var_name, const Func &func) const |
void | addMooseVariableDependency (MooseVariableFieldBase *var) |
void | addMooseVariableDependency (const std::vector< MooseVariableFieldBase * > &vars) |
Moose::StateArg | determineState () const |
const T & | getReporterValue (const std::string ¶m_name, const std::size_t time_index=0) |
const T & | getReporterValue (const std::string ¶m_name, ReporterMode mode, const std::size_t time_index=0) |
const T & | getReporterValue (const std::string ¶m_name, const std::size_t time_index=0) |
const T & | getReporterValue (const std::string ¶m_name, ReporterMode mode, const std::size_t time_index=0) |
const T & | getReporterValueByName (const ReporterName &reporter_name, const std::size_t time_index=0) |
const T & | getReporterValueByName (const ReporterName &reporter_name, ReporterMode mode, const std::size_t time_index=0) |
const T & | getReporterValueByName (const ReporterName &reporter_name, const std::size_t time_index=0) |
const T & | getReporterValueByName (const ReporterName &reporter_name, ReporterMode mode, const std::size_t time_index=0) |
bool | hasReporterValue (const std::string ¶m_name) const |
bool | hasReporterValue (const std::string ¶m_name) const |
bool | hasReporterValue (const std::string ¶m_name) const |
bool | hasReporterValue (const std::string ¶m_name) const |
bool | hasReporterValueByName (const ReporterName &reporter_name) const |
bool | hasReporterValueByName (const ReporterName &reporter_name) const |
bool | hasReporterValueByName (const ReporterName &reporter_name) const |
bool | hasReporterValueByName (const ReporterName &reporter_name) const |
const GenericMaterialProperty< T, is_ad > * | defaultGenericMaterialProperty (const std::string &name) |
const GenericMaterialProperty< T, is_ad > * | defaultGenericMaterialProperty (const std::string &name) |
const MaterialProperty< T > * | defaultMaterialProperty (const std::string &name) |
const MaterialProperty< T > * | defaultMaterialProperty (const std::string &name) |
const ADMaterialProperty< T > * | defaultADMaterialProperty (const std::string &name) |
const ADMaterialProperty< T > * | defaultADMaterialProperty (const std::string &name) |
Static Protected Member Functions | |
static std::string | meshPropertyName (const std::string &data_name, const std::string &prefix) |
Protected Attributes | |
const PorousFlowDictator & | _dictator |
PorousFlowDictator UserObject. More... | |
const unsigned | _num_vars |
Number of PorousFlow variables. More... | |
const RealVectorValue | _gravity |
Gravity. More... | |
const unsigned int | _phase |
The phase. More... | |
const MaterialProperty< RealTensorValue > & | _permeability |
Permeability of porous material. More... | |
const MaterialProperty< std::vector< RealTensorValue > > & | _dpermeability_dvar |
d(permeabiity)/d(PorousFlow variable) More... | |
const MaterialProperty< std::vector< std::vector< RealTensorValue > > > & | _dpermeability_dgradvar |
d(permeabiity)/d(grad(PorousFlow variable)) More... | |
const MaterialProperty< std::vector< Real > > & | _fluid_density_qp |
Fluid density for each phase (at the qp) More... | |
const MaterialProperty< std::vector< std::vector< Real > > > & | _dfluid_density_qp_dvar |
Derivative of the fluid density for each phase wrt PorousFlow variables (at the qp) More... | |
const MaterialProperty< std::vector< RealGradient > > & | _grad_p |
Gradient of the pore pressure in each phase. More... | |
const MaterialProperty< std::vector< std::vector< Real > > > & | _dgrad_p_dgrad_var |
Derivative of Grad porepressure in each phase wrt grad(PorousFlow variables) More... | |
const MaterialProperty< std::vector< std::vector< RealGradient > > > & | _dgrad_p_dvar |
Derivative of Grad porepressure in each phase wrt PorousFlow variables. More... | |
const FEType | _fe_type |
FEType to use. More... | |
const VariablePhiValue & | _phi |
Kuzmin-Turek shape function. More... | |
const VariablePhiGradient & | _grad_phi |
grad(Kuzmin-Turek shape function) More... | |
std::vector< std::vector< Real > > | _du_dvar |
_du_dvar[sequential_i][a] = d(u[global version of sequential node i])/d(porous_flow_variable[a]) More... | |
std::vector< bool > | _du_dvar_computed_by_thread |
Whether _du_dvar has been computed by the local thread. More... | |
std::vector< std::vector< std::map< dof_id_type, std::vector< Real > > > > | _dkij_dvar |
_dkij_dvar[sequential_i][j][global_k][a] = d(K[sequential_i][j])/d(porous_flow_variable[global_k][porous_flow_variable a]) Here j is the j^th connection to sequential node sequential_i, and node k must be connected to node i More... | |
std::vector< std::map< dof_id_type, std::vector< Real > > > | _dflux_out_dvars |
_dflux_out_dvars[sequential_i][global_j][pvar] = d(flux_out[global version of sequential_i])/d(porous_flow_variable pvar at global node j) More... | |
std::map< processor_id_type, std::vector< dof_id_type > > | _triples_to_receive |
_triples_to_receive[proc_id] indicates the dk(i, j)/du_nodal information that we will receive from proc_id. More... | |
std::map< processor_id_type, std::vector< dof_id_type > > | _triples_to_send |
_triples_to_send[proc_id] indicates the dk(i, j)/du_nodal information that we will send to proc_id. More... | |
const bool | _perm_derivs |
Flag to check whether permeabiity derivatives are non-zero. More... | |
bool | _resizing_needed |
whether _kij, etc, need to be sized appropriately (and valence recomputed) at the start of the timestep More... | |
enum AdvectiveFluxCalculatorBase::FluxLimiterTypeEnum | _flux_limiter_type |
std::vector< std::vector< Real > > | _kij |
Kuzmin-Turek K_ij matrix. More... | |
std::vector< Real > | _flux_out |
_flux_out[i] = flux of "heat" from sequential node i More... | |
std::vector< std::map< dof_id_type, Real > > | _dflux_out_du |
_dflux_out_du[i][j] = d(flux_out[i])/d(u[j]). More... | |
std::vector< std::vector< std::vector< Real > > > | _dflux_out_dKjk |
_dflux_out_dKjk[sequential_i][j][k] = d(flux_out[sequential_i])/d(K[j][k]). More... | |
std::vector< unsigned > | _valence |
_valence[i] = number of times, in a loop over elements seen by this processor (viz, including ghost elements) and are part of the block-restricted blocks of this UserObject, that the sequential node i is encountered More... | |
std::vector< Real > | _u_nodal |
_u_nodal[i] = value of _u at sequential node number i More... | |
std::vector< bool > | _u_nodal_computed_by_thread |
_u_nodal_computed_by_thread(i) = true if _u_nodal[i] has been computed in execute() by the thread on this processor More... | |
PorousFlowConnectedNodes | _connections |
Holds the sequential and global nodal IDs, and info regarding mesh connections between them. More... | |
std::size_t | _number_of_nodes |
Number of nodes held by the _connections object. More... | |
processor_id_type | _my_pid |
processor ID of this object More... | |
std::map< processor_id_type, std::vector< dof_id_type > > | _nodes_to_receive |
_nodes_to_receive[proc_id] = list of sequential nodal IDs. More... | |
std::map< processor_id_type, std::vector< dof_id_type > > | _nodes_to_send |
_nodes_to_send[proc_id] = list of sequential nodal IDs. More... | |
std::map< processor_id_type, std::vector< std::pair< dof_id_type, dof_id_type > > > | _pairs_to_receive |
_pairs_to_receive[proc_id] indicates the k(i, j) pairs that will be sent to us from proc_id _pairs_to_receive is first built (in buildCommLists()) using global node IDs, but after construction, a translation to sequential node IDs and the index of connections is performed, for efficiency. More... | |
std::map< processor_id_type, std::vector< std::pair< dof_id_type, dof_id_type > > > | _pairs_to_send |
_pairs_to_send[proc_id] indicates the k(i, j) pairs that we will send to proc_id _pairs_to_send is first built (in buildCommLists()) using global node IDs, but after construction, a translation to sequential node IDs and the index of connections is performed, for efficiency. More... | |
const Real | _allowable_MB_wastage |
A mooseWarning is issued if mb_wasted = (_connections.sizeSequential() - _connections.numNodes()) * 4 / 1048576 > _allowable_MB_wastage. More... | |
std::vector< std::vector< Real > > | _dij |
Vectors used in finalize() More... | |
std::vector< std::vector< Real > > | _dDij_dKij |
dDij_dKij[i][j] = d(D[i][j])/d(K[i][j]) for i!=j More... | |
std::vector< std::vector< Real > > | _dDij_dKji |
dDij_dKji[i][j] = d(D[i][j])/d(K[j][i]) for i!=j More... | |
std::vector< std::vector< Real > > | _dDii_dKij |
dDii_dKij[i][j] = d(D[i][i])/d(K[i][j]) More... | |
std::vector< std::vector< Real > > | _dDii_dKji |
dDii_dKji[i][j] = d(D[i][i])/d(K[j][i]) More... | |
std::vector< std::vector< Real > > | _lij |
std::vector< Real > | _rP |
std::vector< Real > | _rM |
std::vector< std::vector< Real > > | _drP |
drP[i][j] = d(rP[i])/d(u[j]). Here j indexes the j^th node connected to i More... | |
std::vector< std::vector< Real > > | _drM |
drM[i][j] = d(rM[i])/d(u[j]). Here j indexes the j^th node connected to i More... | |
std::vector< std::vector< Real > > | _drP_dk |
drP_dk[i][j] = d(rP[i])/d(K[i][j]). Here j indexes the j^th node connected to i More... | |
std::vector< std::vector< Real > > | _drM_dk |
drM_dk[i][j] = d(rM[i])/d(K[i][j]). Here j indexes the j^th node connected to i More... | |
std::vector< std::vector< Real > > | _fa |
fa[sequential_i][j] sequential_j is the j^th connection to sequential_i More... | |
std::vector< std::vector< std::map< dof_id_type, Real > > > | _dfa |
dfa[sequential_i][j][global_k] = d(fa[sequential_i][j])/du[global_k]. More... | |
std::vector< std::vector< std::vector< Real > > > | _dFij_dKik |
dFij_dKik[sequential_i][j][k] = d(fa[sequential_i][j])/d(K[sequential_i][k]). More... | |
std::vector< std::vector< std::vector< Real > > > | _dFij_dKjk |
dFij_dKjk[sequential_i][j][k] = d(fa[sequential_i][j])/d(K[sequential_j][k]). More... | |
MooseMesh & | _mesh |
const Elem *const & | _current_elem |
const Real & | _current_elem_volume |
const MooseArray< Point > & | _q_point |
const QBase *const & | _qrule |
const MooseArray< Real > & | _JxW |
const MooseArray< Real > & | _coord |
SubProblem & | _subproblem |
FEProblemBase & | _fe_problem |
SystemBase & | _sys |
const THREAD_ID | _tid |
Assembly & | _assembly |
const Moose::CoordinateSystemType & | _coord_sys |
const bool | _duplicate_initial_execution |
std::set< std::string > | _depend_uo |
const bool & | _enabled |
MooseApp & | _app |
const std::string & | _type |
const std::string & | _name |
const InputParameters & | _pars |
Factory & | _factory |
ActionFactory & | _action_factory |
const ExecFlagEnum & | _execute_enum |
const ExecFlagType & | _current_execute_flag |
MooseApp & | _restartable_app |
const std::string | _restartable_system_name |
const THREAD_ID | _restartable_tid |
const bool | _restartable_read_only |
FEProblemBase & | _mci_feproblem |
FEProblemBase & | _sc_fe_problem |
const THREAD_ID | _sc_tid |
const Real & | _real_zero |
const VariableValue & | _scalar_zero |
const Point & | _point_zero |
MooseApp & | _pg_moose_app |
const std::string | _prefix |
const MaterialData * | _blk_material_data |
const InputParameters & | _mi_params |
const std::string | _mi_name |
const MooseObjectName | _mi_moose_object_name |
FEProblemBase & | _mi_feproblem |
SubProblem & | _mi_subproblem |
const THREAD_ID | _mi_tid |
const Moose::MaterialDataType | _material_data_type |
MaterialData & | _material_data |
bool | _stateful_allowed |
bool | _get_material_property_called |
std::vector< std::unique_ptr< PropertyValue > > | _default_properties |
std::unordered_set< unsigned int > | _material_property_dependencies |
const MaterialPropertyName | _get_suffix |
const bool | _use_interpolated_state |
const InputParameters & | _c_parameters |
const std::string & | _c_name |
const std::string & | _c_type |
FEProblemBase & | _c_fe_problem |
const SystemBase *const | _c_sys |
std::unordered_map< std::string, std::vector< MooseVariableFieldBase *> > | _coupled_vars |
std::vector< MooseVariableFieldBase *> | _coupled_moose_vars |
std::vector< MooseVariable *> | _coupled_standard_moose_vars |
std::vector< VectorMooseVariable *> | _coupled_vector_moose_vars |
std::vector< ArrayMooseVariable *> | _coupled_array_moose_vars |
std::vector< MooseVariableFV< Real > *> | _coupled_standard_fv_moose_vars |
const std::unordered_map< std::string, std::string > & | _new_to_deprecated_coupled_vars |
bool | _c_nodal |
bool | _c_is_implicit |
const bool | _c_allow_element_to_nodal_coupling |
THREAD_ID | _c_tid |
std::unordered_map< std::string, std::vector< std::unique_ptr< VariableValue > > > | _default_value |
std::unordered_map< std::string, std::unique_ptr< MooseArray< DualReal > > > | _ad_default_value |
std::unordered_map< std::string, std::unique_ptr< VectorVariableValue > > | _default_vector_value |
std::unordered_map< std::string, std::unique_ptr< ArrayVariableValue > > | _default_array_value |
std::unordered_map< std::string, std::unique_ptr< MooseArray< ADRealVectorValue > > > | _ad_default_vector_value |
VariableValue | _default_value_zero |
VariableGradient | _default_gradient |
MooseArray< ADRealVectorValue > | _ad_default_gradient |
MooseArray< ADRealTensorValue > | _ad_default_vector_gradient |
VariableSecond | _default_second |
MooseArray< ADRealTensorValue > | _ad_default_second |
const VariableValue & | _zero |
const VariablePhiValue & | _phi_zero |
const MooseArray< DualReal > & | _ad_zero |
const VariableGradient & | _grad_zero |
const MooseArray< ADRealVectorValue > & | _ad_grad_zero |
const VariablePhiGradient & | _grad_phi_zero |
const VariableSecond & | _second_zero |
const MooseArray< ADRealTensorValue > & | _ad_second_zero |
const VariablePhiSecond & | _second_phi_zero |
const VectorVariableValue & | _vector_zero |
const VectorVariableCurl & | _vector_curl_zero |
VectorVariableValue | _default_vector_value_zero |
VectorVariableGradient | _default_vector_gradient |
VectorVariableCurl | _default_vector_curl |
ArrayVariableValue | _default_array_value_zero |
ArrayVariableGradient | _default_array_gradient |
ArrayVariableCurl | _default_array_curl |
bool | _coupleable_neighbor |
const InputParameters & | _ti_params |
FEProblemBase & | _ti_feproblem |
bool | _is_implicit |
Real & | _t |
int & | _t_step |
Real & | _dt |
Real & | _dt_old |
bool | _is_transient |
const Parallel::Communicator & | _communicator |
Static Protected Attributes | |
static const std::string | _interpolated_old |
static const std::string | _interpolated_older |
Base class to compute the advective flux of fluid in PorousFlow situations using the Kuzmin-Turek FEM-TVD multidimensional stabilization scheme.
The velocity is U * (-permeability * (grad(P) - density * gravity)) with derived classes defining U.
Much of this base class is spent with defining derivatives of the velocity with respect to the PorousFlow variables. As a first-time reader, if you ignore these derivatives, you will find this class is quite simple.
Definition at line 27 of file PorousFlowAdvectiveFluxCalculatorBase.h.
|
strongprotectedinherited |
Determines Flux Limiter type (Page 135 of Kuzmin and Turek) "None" means that limitFlux=0 always, which implies zero antidiffusion will be added.
Enumerator | |
---|---|
MinMod | |
VanLeer | |
MC | |
superbee | |
None |
Definition at line 166 of file AdvectiveFluxCalculatorBase.h.
|
strongprotectedinherited |
Signals to the PQPlusMinus method what should be computed.
Enumerator | |
---|---|
PPlus | |
PMinus | |
QPlus | |
QMinus |
Definition at line 252 of file AdvectiveFluxCalculatorBase.h.
PorousFlowAdvectiveFluxCalculatorBase::PorousFlowAdvectiveFluxCalculatorBase | ( | const InputParameters & | parameters | ) |
Definition at line 44 of file PorousFlowAdvectiveFluxCalculatorBase.C.
|
overrideprotectedvirtual |
When using multiple processors, other processors will compute:
Build the multi-processor communication lists.
(A) We will have to send _u_nodal information to other processors. This is because although we can Evaluate Variables at all elements in _fe_problem.getNonlinearEvaluableElementRange(), in the PorousFlow setting _u_nodal could depend on Material Properties within the elements, and we can't access those Properties within the ghosted elements.
(B) In a similar way, we need to send _kij information to other processors. A similar strategy is followed
Reimplemented from AdvectiveFluxCalculatorBase.
Definition at line 300 of file PorousFlowAdvectiveFluxCalculatorBase.C.
|
protectedpure virtual |
Compute d(u)/d(porous_flow_variable)
i | node number of the current element |
pvar | porous flow variable number |
Implemented in PorousFlowAdvectiveFluxCalculatorUnsaturatedHeat, PorousFlowAdvectiveFluxCalculatorUnsaturated, PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent, PorousFlowAdvectiveFluxCalculatorSaturatedHeat, PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent, and PorousFlowAdvectiveFluxCalculatorSaturated.
Referenced by execute().
|
protectedpure virtualinherited |
Computes the value of u at the local node id of the current element (_current_elem)
i | local node id of the current element |
Implemented in PorousFlowAdvectiveFluxCalculatorUnsaturatedHeat, PorousFlowAdvectiveFluxCalculatorUnsaturated, PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent, PorousFlowAdvectiveFluxCalculatorSaturatedHeat, PorousFlowAdvectiveFluxCalculatorSaturated, PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent, and AdvectiveFluxCalculatorConstantVelocity.
Referenced by AdvectiveFluxCalculatorBase::execute().
|
overrideprotectedvirtual |
Computes the transfer velocity between current node i and current node j at the current qp in the current element (_current_elem).
For instance, (_grad_phi[i][qp] * _velocity) * _phi[j][qp];
i | node number in the current element |
j | node number in the current element |
qp | quadpoint number in the current element |
Implements AdvectiveFluxCalculatorBase.
Definition at line 95 of file PorousFlowAdvectiveFluxCalculatorBase.C.
|
overrideprotectedvirtual |
Sends and receives multi-processor information regarding u_nodal and k_ij.
See buildCommLists for some more explanation.
Reimplemented from AdvectiveFluxCalculatorBase.
Definition at line 393 of file PorousFlowAdvectiveFluxCalculatorBase.C.
|
overrideprotectedvirtual |
Reimplemented from AdvectiveFluxCalculatorBase.
Definition at line 192 of file PorousFlowAdvectiveFluxCalculatorBase.C.
|
overrideprotectedvirtual |
This is called by multiple times in execute() in a double loop over _current_elem's nodes (local_i and local_j) nested in a loop over each of _current_elem's quadpoints (qp).
It is used to compute _kij and its derivatives
global_i | global node id corresponding to the local node local_i |
global_j | global node id corresponding to the local node local_j |
local_i | local node number of the _current_elem |
local_j | local node number of the _current_elem |
qp | quadpoint number of the _current_elem |
Reimplemented from AdvectiveFluxCalculatorBase.
Definition at line 108 of file PorousFlowAdvectiveFluxCalculatorBase.C.
|
overrideprotectedvirtual |
_dflux_out_dvars[sequential_i][global_j][pvar] = d(flux_out[global version of sequential_i])/d(porous_flow_variable pvar at global node j)
Reimplemented from AdvectiveFluxCalculatorBase.
Definition at line 251 of file PorousFlowAdvectiveFluxCalculatorBase.C.
const std::map< dof_id_type, std::vector< Real > > & PorousFlowAdvectiveFluxCalculatorBase::getdFluxOut_dvars | ( | unsigned | node_id | ) | const |
Returns d(flux_out)/d(porous_flow_variables.
[in] | node_id | global node id |
Definition at line 245 of file PorousFlowAdvectiveFluxCalculatorBase.C.
Referenced by PorousFlowFluxLimitedTVDAdvection::computeJacobian().
|
inherited |
Returns r where r[j][k] = d(flux out of global node i)/dK[connected node j][connected node k] used in Jacobian computations.
node_i | global id of node |
Definition at line 735 of file AdvectiveFluxCalculatorBase.C.
Referenced by finalize().
|
inherited |
Returns r where r[j] = d(flux out of global node i)/du(global node j) used in Jacobian computations.
node_i | global id of node |
Definition at line 729 of file AdvectiveFluxCalculatorBase.C.
Referenced by FluxLimitedTVDAdvection::computeJacobian(), and finalize().
|
protected |
Returns, r, where r[global node k][a] = d(K[node_i][node_j])/d(porous_flow_variable[global node k][porous_flow_variable a])
node_i | global node id param node_j global node id |
Definition at line 237 of file PorousFlowAdvectiveFluxCalculatorBase.C.
Referenced by finalize().
|
inherited |
Returns the flux out of lobal node id.
node_i | id of node |
Definition at line 741 of file AdvectiveFluxCalculatorBase.C.
Referenced by FluxLimitedTVDAdvection::computeResidual(), and PorousFlowFluxLimitedTVDAdvection::computeResidual().
|
inherited |
Returns the valence of the global node i Valence is the number of times the node is encountered in a loop over elements (that have appropriate subdomain_id, if the user has employed the "blocks=" parameter) seen by this processor (including ghosted elements)
node_i | gloal id of i^th node |
Definition at line 747 of file AdvectiveFluxCalculatorBase.C.
Referenced by FluxLimitedTVDAdvection::computeJacobian(), PorousFlowFluxLimitedTVDAdvection::computeJacobian(), FluxLimitedTVDAdvection::computeResidual(), and PorousFlowFluxLimitedTVDAdvection::computeResidual().
|
overrideprotectedvirtual |
Reimplemented from AdvectiveFluxCalculatorBase.
Definition at line 175 of file PorousFlowAdvectiveFluxCalculatorBase.C.
|
protectedinherited |
flux limiter, L, on Page 135 of Kuzmin and Turek
a | KT's "a" parameter |
b | KT's "b" parameter |
limited[out] | The value of the flux limiter, L |
dlimited_db[out] | The derivative dL/db |
Definition at line 629 of file AdvectiveFluxCalculatorBase.C.
Referenced by AdvectiveFluxCalculatorBase::rMinus(), and AdvectiveFluxCalculatorBase::rPlus().
|
overridevirtualinherited |
Reimplemented from ElementUserObject.
Definition at line 196 of file AdvectiveFluxCalculatorBase.C.
|
protectedinherited |
Returns the value of P_{i}^{+}, P_{i}^{-}, Q_{i}^{+} or Q_{i}^{-} (depending on pq_plus_minus) which are defined in Eqns (47) and (48) of KT.
sequential_i | sequential nodal ID |
pq_plus_minus | indicates whether P_{i}^{+}, P_{i}^{-}, Q_{i}^{+} or Q_{i}^{-} should be returned |
derivs[out] | derivs[j] = d(result)/d(u[sequential_j]). Here sequential_j is the j^th connection to sequential_i |
dpq_dk[out] | dpq_dk[j] = d(result)/d(K[node_i][j]). Here j indexes a connection to sequential_i. Recall that d(result)/d(K[l][m]) are zero unless l=sequential_i |
Definition at line 762 of file AdvectiveFluxCalculatorBase.C.
Referenced by AdvectiveFluxCalculatorBase::rMinus(), and AdvectiveFluxCalculatorBase::rPlus().
|
protectedinherited |
Returns the value of R_{i}^{-}, Eqn (49) of KT.
sequential_i | Sequential nodal ID |
dlimited_du[out] | dlimited_du[j] = d(R_{sequential_i}^{-})/du[sequential_j]. Here sequential_j is the j^th connection to sequential_i |
dlimited_dk[out] | dlimited_dk[j] = d(R_{sequential_i}^{-})/d(K[sequential_i][j]). Note Derivatives w.r.t. K[l][m] with l!=i are zero |
Definition at line 593 of file AdvectiveFluxCalculatorBase.C.
Referenced by AdvectiveFluxCalculatorBase::finalize().
|
protectedinherited |
Returns the value of R_{i}^{+}, Eqn (49) of KT.
node_i | nodal id |
dlimited_du[out] | dlimited_du[j] = d(R_{sequential_i}^{+})/du[sequential_j]. Here sequential_j is the j^th connection to sequential_i |
dlimited_dk[out] | dlimited_dk[j] = d(R_{sequential_i}^{+})/d(K[sequential_i][j]). Note Derivatives w.r.t. K[l][m] with l!=i are zero |
Definition at line 557 of file AdvectiveFluxCalculatorBase.C.
Referenced by AdvectiveFluxCalculatorBase::finalize().
|
overrideprotectedvirtual |
Reimplemented from AdvectiveFluxCalculatorBase.
Definition at line 212 of file PorousFlowAdvectiveFluxCalculatorBase.C.
|
overrideprotectedvirtual |
Reimplemented from AdvectiveFluxCalculatorBase.
Definition at line 143 of file PorousFlowAdvectiveFluxCalculatorBase.C.
|
static |
Definition at line 16 of file PorousFlowAdvectiveFluxCalculatorBase.C.
Referenced by PorousFlowAdvectiveFluxCalculatorSaturated::validParams().
|
protectedinherited |
Clears the_map, then, using _kij, constructs the_map so that the_map[node_id] = 0.0 for all node_id connected with node_i.
[out] | the_map | the map to be zeroed appropriately |
[in] | node_i | nodal id |
Definition at line 753 of file AdvectiveFluxCalculatorBase.C.
Referenced by AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
A mooseWarning is issued if mb_wasted = (_connections.sizeSequential() - _connections.numNodes()) * 4 / 1048576 > _allowable_MB_wastage.
The _connections object uses sequential node numbering for computational efficiency, but this leads to memory being used inefficiently: the number of megabytes wasted is mb_wasted.
Definition at line 249 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
Holds the sequential and global nodal IDs, and info regarding mesh connections between them.
Definition at line 201 of file AdvectiveFluxCalculatorBase.h.
Referenced by buildCommLists(), AdvectiveFluxCalculatorBase::buildCommLists(), execute(), AdvectiveFluxCalculatorBase::execute(), executeOnElement(), AdvectiveFluxCalculatorBase::executeOnElement(), AdvectiveFluxCalculatorBase::finalize(), finalize(), getdFluxOut_dvars(), AdvectiveFluxCalculatorBase::getdFluxOutdKjk(), AdvectiveFluxCalculatorBase::getdFluxOutdu(), getdK_dvar(), AdvectiveFluxCalculatorBase::getFluxOut(), AdvectiveFluxCalculatorBase::getValence(), AdvectiveFluxCalculatorBase::initialize(), initialize(), AdvectiveFluxCalculatorBase::PQPlusMinus(), AdvectiveFluxCalculatorBase::rMinus(), AdvectiveFluxCalculatorBase::rPlus(), AdvectiveFluxCalculatorBase::threadJoin(), threadJoin(), AdvectiveFluxCalculatorBase::timestepSetup(), timestepSetup(), and AdvectiveFluxCalculatorBase::zeroedConnection().
|
protectedinherited |
dDii_dKij[i][j] = d(D[i][i])/d(K[i][j])
Definition at line 291 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
dDii_dKji[i][j] = d(D[i][i])/d(K[j][i])
Definition at line 293 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
dDij_dKij[i][j] = d(D[i][j])/d(K[i][j]) for i!=j
Definition at line 287 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
dDij_dKji[i][j] = d(D[i][j])/d(K[j][i]) for i!=j
Definition at line 289 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
dfa[sequential_i][j][global_k] = d(fa[sequential_i][j])/du[global_k].
Here global_k can be a neighbor to sequential_i or a neighbour to sequential_j (sequential_j is the j^th connection to sequential_i)
Definition at line 313 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
dFij_dKik[sequential_i][j][k] = d(fa[sequential_i][j])/d(K[sequential_i][k]).
Here j denotes the j^th connection to sequential_i, while k denotes the k^th connection to sequential_i
Definition at line 318 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
dFij_dKjk[sequential_i][j][k] = d(fa[sequential_i][j])/d(K[sequential_j][k]).
Here sequential_j is the j^th connection to sequential_i, and k denotes the k^th connection to sequential_j (this will include sequential_i itself)
Definition at line 323 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protected |
Derivative of the fluid density for each phase wrt PorousFlow variables (at the qp)
Definition at line 99 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by executeOnElement().
|
protectedinherited |
_dflux_out_dKjk[sequential_i][j][k] = d(flux_out[sequential_i])/d(K[j][k]).
Here sequential_i is a sequential node number according to the _connections object, and j represents the j^th node connected to i according to the _connections object, and k represents the k^th node connected to j according to the _connections object. Here j must be connected to i (this does include (the sequential version of j) == i), and k must be connected to j (this does include (the sequential version of k) = i and (the sequential version of k) == (sequential version of j)))
Definition at line 187 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), AdvectiveFluxCalculatorBase::getdFluxOutdKjk(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
_dflux_out_du[i][j] = d(flux_out[i])/d(u[j]).
Here i is a sequential node number according to the _connections object, and j (global ID) must be connected to i, or to a node that is connected to i.
Definition at line 180 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), AdvectiveFluxCalculatorBase::getdFluxOutdu(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protected |
_dflux_out_dvars[sequential_i][global_j][pvar] = d(flux_out[global version of sequential_i])/d(porous_flow_variable pvar at global node j)
Definition at line 133 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by finalize(), getdFluxOut_dvars(), and timestepSetup().
|
protected |
Derivative of Grad porepressure in each phase wrt grad(PorousFlow variables)
Definition at line 105 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by executeOnElement().
|
protected |
Derivative of Grad porepressure in each phase wrt PorousFlow variables.
Definition at line 108 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by executeOnElement().
|
protected |
|
protectedinherited |
Vectors used in finalize()
Definition at line 285 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protected |
_dkij_dvar[sequential_i][j][global_k][a] = d(K[sequential_i][j])/d(porous_flow_variable[global_k][porous_flow_variable a]) Here j is the j^th connection to sequential node sequential_i, and node k must be connected to node i
Definition at line 130 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by exchangeGhostedInfo(), executeOnElement(), getdK_dvar(), initialize(), threadJoin(), and timestepSetup().
|
protected |
d(permeabiity)/d(grad(PorousFlow variable))
Definition at line 93 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by executeOnElement().
|
protected |
d(permeabiity)/d(PorousFlow variable)
Definition at line 90 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by executeOnElement().
|
protectedinherited |
drM[i][j] = d(rM[i])/d(u[j]). Here j indexes the j^th node connected to i
Definition at line 302 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
drM_dk[i][j] = d(rM[i])/d(K[i][j]). Here j indexes the j^th node connected to i
Definition at line 306 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
drP[i][j] = d(rP[i])/d(u[j]). Here j indexes the j^th node connected to i
Definition at line 300 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
drP_dk[i][j] = d(rP[i])/d(K[i][j]). Here j indexes the j^th node connected to i
Definition at line 304 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protected |
_du_dvar[sequential_i][a] = d(u[global version of sequential node i])/d(porous_flow_variable[a])
Definition at line 120 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by exchangeGhostedInfo(), execute(), finalize(), threadJoin(), and timestepSetup().
|
protected |
Whether _du_dvar has been computed by the local thread.
Definition at line 123 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by execute(), initialize(), threadJoin(), and timestepSetup().
|
protectedinherited |
fa[sequential_i][j] sequential_j is the j^th connection to sequential_i
Definition at line 309 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protected |
FEType to use.
Definition at line 111 of file PorousFlowAdvectiveFluxCalculatorBase.h.
|
protected |
Fluid density for each phase (at the qp)
Definition at line 96 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by computeVelocity(), and executeOnElement().
|
protectedinherited |
|
protectedinherited |
_flux_out[i] = flux of "heat" from sequential node i
Definition at line 176 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), AdvectiveFluxCalculatorBase::getFluxOut(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protected |
Gradient of the pore pressure in each phase.
Definition at line 102 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by computeVelocity(), and executeOnElement().
|
protected |
grad(Kuzmin-Turek shape function)
Definition at line 117 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by computeVelocity(), and executeOnElement().
|
protected |
Gravity.
Definition at line 81 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by computeVelocity(), and executeOnElement().
|
protectedinherited |
Kuzmin-Turek K_ij matrix.
Along with R+ and R-, this is the key quantity computed by this UserObject. _kij[i][j] = k_ij corresponding to the i-j node pair. Here i is a sequential node numbers according to the _connections object, and j represents the j^th node connected to i according to the _connections object.
Definition at line 173 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::exchangeGhostedInfo(), AdvectiveFluxCalculatorBase::executeOnElement(), AdvectiveFluxCalculatorBase::finalize(), AdvectiveFluxCalculatorBase::initialize(), AdvectiveFluxCalculatorBase::PQPlusMinus(), AdvectiveFluxCalculatorBase::threadJoin(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
Definition at line 295 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
processor ID of this object
Definition at line 207 of file AdvectiveFluxCalculatorBase.h.
Referenced by buildCommLists(), and AdvectiveFluxCalculatorBase::buildCommLists().
|
protectedinherited |
_nodes_to_receive[proc_id] = list of sequential nodal IDs.
proc_id will send us _u_nodal at those nodes. _nodes_to_receive is built (in buildCommLists()) using global node IDs, but after construction, a translation to sequential node IDs is made, for efficiency. The result is: we will receive _u_nodal[_nodes_to_receive[proc_id][i]] from proc_id
Definition at line 215 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::buildCommLists(), exchangeGhostedInfo(), and AdvectiveFluxCalculatorBase::exchangeGhostedInfo().
|
protectedinherited |
_nodes_to_send[proc_id] = list of sequential nodal IDs.
We will send _u_nodal at those nodes to proc_id _nodes_to_send is built (in buildCommLists()) using global node IDs, but after construction, a translation to sequential node IDs is made, for efficiency The result is: we will send _u_nodal[_nodes_to_receive[proc_id][i]] to proc_id
Definition at line 223 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::buildCommLists(), exchangeGhostedInfo(), and AdvectiveFluxCalculatorBase::exchangeGhostedInfo().
|
protected |
Number of PorousFlow variables.
Definition at line 78 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by exchangeGhostedInfo(), execute(), executeOnElement(), finalize(), initialize(), threadJoin(), and timestepSetup().
|
protectedinherited |
Number of nodes held by the _connections object.
Definition at line 204 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), AdvectiveFluxCalculatorBase::initialize(), AdvectiveFluxCalculatorBase::threadJoin(), threadJoin(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
_pairs_to_receive[proc_id] indicates the k(i, j) pairs that will be sent to us from proc_id _pairs_to_receive is first built (in buildCommLists()) using global node IDs, but after construction, a translation to sequential node IDs and the index of connections is performed, for efficiency.
The result is we will receive: _kij[_pairs_to_receive[proc_id][i].first][_pairs_to_receive[proc_id][i].second] from proc_id
Definition at line 232 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::buildCommLists(), and AdvectiveFluxCalculatorBase::exchangeGhostedInfo().
|
protectedinherited |
_pairs_to_send[proc_id] indicates the k(i, j) pairs that we will send to proc_id _pairs_to_send is first built (in buildCommLists()) using global node IDs, but after construction, a translation to sequential node IDs and the index of connections is performed, for efficiency.
The result is we will send: _kij[_pairs_to_send[proc_id][i].first][_pairs_to_send[proc_id][i+1].second] to proc_id
Definition at line 241 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::buildCommLists(), and AdvectiveFluxCalculatorBase::exchangeGhostedInfo().
|
protected |
Flag to check whether permeabiity derivatives are non-zero.
Definition at line 158 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by executeOnElement().
|
protected |
Permeability of porous material.
Definition at line 87 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by computeVelocity(), and executeOnElement().
|
protected |
The phase.
Definition at line 84 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by PorousFlowAdvectiveFluxCalculatorSaturated::computedU_dvar(), PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent::computedU_dvar(), PorousFlowAdvectiveFluxCalculatorSaturatedHeat::computedU_dvar(), PorousFlowAdvectiveFluxCalculatorUnsaturated::computedU_dvar(), PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent::computedU_dvar(), PorousFlowAdvectiveFluxCalculatorUnsaturatedHeat::computedU_dvar(), PorousFlowAdvectiveFluxCalculatorSaturated::computeU(), PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent::computeU(), PorousFlowAdvectiveFluxCalculatorSaturatedHeat::computeU(), PorousFlowAdvectiveFluxCalculatorUnsaturatedMultiComponent::computeU(), PorousFlowAdvectiveFluxCalculatorUnsaturated::computeU(), PorousFlowAdvectiveFluxCalculatorUnsaturatedHeat::computeU(), computeVelocity(), executeOnElement(), and PorousFlowAdvectiveFluxCalculatorBase().
|
protected |
Kuzmin-Turek shape function.
Definition at line 114 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by computeVelocity(), and executeOnElement().
|
protectedinherited |
whether _kij, etc, need to be sized appropriately (and valence recomputed) at the start of the timestep
Definition at line 127 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::meshChanged(), AdvectiveFluxCalculatorBase::timestepSetup(), and timestepSetup().
|
protectedinherited |
Definition at line 297 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
Definition at line 296 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::finalize(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protected |
_triples_to_receive[proc_id] indicates the dk(i, j)/du_nodal information that we will receive from proc_id.
_triples_to_receive is first built (in buildCommLists()) using global node IDs, but after construction, a translation to sequential node IDs and the index of connections is performed, for efficiency. The result is that, for i a multiple of 3, we will receive _dkij_dvar[_triples_to_receive[proc_id][i]][_triples_to_receive[proc_id][i + 1]][_triples_to_receive[proc_id][i + 2]][:] from processor proc_id
Definition at line 144 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by buildCommLists(), and exchangeGhostedInfo().
|
protected |
_triples_to_send[proc_id] indicates the dk(i, j)/du_nodal information that we will send to proc_id.
_triples_to_send is first built (in buildCommLists()) using global node IDs, but after construction, a translation to sequential node IDs and the index of connections is performed, for efficiency. The result is that, for i a multiple of 3, we will send _dkij_dvar[_triples_to_send[proc_id][i]][_triples_to_send[proc_id][i + 1]][_triples_to_send[proc_id][i + 2]][:] to processor proc_id
Definition at line 155 of file PorousFlowAdvectiveFluxCalculatorBase.h.
Referenced by buildCommLists(), and exchangeGhostedInfo().
|
protectedinherited |
_u_nodal[i] = value of _u at sequential node number i
Definition at line 195 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::exchangeGhostedInfo(), AdvectiveFluxCalculatorBase::execute(), AdvectiveFluxCalculatorBase::finalize(), AdvectiveFluxCalculatorBase::PQPlusMinus(), AdvectiveFluxCalculatorBase::threadJoin(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
_u_nodal_computed_by_thread(i) = true if _u_nodal[i] has been computed in execute() by the thread on this processor
Definition at line 198 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::execute(), AdvectiveFluxCalculatorBase::initialize(), AdvectiveFluxCalculatorBase::threadJoin(), and AdvectiveFluxCalculatorBase::timestepSetup().
|
protectedinherited |
_valence[i] = number of times, in a loop over elements seen by this processor (viz, including ghost elements) and are part of the block-restricted blocks of this UserObject, that the sequential node i is encountered
Definition at line 192 of file AdvectiveFluxCalculatorBase.h.
Referenced by AdvectiveFluxCalculatorBase::getValence(), and AdvectiveFluxCalculatorBase::timestepSetup().