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 };
const InputParameters & parameters() const
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
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...