www.mooseframework.org
PorousFlowLineGeometry.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 "DiracKernel.h"
13 
15 
16 template <>
17 InputParameters validParams<PorousFlowLineGeometry>();
18 
22 class PorousFlowLineGeometry : public DiracKernel
23 {
24 public:
32  PorousFlowLineGeometry(const InputParameters & parameters);
33 
34 protected:
36  const Real _line_length;
37 
39  const RealVectorValue _line_direction;
40 
46  const std::string _point_file;
47 
49  std::vector<Real> _rs;
50 
52  std::vector<Real> _xs;
53 
55  std::vector<Real> _ys;
56 
58  std::vector<Real> _zs;
59 
62 
64  std::vector<Real> _half_seg_len;
65 
67  virtual void addPoints() override;
68 
70  bool parseNextLineReals(std::ifstream & ifs, std::vector<Real> & myvec);
71 };
72 
PorousFlowLineGeometry::PorousFlowLineGeometry
PorousFlowLineGeometry(const InputParameters &parameters)
Creates a new PorousFlowLineGeometry This reads the file containing the lines of the form weight x y ...
Definition: PorousFlowLineGeometry.C:43
PorousFlowLineGeometry::_point_file
const std::string _point_file
File defining the geometry of the borehole.
Definition: PorousFlowLineGeometry.h:46
PorousFlowLineGeometry::_xs
std::vector< Real > _xs
x points of the borehole
Definition: PorousFlowLineGeometry.h:52
PorousFlowLineGeometry::_rs
std::vector< Real > _rs
Radii of the borehole.
Definition: PorousFlowLineGeometry.h:49
PorousFlowLineGeometry::addPoints
virtual void addPoints() override
Add Dirac Points to the line sink.
Definition: PorousFlowLineGeometry.C:125
PorousFlowLineGeometry
Approximates a borehole by a sequence of Dirac Points.
Definition: PorousFlowLineGeometry.h:22
validParams< PorousFlowLineGeometry >
InputParameters validParams< PorousFlowLineGeometry >()
Definition: PorousFlowLineGeometry.C:17
PorousFlowLineGeometry::_bottom_point
Point _bottom_point
The bottom point of the borehole (where bottom_pressure is defined)
Definition: PorousFlowLineGeometry.h:61
PorousFlowLineGeometry::_line_length
const Real _line_length
Line length. This is only used if there is only one borehole point.
Definition: PorousFlowLineGeometry.h:36
PorousFlowLineGeometry::parseNextLineReals
bool parseNextLineReals(std::ifstream &ifs, std::vector< Real > &myvec)
Reads a space-separated line of floats from ifs and puts in myvec.
Definition: PorousFlowLineGeometry.C:103
PorousFlowLineGeometry::_zs
std::vector< Real > _zs
z points of borehole
Definition: PorousFlowLineGeometry.h:58
PorousFlowLineGeometry::_half_seg_len
std::vector< Real > _half_seg_len
0.5*(length of polyline segments between points)
Definition: PorousFlowLineGeometry.h:64
PorousFlowLineGeometry::_line_direction
const RealVectorValue _line_direction
Line direction. This is only used if there is only one borehole point.
Definition: PorousFlowLineGeometry.h:39
PorousFlowLineGeometry::_ys
std::vector< Real > _ys
y points of the borehole
Definition: PorousFlowLineGeometry.h:55