www.mooseframework.org
PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
13 
15 
16 template <>
18 
26 {
27 public:
28  PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent(const InputParameters & parameters);
29 
30 protected:
31  virtual Real computeU(unsigned i) const override;
32 
33  virtual Real computedU_dvar(unsigned i, unsigned pvar) const override;
34 
36  const unsigned int _fluid_component;
37 
39  const MaterialProperty<std::vector<std::vector<Real>>> & _mass_fractions;
40 
42  const MaterialProperty<std::vector<std::vector<std::vector<Real>>>> & _dmass_fractions_dvar;
43 };
44 
Computes the advective flux of fluid of given phase and fluid component.
InputParameters validParams< PorousFlowAdvectiveFluxCalculatorSaturatedMultiComponent >()
virtual Real computeU(unsigned i) const override
Computes the value of u at the local node id of the current element (_current_elem) ...
Computes the advective flux of fluid of given phase, assuming fully-saturated conditions.
const MaterialProperty< std::vector< std::vector< Real > > > & _mass_fractions
Mass fraction of each component in each phase.
virtual Real computedU_dvar(unsigned i, unsigned pvar) const override
Compute d(u)/d(porous_flow_variable)
const MaterialProperty< std::vector< std::vector< std::vector< Real > > > > & _dmass_fractions_dvar
Derivative of the mass fraction of each component in each phase wrt PorousFlow variables.