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 44 of file RichardsExcavGeom.h.

Constructor & Destructor Documentation

RichardsExcavGeom::RichardsExcavGeom ( const InputParameters &  parameters)

Definition at line 42 of file RichardsExcavGeom.C.

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

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

Definition at line 63 of file RichardsExcavGeom.C.

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

Real RichardsExcavGeom::_active_length
protected

active length

Definition at line 65 of file RichardsExcavGeom.h.

Referenced by value().

Real RichardsExcavGeom::_deactivation_time
protected

deactivation time

Definition at line 71 of file RichardsExcavGeom.h.

Referenced by value().

RealVectorValue RichardsExcavGeom::_end_posn
protected

end position

Definition at line 59 of file RichardsExcavGeom.h.

Referenced by value().

Real RichardsExcavGeom::_end_time
protected

end time

Definition at line 62 of file RichardsExcavGeom.h.

Referenced by RichardsExcavGeom(), and value().

Real RichardsExcavGeom::_norm_retreat_vel
protected

norm of retreat velocity

Definition at line 77 of file RichardsExcavGeom.h.

Referenced by RichardsExcavGeom(), and value().

RealVectorValue RichardsExcavGeom::_retreat_vel
protected

retreat velocity

Definition at line 74 of file RichardsExcavGeom.h.

Referenced by RichardsExcavGeom(), and value().

RealVectorValue RichardsExcavGeom::_start_posn
protected

start position

Definition at line 53 of file RichardsExcavGeom.h.

Referenced by value().

Real RichardsExcavGeom::_start_time
protected

start time

Definition at line 56 of file RichardsExcavGeom.h.

Referenced by RichardsExcavGeom(), and value().

Real RichardsExcavGeom::_true_value
protected

true value to return

Definition at line 68 of file RichardsExcavGeom.h.

Referenced by value().


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