www.mooseframework.org
SmoothCircleFromFileIC.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 <array>
13 
14 #include "SmoothCircleBaseIC.h"
15 #include "DelimitedFileReader.h"
16 
17 // Forward Declarations
19 
20 template <>
21 InputParameters validParams<SmoothCircleFromFileIC>();
22 
30 {
31 public:
32  SmoothCircleFromFileIC(const InputParameters & parameters);
33 
34 protected:
35  virtual void computeCircleRadii();
36  virtual void computeCircleCenters();
37 
38  enum COLS
39  {
40  X,
41  Y,
42  Z,
43  R
44  };
45  // Double braces in array initializer are workaround for bug in gcc 4.9.2
46  std::array<int, 4> _col_map = {{-1, -1, -1, -1}};
47  std::vector<std::vector<Real>> _data;
48  FileName _file_name;
49  MooseUtils::DelimitedFileReader _txt_reader;
50  std::vector<std::string> _col_names;
51  unsigned int _n_circles;
52 };
53 
SmoothCircleFromFileIC::_txt_reader
MooseUtils::DelimitedFileReader _txt_reader
Definition: SmoothCircleFromFileIC.h:49
SmoothCircleFromFileIC::computeCircleRadii
virtual void computeCircleRadii()
Definition: SmoothCircleFromFileIC.C:68
SmoothCircleBaseIC.h
SmoothCircleFromFileIC::Y
Definition: SmoothCircleFromFileIC.h:41
SmoothCircleFromFileIC::_col_map
std::array< int, 4 > _col_map
Definition: SmoothCircleFromFileIC.h:46
SmoothCircleBaseIC
SmoothcircleBaseIC is the base class for all initial conditions that create circles.
Definition: SmoothCircleBaseIC.h:26
SmoothCircleFromFileIC::computeCircleCenters
virtual void computeCircleCenters()
Definition: SmoothCircleFromFileIC.C:74
SmoothCircleFromFileIC::_data
std::vector< std::vector< Real > > _data
Definition: SmoothCircleFromFileIC.h:47
SmoothCircleFromFileIC::COLS
COLS
Definition: SmoothCircleFromFileIC.h:38
SmoothCircleFromFileIC::R
Definition: SmoothCircleFromFileIC.h:43
SmoothCircleFromFileIC::_file_name
FileName _file_name
Definition: SmoothCircleFromFileIC.h:48
validParams< SmoothCircleFromFileIC >
InputParameters validParams< SmoothCircleFromFileIC >()
Definition: SmoothCircleFromFileIC.C:16
SmoothCircleFromFileIC::Z
Definition: SmoothCircleFromFileIC.h:42
SmoothCircleFromFileIC
Reads multiple circles from a text file with the columns labeled x y z r.
Definition: SmoothCircleFromFileIC.h:29
SmoothCircleFromFileIC::X
Definition: SmoothCircleFromFileIC.h:40
SmoothCircleFromFileIC::_col_names
std::vector< std::string > _col_names
Definition: SmoothCircleFromFileIC.h:50
SmoothCircleFromFileIC::SmoothCircleFromFileIC
SmoothCircleFromFileIC(const InputParameters &parameters)
Definition: SmoothCircleFromFileIC.C:25
SmoothCircleFromFileIC::_n_circles
unsigned int _n_circles
Definition: SmoothCircleFromFileIC.h:51