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)
 

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 46 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 }
Real _deactivation_time
deactivation time
Real _true_value
true value to return
Real _norm_retreat_vel
norm of retreat velocity
Real _end_time
end time
Real _active_length
active length
Real _start_time
start time
RealVectorValue _retreat_vel
retreat velocity
RealVectorValue _start_posn
start position
RealVectorValue _end_posn
end position

Member Function Documentation

◆ value()

Real RichardsExcavGeom::value ( Real  t,
const Point &  p 
)
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 }
Real _deactivation_time
deactivation time
Real _true_value
true value to return
Real _norm_retreat_vel
norm of retreat velocity
Real _end_time
end time
Real _active_length
active length
Real _start_time
start time
RealVectorValue _retreat_vel
retreat velocity
RealVectorValue _start_posn
start position
RealVectorValue _end_posn
end position

Member Data Documentation

◆ _active_length

Real RichardsExcavGeom::_active_length
protected

active length

Definition at line 67 of file RichardsExcavGeom.h.

Referenced by value().

◆ _deactivation_time

Real RichardsExcavGeom::_deactivation_time
protected

deactivation time

Definition at line 73 of file RichardsExcavGeom.h.

Referenced by value().

◆ _end_posn

RealVectorValue RichardsExcavGeom::_end_posn
protected

end position

Definition at line 61 of file RichardsExcavGeom.h.

Referenced by value().

◆ _end_time

Real RichardsExcavGeom::_end_time
protected

end time

Definition at line 64 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 79 of file RichardsExcavGeom.h.

Referenced by RichardsExcavGeom(), and value().

◆ _retreat_vel

RealVectorValue RichardsExcavGeom::_retreat_vel
protected

retreat velocity

Definition at line 76 of file RichardsExcavGeom.h.

Referenced by RichardsExcavGeom(), and value().

◆ _start_posn

RealVectorValue RichardsExcavGeom::_start_posn
protected

start position

Definition at line 55 of file RichardsExcavGeom.h.

Referenced by value().

◆ _start_time

Real RichardsExcavGeom::_start_time
protected

start time

Definition at line 58 of file RichardsExcavGeom.h.

Referenced by RichardsExcavGeom(), and value().

◆ _true_value

Real RichardsExcavGeom::_true_value
protected

true value to return

Definition at line 70 of file RichardsExcavGeom.h.

Referenced by value().


The documentation for this class was generated from the following files: