https://mooseframework.inl.gov
PorousFlowHysteresisOrder.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
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 
12 #include "PorousFlowMaterial.h"
14 #include "PorousFlowConstants.h"
15 
20 class PorousFlowHysteresisOrder : public DerivativeMaterialInterface<PorousFlowMaterial>
21 {
22 public:
24 
25  PorousFlowHysteresisOrder(const InputParameters & parameters);
26 
27  virtual void initQpStatefulProperties() override;
28  virtual void computeQpProperties() override;
29 
30 protected:
32  const unsigned _liquid_ph_num;
33 
35  const std::string _liquid_phase;
36 
38  const unsigned _initial_order;
39 
41  const std::vector<Real> _previous_turning_points;
42 
45 
48 
51 
54 
57 
61 };
const MaterialProperty< std::array< Real, PorousFlowConstants::MAX_HYSTERESIS_ORDER > > & _hys_sat_tps_old
Old value of recorded saturation values at the turning points.
Computes the hysteresis order for use by the hysteretic capillary pressure and relative-permeability ...
static InputParameters validParams()
MaterialProperty< std::array< Real, PorousFlowConstants::MAX_HYSTERESIS_ORDER > > & _hys_sat_tps
Recorded saturation values at the turning points.
virtual void computeQpProperties() override
MaterialProperty< unsigned > & _hys_order
Computed hysteresis order at the nodes or quadpoints.
const std::vector< Real > _previous_turning_points
Previous turning points that were encountered prior to the simulation.
const MaterialProperty< std::vector< Real > > & _sat_older
Older value of saturation.
const MaterialProperty< std::vector< Real > > & _sat_old
Old value of saturation.
const unsigned _liquid_ph_num
Liquid phase number.
virtual void initQpStatefulProperties() override
PorousFlowHysteresisOrder(const InputParameters &parameters)
const MaterialProperty< unsigned > & _hys_order_old
Old value of hysteresis order at the nodes or quadpoints.
const std::string _liquid_phase
Stringified liquid phase number.
const unsigned _initial_order
Initial order.