www.mooseframework.org
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
EulerAngleFileReader Class Reference

Read a set of Euler angles from a file. More...

#include <EulerAngleFileReader.h>

Inheritance diagram for EulerAngleFileReader:
[legend]

Public Member Functions

 EulerAngleFileReader (const InputParameters &parameters)
 
virtual const EulerAnglesgetEulerAngles (unsigned int) const
 
virtual unsigned int getGrainNum () const
 
virtual void initialize ()
 
virtual void execute ()
 
virtual void finalize ()
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Member Functions

void readFile ()
 

Protected Attributes

FileName _file_name
 
std::vector< EulerAngles_angles
 

Detailed Description

Read a set of Euler angles from a file.

Definition at line 24 of file EulerAngleFileReader.h.

Constructor & Destructor Documentation

◆ EulerAngleFileReader()

EulerAngleFileReader::EulerAngleFileReader ( const InputParameters &  parameters)

Definition at line 27 of file EulerAngleFileReader.C.

28  : EulerAngleProvider(params), _file_name(getParam<FileName>("file_name"))
29 {
30  readFile();
31 }

Member Function Documentation

◆ execute()

virtual void EulerAngleFileReader::execute ( )
inlinevirtual

Definition at line 35 of file EulerAngleFileReader.h.

35 {}

◆ finalize()

virtual void EulerAngleFileReader::finalize ( )
inlinevirtual

Definition at line 36 of file EulerAngleFileReader.h.

36 {}

◆ getEulerAngles()

const EulerAngles & EulerAngleFileReader::getEulerAngles ( unsigned int  i) const
virtual

Implements EulerAngleProvider.

Definition at line 40 of file EulerAngleFileReader.C.

41 {
42  mooseAssert(i < getGrainNum(), "Requesting Euler angles for an invalid grain id");
43  return _angles[i];
44 }

◆ getGrainNum()

unsigned int EulerAngleFileReader::getGrainNum ( ) const
virtual

Implements EulerAngleProvider.

Definition at line 34 of file EulerAngleFileReader.C.

35 {
36  return _angles.size();
37 }

Referenced by getEulerAngles().

◆ initialize()

virtual void EulerAngleFileReader::initialize ( )
inlinevirtual

Definition at line 34 of file EulerAngleFileReader.h.

34 {}

◆ readFile()

void EulerAngleFileReader::readFile ( )
protected

Definition at line 47 of file EulerAngleFileReader.C.

48 {
49  // Read in Euler angles from _file_name
50  std::ifstream inFile(_file_name.c_str());
51  if (!inFile)
52  mooseError("Can't open ", _file_name);
53 
54  // Skip first 4 lines
55  for (unsigned int i = 0; i < 4; ++i)
56  inFile.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
57 
58  // The angle files contain a fourth column with weights that we ignore in this version
59  Real weight;
60 
61  // Loop over grains
62  EulerAngles a;
63  while (inFile >> a.phi1 >> a.Phi >> a.phi2 >> weight)
64  _angles.push_back(EulerAngles(a));
65 }

Referenced by EulerAngleFileReader().

◆ validParams()

InputParameters EulerAngleFileReader::validParams ( )
static

Definition at line 19 of file EulerAngleFileReader.C.

20 {
21  InputParameters params = EulerAngleProvider::validParams();
22  params.addClassDescription("Read Euler angle data from a file and provide it to other objects.");
23  params.addRequiredParam<FileName>("file_name", "Euler angle data file name");
24  return params;
25 }

Member Data Documentation

◆ _angles

std::vector<EulerAngles> EulerAngleFileReader::_angles
protected

Definition at line 42 of file EulerAngleFileReader.h.

Referenced by getEulerAngles(), getGrainNum(), and readFile().

◆ _file_name

FileName EulerAngleFileReader::_file_name
protected

Definition at line 41 of file EulerAngleFileReader.h.

Referenced by readFile().


The documentation for this class was generated from the following files:
EulerAngleFileReader::_file_name
FileName _file_name
Definition: EulerAngleFileReader.h:41
EulerAngles::phi1
Real phi1
Definition: EulerAngles.h:25
EulerAngles::Phi
Real Phi
Definition: EulerAngles.h:25
EulerAngleProvider::validParams
static InputParameters validParams()
Definition: EulerAngleProvider.C:15
EulerAngleFileReader::_angles
std::vector< EulerAngles > _angles
Definition: EulerAngleFileReader.h:42
EulerAngleFileReader::getGrainNum
virtual unsigned int getGrainNum() const
Definition: EulerAngleFileReader.C:34
EulerAngles
Euler angle triplet.
Definition: EulerAngles.h:22
EulerAngles::phi2
Real phi2
Definition: EulerAngles.h:25
EulerAngleFileReader::readFile
void readFile()
Definition: EulerAngleFileReader.C:47
EulerAngleProvider::EulerAngleProvider
EulerAngleProvider(const InputParameters &parameters)
Definition: EulerAngleProvider.h:29