https://mooseframework.inl.gov
SmoothCircleFromFileIC.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
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 
23 {
24 public:
26 
28 
29 protected:
30  virtual void computeCircleRadii();
31  virtual void computeCircleCenters();
32 
33  enum COLS
34  {
35  X,
36  Y,
37  Z,
38  R
39  };
40 
41  std::array<int, 4> _col_map = {{-1, -1, -1, -1}};
42  std::vector<std::vector<Real>> _data;
43  FileName _file_name;
45  std::vector<std::string> _col_names;
46  unsigned int _n_circles;
47 };
static InputParameters validParams()
SmoothcircleBaseIC is the base class for all initial conditions that create circles.
MooseUtils::DelimitedFileReader _txt_reader
std::vector< std::string > _col_names
SmoothCircleFromFileIC(const InputParameters &parameters)
Reads multiple circles from a text file with the columns labeled x y z r.
std::array< int, 4 > _col_map
const InputParameters & parameters() const
std::vector< std::vector< Real > > _data