Commit Graph

78 Commits

Author SHA1 Message Date
Philip Eisenlohr a8765a963d more fixing of old .labels use 2016-05-17 11:12:26 -04:00
Martin Diehl a21e8cd863 usind explicitly python2 to run in environments with python 3 as default 2016-05-11 11:01:39 +02:00
Martin Diehl 76a0a93c42 removed unneeded variables, fixed docstrings. missing variable jc in Barlat1989 from 46c33b0 2016-03-03 14:52:47 +01:00
Martin Diehl 7c9d344601 python files now report their version depending on VERSION file in $DAMASK_ROOT 2016-01-27 17:06:00 +00:00
Martin Diehl ebf20f2ebc unified style and other minor improvements 2015-10-15 19:51:27 +00:00
Martin Diehl dd0167821f corrected reporting and convergence check 2015-10-14 20:33:22 +00:00
Martin Diehl bdfd9c69bb simplified dimension handling 2015-10-14 18:45:33 +00:00
Martin Diehl 46564d3df8 commenting and introducing functions for regulary used code 2015-10-14 18:40:02 +00:00
Martin Diehl 180d4625c1 trying to simplify 2015-10-13 21:00:12 +00:00
Martin Diehl 61090c955d removed code doubling 2015-10-09 05:51:58 +00:00
Haiming Zhang 088299daf2 fix the bug in the calculation of RMSD, replace N with sqrt(N). 2015-06-25 12:41:26 +00:00
Haiming Zhang f5ccc37125 re-write Karafillis-Boyce yield criterion, the old version is actually the generalized Karafillis-Boyce yield criterion, i.e., Born-Besson yield criterion, which has three exponents, it seems unstable. Now retreat to the original Karafillis-Boyce yield criterion (Karafillis, Boyce 1993), which has only one exponents. 2015-05-04 15:00:02 +00:00
Haiming Zhang 1e6c4fa988 re-write Yld2000 2015-05-04 14:54:48 +00:00
Haiming Zhang e0e7bb7a24 fix bugs of barlat1989, barlat1991 2015-05-04 14:52:33 +00:00
Haiming Zhang 1b9595d012 1. add the option 'all', fit all criteria automatically
2. generate equivalent stress automatically for advanced criteria.
2015-04-25 17:08:38 +00:00
Haiming Zhang a55b0c54c6 change the unit of stress 2015-04-25 16:22:32 +00:00
Haiming Zhang edb559d2fa 1. Judge the validity of stress points, and skip the invalid stress points.
2. change the defaulted unit
2015-04-25 16:19:06 +00:00
Haiming Zhang 46c33b0d98 polishing 2015-04-21 18:55:10 +00:00
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