Polycrystal models¶
Overview¶
This python file provides polycrystal homogenization models. Here the goal is to homogenize the response of a large collection of single crystal orientations (i.e. grains) with individual single crystal plastic responses into a macroscale, effective plastic response.
Polycrystal homogenization models are simply NEMLModel_ldi objects with that standard interface. This means they can be used in any of the NEML python drivers or in finite element analysis exactly like any other NEML material model. They can even be defined (somewhat tediously) in the NEML XML file and saved for future use. The only difference is that they take as parameters a Implementation object (itself a NEMLModel_ldi object) and a list of orientations as input, instead of some set of material parameters.
Implementations¶
Class description¶
-
class PolycrystalModel : public neml::NEMLModel_ldi¶
Generic superclass.
Subclassed by neml::TaylorModel
Public Functions
-
PolycrystalModel(ParameterSet ¶ms)¶
-
size_t n() const¶
-
double *history(double *const store, size_t i) const¶
-
double *stress(double *const store, size_t i) const¶
-
double *d(double *const store, size_t i) const¶
-
double *w(double *const store, size_t i) const¶
-
const double *history(const double *const store, size_t i) const¶
-
const double *stress(const double *const store, size_t i) const¶
-
const double *d(const double *const store, size_t i) const¶
-
const double *w(const double *const store, size_t i) const¶
-
virtual std::vector<Orientation> orientations(double *const store) const¶
-
virtual std::vector<Orientation> orientations_active(double *const store) const¶
-
PolycrystalModel(ParameterSet ¶ms)¶