Commit Graph

62 Commits

Author SHA1 Message Date
Haiming Zhang 976647b9e4 add the convergence criterion, the method is :
1. calculate the L2 norm of the residual of all the stress points
2. store the relative errors of the L2 norm
3. if the standard deviation of the relative errors of last five fittings is less than 0.05, that it is considered that the relative errors is stabilized, so the fitting is finished.
2015-04-08 17:48:26 +00:00
Haiming Zhang b77768fd4d all the criteria support plane stress 2015-04-08 16:24:20 +00:00
Martin Diehl 6e650a42b4 some comments for discussion 2015-04-07 07:42:46 +00:00
Haiming Zhang ab89c84ec8 Correct the message of last change
1. rename BBC2003 as BBC2000;
2. add the real BBC2003 yield criterion, BBC2003 works; 
3. now the BBC family yield criteria include: BBC2000, BBC2003, BBC2005
2015-04-03 21:01:37 +00:00
Haiming Zhang 412028f33f 1. rename BBC2003 as BBC2000;
2. add the real BBC2003 yield criterion, BBC2003 works;
3. now the BBC family yield criteria include: BBC2000, BBC2003, BBC2008
2015-04-03 20:59:23 +00:00
Haiming Zhang cd2a744db9 add Yld2000 yield criterion, Yld2000 works 2015-04-03 16:20:03 +00:00
Haiming Zhang 2b9964bba5 add Barlat-Lian 1989 yield criterion, Barlat1989 works. 2015-04-03 12:31:13 +00:00
Haiming Zhang 0097d39873 fix some type errors; add more comments 2015-04-02 19:32:48 +00:00
Martin Diehl 86f39de462 remove non-utf symbol 2015-04-02 16:13:00 +00:00
Haiming Zhang d8a99b23bf 1.compact all the criteria into a single Class;
2.the first thorough check of the script;
3.add the option of exponents for all non-quadratic yield criteria, now the user 1)can specify the exponent, for example, m=6 for Barlat 1991, or 2)see the exponent as an undetermined parameters;
4.add the pre-specified bounds for all criteria;
5.add the user defined equivalent stress for some anisotropic yield criteria
2015-04-02 12:08:55 +00:00
Haiming Zhang 72c2ead277 polishing, replace variables calculation with arrays calculation. 2015-03-27 17:58:49 +00:00
Haiming Zhang 226381586c compact the code of Yld2004-18p and Karafillis-Boyce, use array instead of components to calculate the partial derivative. 2015-03-16 16:42:26 +00:00
Haiming Zhang a048b2ec15 1. Implement bbc2005 yield criterion (the residum and Jacobian); 2. bbc2005 works 2015-03-13 10:07:23 +00:00
Haiming Zhang 56cf1b53eb add Fourier interplation, anisotropic Vegter yield criterion is okay 2015-03-13 08:50:47 +00:00
Haiming Zhang de29524189 add Vegter criteria, planar isotropy works 2015-03-11 17:42:46 +00:00
Haiming Zhang a62fa5d5dd rewrite class Loadcase
1. add 2 dimension random load case generator
2. add Vegter load case generator(typical stress points in 2D)
2015-03-09 21:57:22 +00:00
Martin Diehl 96a3cb0667 added some ideas regarding the incorporation of the vegter yield criterion 2015-03-09 11:24:06 +00:00
Haiming Zhang 9203b37fbc 1. Implement Hill1979 yield criterion (the residum and Jacobian);
2. Hill1979 works
2015-02-25 17:24:33 +00:00
Haiming Zhang 8b1846e78e 1. Implement Karafillis-Boyce yield criterion (the residum and Jacobian);
2. Karafillis-Boyce works
2015-02-24 16:46:09 +00:00
Haiming Zhang 39e17fc95a 1. add __init__() for the "Class" of each Criterion;
2. Polishing
2015-02-20 20:51:23 +00:00
Haiming Zhang a3e5da0bfd 1. Implement 2D and 3D Cazacu-Barlat yield criteria(the residum and Jacobian);
2. Both work
2015-02-20 20:34:47 +00:00
Haiming Zhang 09c357c70f 1. Fix bug of Yld2004-18p;
2. get deformation rate tensor and Lankford coefficient.
2015-02-20 14:40:24 +00:00
Haiming Zhang 4a63aff1ed 1. Implement Yld2004-18p yield criterion(the residum and Jacobian);
2. Yld2004-18p yield criterion takes effect
2015-02-13 17:22:19 +00:00
Haiming Zhang 77cffd8040 1. fix up Banabic-Balan-Comsa 2003 (BBC2003) yield criterion;
2. add the calculation Jacobian of BBC2003; 
3. Now BBC2003 yield criterion takes effect
2015-02-12 20:48:03 +00:00
Haiming Zhang 69af205721 add the calculation of Jacobian of isotropic and anisotropic Barlat1991, shows better performance. 2015-02-12 11:04:00 +00:00
Haiming Zhang 40f1f3af23 add the calculation of Jacobian of Hill1948 and Drucker family criteria. 2015-02-11 19:06:23 +00:00
Haiming Zhang eed00007f9 Re-write the script:
1. replace curve_fit with leastsq, which supports the analytical Jacobian
2. specify a "class" (contains both residum and jacobian) for each criterion.
3. add the calculation of Jacobian
2015-02-11 16:49:40 +00:00
Haiming Zhang f3bab46275 addthe Cazacu–Barlat (CZ) yield criterion (3D and 2D), Banabic–Balan–Comsa (BBC) Yield Criterion. 2015-02-07 16:58:57 +00:00
Haiming Zhang cdb7795956 1. Add default boundary constraint(no constraint) and initial guess to the dictionary
2. With the boundary constraint of exponential term, now non-quadratic yield criteria (isotropic Barlat 1991, anisotropic Barlar 1991, Hosford) take effect.
2015-02-07 11:07:45 +00:00
Haiming Zhang 0350b1829c 1. Replace curve_fit(see minpack.py) with curve_fit_bound(see damask/util.py), now the boundary constraint can be applied.
2. Transfer the output information into dictionary 'fittingCriteria', compact subroutine 'fit'.
2015-02-06 14:01:04 +00:00
Haiming Zhang ce09e992cc 1. Change yieldStress from 'list' to 'numpy.arrary', thanks to Martin's suggestion (3907);
2. Change '3*3' Cauchy stress tensor to '1*6', now the number of input 'xdata' for fitting is 6*Points, which is less than the former 9*Points.
2015-02-06 13:48:14 +00:00
Martin Diehl 0b3205a24b some suggestions how to simplify 2015-02-06 09:29:21 +00:00
Haiming Zhang 4f2c07063b Fix general Hosford! 2015-02-05 20:18:07 +00:00
Haiming Zhang 2b704b3905 Fix: Tresca, von Mises, Drucker, Hill 1948 criteria. 2015-02-04 16:47:35 +00:00
Haiming Zhang 2d568b49f2 add the output of standard deviation errors;
fix Hill 48 and anisotropic Barlat 1991
2015-02-04 13:04:34 +00:00
Haiming Zhang 3845c47e61 complement of 3897: add isotropic and anisotropic Barlat 1991 to the dictionary 2015-02-03 12:57:18 +00:00
Haiming Zhang bef846d294 add isotropic and anisotropic Barlat1991 yield criteria. 2015-02-03 12:54:16 +00:00
Haiming Zhang 55445af9bc 1. add initial guess and weight to the fitting (nonlinear least square regression);
2. extend the dictionary:fittingCriteria
2015-02-03 12:18:53 +00:00
Haiming Zhang cc6138ec41 rewrite "def fit()";
add format output.
2015-02-02 17:41:19 +00:00
Haiming Zhang fd75772a3f Fix the bug of calculating principal stresses. Now the fitting result is better for the criteria which expressed in principal stresses.
Thanks to Martin.
2015-02-02 16:52:28 +00:00
Martin Diehl d86f091026 some small fixes, reporting still needs update 2014-10-06 12:47:52 +00:00
Martin Diehl 2836b2fb35 work in progress, extending to more criteria 2014-10-03 09:27:20 +00:00
Martin Diehl 033a275d82 a bunch of small changes. deleted compiled FFTW libraries 2014-10-02 21:27:03 +00:00
Martin Diehl afb9a2186b removed explicit default setting: type='string' and action='store' 2014-09-12 14:14:55 +00:00
Martin Diehl c6eab9dab7 fixed wrong order in linear interpolation for stress 2014-08-18 20:09:09 +00:00
Martin Diehl e637f6344c added possibility to fit to more than one yield point, now using linear interpolation between around given threshold value 2014-08-18 18:21:36 +00:00
Martin Diehl ad7fe1ecbc fixed bug (wrong index in stress tensor for Hill48) and possible deadlock 2014-08-10 21:22:22 +00:00
Martin Diehl c8f16f16fa fixed bug in hill criterion 2014-08-06 20:07:47 +00:00
Martin Diehl 649e637561 added some more post processing tests and improved output 2014-08-06 19:06:33 +00:00
Martin Diehl 96fe818f5d added more options to command line 2014-08-05 14:29:36 +00:00