Documentation ¶
Overview ¶
package mreten implements models for liquid retention curves
References: [1] Pedroso DM, Sheng D and Zhao, J (2009) The concept of reference curves for constitutive modelling in soil mechanics, Computers and Geotechnics, 36(1-2), 149-165, http://dx.doi.org/10.1016/j.compgeo.2008.01.009 [2] Pedroso DM and Williams DJ (2010) A novel approach for modelling soil-water characteristic curves with hysteresis, Computers and Geotechnics, 37(3), 374-380, http://dx.doi.org/10.1016/j.compgeo.2009.12.004 [3] Pedroso DM and Williams DJ (2011) Automatic Calibration of soil-water characteristic curves using genetic algorithms. Computers and Geotechnics, 38(3), 330-340, http://dx.doi.org/10.1016/j.compgeo.2010.12.004
Index ¶
- func Check(tst *testing.T, mdl Model, pc0, sl0, pcf float64, npts int, ...)
- func LogModels()
- func Plot(mdl Model, pc0, sl0, pcf float64, npts int, args1, args2, label string) (err error)
- func PlotEnd(show bool)
- func Update(mdl Model, pc0, sl0, Δpc float64) (slNew float64, err error)
- type BrooksCorey
- func (o BrooksCorey) Cc(pc, sl float64, wet bool) (float64, error)
- func (o BrooksCorey) Derivs(pc, sl float64, wet bool) (L, Lx, J, Jx, Jy float64, err error)
- func (o BrooksCorey) GetPrms(example bool) fun.Prms
- func (o *BrooksCorey) Init(prms fun.Prms) (err error)
- func (o BrooksCorey) J(pc, sl float64, wet bool) (float64, error)
- func (o BrooksCorey) L(pc, sl float64, wet bool) (float64, error)
- func (o BrooksCorey) Sl(pc float64) float64
- func (o BrooksCorey) SlMin() float64
- type Lin
- func (o Lin) Cc(pc, sl float64, wet bool) (float64, error)
- func (o Lin) Derivs(pc, sl float64, wet bool) (L, Lx, J, Jx, Jy float64, err error)
- func (o Lin) GetPrms(example bool) fun.Prms
- func (o *Lin) Init(prms fun.Prms) (err error)
- func (o Lin) J(pc, sl float64, wet bool) (float64, error)
- func (o Lin) L(pc, sl float64, wet bool) (float64, error)
- func (o Lin) Sl(pc float64) float64
- func (o Lin) SlMin() float64
- type Model
- type Nonrate
- type RefM1
- func (o *RefM1) Cc(pc, sl float64, wet bool) (Ccval float64, err error)
- func (o *RefM1) Derivs(pc, sl float64, wet bool) (L, Lx, J, Jx, Jy float64, err error)
- func (o RefM1) GetPrms(example bool) fun.Prms
- func (o *RefM1) Init(prms fun.Prms) (err error)
- func (o RefM1) J(pc, sl float64, wet bool) (float64, error)
- func (o RefM1) L(pc, sl float64, wet bool) (float64, error)
- func (o RefM1) SlMin() float64
- type VanGen
- func (o VanGen) Cc(pc, sl float64, wet bool) (float64, error)
- func (o VanGen) Derivs(pc, sl float64, wet bool) (L, Lx, J, Jx, Jy float64, err error)
- func (o VanGen) GetPrms(example bool) fun.Prms
- func (o *VanGen) Init(prms fun.Prms) (err error)
- func (o VanGen) J(pc, sl float64, wet bool) (float64, error)
- func (o VanGen) L(pc, sl float64, wet bool) (float64, error)
- func (o VanGen) Sl(pc float64) float64
- func (o VanGen) SlMin() float64
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Check ¶
func Check(tst *testing.T, mdl Model, pc0, sl0, pcf float64, npts int, tolCc, tolD1a, tolD1b, tolD2a, tolD2b float64, verbose bool, pcSkip []float64, tolSkip float64, doplot bool)
Check checks derivatives
func LogModels ¶
func LogModels()
LogModels prints to log information on existent and allocated Models
Types ¶
type BrooksCorey ¶
type BrooksCorey struct {
// contains filtered or unexported fields
}
BrooksCorey implements Books and Corey' model
func (BrooksCorey) Cc ¶
func (o BrooksCorey) Cc(pc, sl float64, wet bool) (float64, error)
Cc computes Cc(pc) := dsl/dpc
func (BrooksCorey) Derivs ¶
func (o BrooksCorey) Derivs(pc, sl float64, wet bool) (L, Lx, J, Jx, Jy float64, err error)
Derivs computes all derivatives
func (BrooksCorey) GetPrms ¶
func (o BrooksCorey) GetPrms(example bool) fun.Prms
GetPrms gets (an example) of parameters
func (*BrooksCorey) Init ¶
func (o *BrooksCorey) Init(prms fun.Prms) (err error)
Init initialises model
func (BrooksCorey) J ¶
func (o BrooksCorey) J(pc, sl float64, wet bool) (float64, error)
J computes J = ∂Cc/∂sl
type Lin ¶
type Lin struct {
// contains filtered or unexported fields
}
Lin implements a linear retetion model: sl(pc) := 1 - λ*pc
type Model ¶
type Model interface { Init(prms fun.Prms) error // initialises retention model GetPrms(example bool) fun.Prms // gets (an example) of parameters SlMin() float64 // returns sl_min Cc(pc, sl float64, wet bool) (float64, error) // computes Cc = f = ∂sl/∂pc L(pc, sl float64, wet bool) (float64, error) // computes L = ∂Cc/∂pc J(pc, sl float64, wet bool) (float64, error) // computes J = ∂Cc/∂sl Derivs(pc, sl float64, wet bool) (L, Lx, J, Jx, Jy float64, err error) // computes all derivatives }
Model implements a liquid retention model (LRM)
Derivs computes (see [1] page 618): L = ∂Cc/∂pc Lx = ∂²Cc/∂pc² J = ∂Cc/∂sl Jx == ∂²Cc/(∂pc ∂sl) Jy == ∂²Cc/∂sl² References: [1] Pedroso DM (2015) A consistent u-p formulation for porous media with hysteresis. Int Journal for Numerical Methods in Engineering, 101(8) 606-634 http://dx.doi.org/10.1002/nme.4808
type RefM1 ¶
type RefM1 struct { A float64 // Amplitude and pc_ref for non-default model // temporary variables (calculated by wetting or drying functions) Dw float64 // [temporary] wetting Dd float64 // [temporary] drying D float64 // [temporary] wetting/drying // contains filtered or unexported fields }
RefM1 implements a nonlinear liquid retention model based on the concept of references [1,2,3]
References: [1] Pedroso DM, Sheng D and Zhao, J (2009) The concept of reference curves for constitutive modelling in soil mechanics, Computers and Geotechnics, 36(1-2), 149-165, http://dx.doi.org/10.1016/j.compgeo.2008.01.009 [2] Pedroso DM and Williams DJ (2010) A novel approach for modelling soil-water characteristic curves with hysteresis, Computers and Geotechnics, 37(3), 374-380, http://dx.doi.org/10.1016/j.compgeo.2009.12.004 [3] Pedroso DM and Williams DJ (2011) Automatic Calibration of soil-water characteristic curves using genetic algorithms. Computers and Geotechnics, 38(3), 330-340, http://dx.doi.org/10.1016/j.compgeo.2010.12.004
type VanGen ¶
type VanGen struct {
// contains filtered or unexported fields
}
VanGen implements van Genuchten's model
Source Files ¶
Click to show internal directories.
Click to hide internal directories.