www.mooseframework.org
Public Member Functions | Protected Attributes | List of all members
RichardsExcavGeom Class Reference

Defines excavation geometry. More...

#include <RichardsExcavGeom.h>

Inheritance diagram for RichardsExcavGeom:
[legend]

Public Member Functions

 RichardsExcavGeom (const InputParameters &parameters)
 
virtual Real value (Real t, const Point &p) const
 

Protected Attributes

RealVectorValue _start_posn
 start position More...
 
Real _start_time
 start time More...
 
RealVectorValue _end_posn
 end position More...
 
Real _end_time
 end time More...
 
Real _active_length
 active length More...
 
Real _true_value
 true value to return More...
 
Real _deactivation_time
 deactivation time More...
 
RealVectorValue _retreat_vel
 retreat velocity More...
 
Real _norm_retreat_vel
 norm of retreat velocity More...
 

Detailed Description

Defines excavation geometry.

It is used to enforce pressures at the boundary of excavations (using RichardsExcav boundary condition) to apply sink fluxes on these boundaries (using RichardsPiecewiseLinearSink boundary condition) and to record fluid fluxes into the excavations (using RichardsExcavFlow and RichardsPiecewiseLinearSinkFlux postprocessors).

An excavation boundary evolves with time. A RichardsExcavGeom object is used in conjunction with a static sideset to simulate this time evolution.

Define start_posn, and end_posn, which are Points. Define start_time, end_time, and deactivation_time, which are Real numbers. Define retreat_vel = (end_time - start_time)/(end_time - start_time) For a given time t < end_time, define current_posn = start_posn + (t - start_time)*retreat_vel t > end_time, define current_posn = end_posn Then, the RichardsExcavGeom evaluated at time=t, position=p returns: zero, if: t < start_time, or t >= deactivation_time p is behind start position, or p lies ahead of current position, or p lies greater than active_length behind current position true_value, otherwise.

Definition at line 45 of file RichardsExcavGeom.h.

Constructor & Destructor Documentation

◆ RichardsExcavGeom()

RichardsExcavGeom::RichardsExcavGeom ( const InputParameters &  parameters)

Definition at line 46 of file RichardsExcavGeom.C.

47  : Function(parameters),
48  _start_posn(getParam<RealVectorValue>("start_posn")),
49  _start_time(getParam<Real>("start_time")),
50  _end_posn(getParam<RealVectorValue>("end_posn")),
51  _end_time(getParam<Real>("end_time")),
52  _active_length(getParam<Real>("active_length")),
53  _true_value(getParam<Real>("true_value")),
54  _deactivation_time(getParam<Real>("deactivation_time")),
56 {
57  if (_start_time >= _end_time)
58  mooseError("Start time for excavation set to ",
60  " but this must be less than the end time, which is ",
61  _end_time);
62  _retreat_vel /= (_end_time - _start_time); // this is now a velocity
64 }

Member Function Documentation

◆ value()

Real RichardsExcavGeom::value ( Real  t,
const Point &  p 
) const
virtual

Definition at line 67 of file RichardsExcavGeom.C.

68 {
69  if (t < _start_time || (p - _start_posn) * _retreat_vel < 0)
70  // point is behind start posn - it'll never be active
71  return 0.0;
72 
73  if (t >= _deactivation_time)
74  return 0.0;
75 
76  RealVectorValue current_posn;
77  if (t >= _end_time)
78  current_posn = _end_posn;
79  else
80  current_posn = _start_posn + (t - _start_time) * _retreat_vel;
81 
82  Real distance_into_goaf = (current_posn - p) * _retreat_vel / _norm_retreat_vel;
83 
84  if (distance_into_goaf < 0)
85  // point is ahead of current_posn
86  return 0.0;
87 
88  if (distance_into_goaf > _active_length)
89  // point is too far into goaf
90  return 0.0;
91 
92  return _true_value;
93 }

Member Data Documentation

◆ _active_length

Real RichardsExcavGeom::_active_length
protected

active length

Definition at line 66 of file RichardsExcavGeom.h.

Referenced by value().

◆ _deactivation_time

Real RichardsExcavGeom::_deactivation_time
protected

deactivation time

Definition at line 72 of file RichardsExcavGeom.h.

Referenced by value().

◆ _end_posn

RealVectorValue RichardsExcavGeom::_end_posn
protected

end position

Definition at line 60 of file RichardsExcavGeom.h.

Referenced by value().

◆ _end_time

Real RichardsExcavGeom::_end_time
protected

end time

Definition at line 63 of file RichardsExcavGeom.h.

Referenced by RichardsExcavGeom(), and value().

◆ _norm_retreat_vel

Real RichardsExcavGeom::_norm_retreat_vel
protected

norm of retreat velocity

Definition at line 78 of file RichardsExcavGeom.h.

Referenced by RichardsExcavGeom(), and value().

◆ _retreat_vel

RealVectorValue RichardsExcavGeom::_retreat_vel
protected

retreat velocity

Definition at line 75 of file RichardsExcavGeom.h.

Referenced by RichardsExcavGeom(), and value().

◆ _start_posn

RealVectorValue RichardsExcavGeom::_start_posn
protected

start position

Definition at line 54 of file RichardsExcavGeom.h.

Referenced by value().

◆ _start_time

Real RichardsExcavGeom::_start_time
protected

start time

Definition at line 57 of file RichardsExcavGeom.h.

Referenced by RichardsExcavGeom(), and value().

◆ _true_value

Real RichardsExcavGeom::_true_value
protected

true value to return

Definition at line 69 of file RichardsExcavGeom.h.

Referenced by value().


The documentation for this class was generated from the following files:
RichardsExcavGeom::_active_length
Real _active_length
active length
Definition: RichardsExcavGeom.h:66
RichardsExcavGeom::_norm_retreat_vel
Real _norm_retreat_vel
norm of retreat velocity
Definition: RichardsExcavGeom.h:78
RichardsExcavGeom::_end_time
Real _end_time
end time
Definition: RichardsExcavGeom.h:63
RichardsExcavGeom::_true_value
Real _true_value
true value to return
Definition: RichardsExcavGeom.h:69
RichardsExcavGeom::_retreat_vel
RealVectorValue _retreat_vel
retreat velocity
Definition: RichardsExcavGeom.h:75
RichardsExcavGeom::_start_time
Real _start_time
start time
Definition: RichardsExcavGeom.h:57
RichardsExcavGeom::_deactivation_time
Real _deactivation_time
deactivation time
Definition: RichardsExcavGeom.h:72
RichardsExcavGeom::_start_posn
RealVectorValue _start_posn
start position
Definition: RichardsExcavGeom.h:54
RichardsExcavGeom::_end_posn
RealVectorValue _end_posn
end position
Definition: RichardsExcavGeom.h:60