https://mooseframework.inl.gov
GrainTrackerElasticity.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 "GrainDataTracker.h"
13 #include "RankFourTensor.h"
14 
15 class EulerAngleProvider;
16 
20 class GrainTrackerElasticity : public GrainDataTracker<RankFourTensor>
21 {
22 public:
24 
26 
27 protected:
28  RankFourTensor newGrain(unsigned int new_grain_id);
29 
31  const bool _random_rotations;
32 
35 
38 };
static InputParameters validParams()
const bool _random_rotations
generate random rotations when the Euler Angle provider runs out of data (otherwise error out) ...
Manage a list of elasticity tensors for the grains.
RankFourTensor newGrain(unsigned int new_grain_id)
implement this method to initialize the data for the new grain
RankFourTensor _C_ijkl
unrotated elasticity tensor
GrainTrackerElasticity(const InputParameters &parameters)
const EulerAngleProvider & _euler
object providing the Euler angles
const InputParameters & parameters() const
Abstract base class for user objects that implement the Euler Angle provider interface.
GrainTracker derived class template to base objects on which maintain physical parameters for individ...