-
Notifications
You must be signed in to change notification settings - Fork 2
Description
See branch feat/M_iteration:
Implement a method of fitting single crystal parameters:
By comparison of estimated single crystal hardening curve to predicted plastic stress-strain curve,
then applying the calculated Taylor factor to the plastic stress-strain of the tensile test, to get
the single crystal parameters which align a crystal plasticity simulation predictions with experiment.
- First, determine plastic stress-strain of tensile test:
- Then, assuming a first guess of Taylor factor (2.5 for single slip system polycrystals), estimate the single crystal plastic hardening curve, and use scipy curve fit to fit chosen crystal plasticity hardening curve and estimate single crystal parameters:
h_0_sl-sl : 525.1070260296354e6 #Pa
xi_0_sl : 37.15703092868268e6 #Pa
xi_inf_sl : 106.13365980551292e6 #Pa
a_sl : 1.4803273106019188- Use these first estimate parameters in a simulation with the same texture as the tensile test, and predict the stress-strain curve:
- Use the estimated single crystal used to run the simulation and the predicted plastic stress-strain to determine the Taylor factor relationship between a single crystal and the polycrystal in the model, then apply this relationship to the plastic hardening stress-strain curve of the tensile test to get the single crystal hardening curve of the tensile test if it had the same texture and microstructure as the model, and re-fit the damask hardening law to this new single crystal estimate to get parameters. Use these parameters in a new simulation and check if any closer to experiment:
I have this code in a jupyter notebook at the moment, but I'd like to implement this into formable and therefore matflow.
It's a much quicker solution for calibration of the crystal plasticity model to experiment, only requiring three iterations to be within 2MPa of the true stress of the experimental data.
It does however only work for materials with only one slip system, for more complex materials to work with this, an explicit Taylor factor calculation, taking texture into account, (using defdap?) would have to be implemented.