Commit Graph

344 Commits

Author SHA1 Message Date
Martin Diehl 6e4239bb7c removed Id 2016-01-27 14:06:21 +00:00
Martin Diehl 072fa58027 fixed missing variable name change 2016-01-18 16:13:27 +00:00
Martin Diehl 12653bf1a4 more rename g -> c/ipc, wrong ipc iteration for crystallite_integrateStateRK4 and single run fixed 2016-01-17 17:56:24 +00:00
Martin Diehl 0799570a03 renamed g -> c/ipc 2016-01-17 14:50:33 +00:00
Philip Eisenlohr 684992bf50 exchanged mappingConstitutive array for more descriptive "phaseAt and phasememberAt" 2016-01-15 00:19:44 +00:00
Martin Diehl 4b10e4792e adjusted function for polar decomposition to actual need (no return of U) 2016-01-12 21:39:31 +00:00
Martin Diehl 519cd29c6f using norm2 function as L2 norm (vector, math_norm3) and Frobenius norm (tensor, math_norm33) 2016-01-09 16:01:30 +00:00
Franz Roters fc8a11f027 corrected typo: alias for first Piola stress should read 1stpiola NOT 1piola 2015-10-19 06:57:23 +00:00
Chen Zhang 484a34b7f1 added pheno+ module
modify crystallite microstructure call
to pass orientations
2015-10-14 18:36:19 +00:00
Chen Zhang d6abc00218 add pheno+ module in 2015-10-13 18:52:01 +00:00
Martin Diehl 751d1d7582 function statement is more clear 2015-09-10 13:01:33 +00:00
Martin Diehl bbe37c842e name conflict 2015-09-09 21:52:00 +00:00
Pratheek Shanthraj 197ae53553 lots of memory savings (~ stateside + 250 pReals per integration point) when using analytic jacobian 2015-08-28 10:55:38 +00:00
Martin Diehl 6848d83d13 behavior of IO_stringPos was unsafe in some situations, also took the chance to rename the variables used in its context to a more meaningful name.
functions in the core module are not used, including kdTree
2015-08-28 07:38:48 +00:00
Martin Diehl 563d9e64dd MAXNCHUNKS capitalized since it is a parameter 2015-08-06 09:24:56 +00:00
Tias Maiti 65d114e4f0 improved debug statements 2015-08-04 21:26:22 +00:00
Pratheek Shanthraj a01d7d8d66 corrections to crystallite_push33ToRef function 2015-08-03 11:07:19 +00:00
Pratheek Shanthraj 87d42bf447 initialise Fi correctly for initial field values away from equilibrium 2015-07-24 14:47:18 +00:00
Pratheek Shanthraj a14070bad4 changed up handling of delta states, and some bug fixes 2015-06-01 16:02:27 +00:00
Pratheek Shanthraj 8f4663985a major restructuring of multi field handling in DAMASK and added some example config files for multi field simulations. please report bugs 2015-05-28 17:02:23 +00:00
Pratheek Shanthraj 0681f67570 corrected buggy previous commit 2015-04-21 14:33:38 +00:00
Pratheek Shanthraj d049eadce7 write output information only for active crystallites. removed unused variables. fixed some real == 0 comparisons 2015-04-21 12:23:00 +00:00
Martin Diehl 5c1804e77d improved NaN checks 2015-04-13 10:02:52 +00:00
Martin Diehl 470fc2dce3 comparison for zero should be abs:
a == 0.0_pReal   becomes abs(a) <= tiny(a)
a /= 0.0_pReal   becomes abs(a) > tiny(a)
remove unused variables
2015-04-11 08:25:23 +00:00
Martin Diehl d7b36c2c30 gfortran complaint about implicit casting,floating point comparison, and unused imported variables.
additionally changed use of math_invert33 to math_inv33 if det is not needed
2015-04-10 19:09:26 +00:00
Martin Diehl b6481c2513 introduced simpler multiplication and forall loops
matmul is ok for openmp, check in the web and run the state integration test.

Example program testing for new state update for rkck dot state:

program test

real, dimension(6,10) :: dotState=reshape(&
                      [1,1,1,1,1,1,1,1,1,1,&
                       2,2,2,2,2,2,2,2,2,2,&
                       3,3,3,3,3,3,3,3,3,3,&
                       4,4,4,4,4,4,4,4,4,4,&
                       5,5,5,5,5,5,5,5,5,5,&
                       6,6,6,6,6,6,6,6,6,6],[6,10])

real, dimension(10) :: residuum
real, dimension(6) :: B=2.5

integer :: i

residuum = B(1)*dotState(1,:)+& 
           B(2)*dotState(2,:)+& 
           B(3)*dotState(3,:)+& 
           B(4)*dotState(4,:)+& 
           B(5)*dotState(5,:)+& 
           B(6)*dotState(6,:)
do i =1,10
  print*,residuum(i)
enddo

residuum =  matmul(transpose(dotState),B)
do i =1,10
  print*,residuum(i)
enddo

end program test
2015-04-01 16:45:53 +00:00
Pratheek Shanthraj 37a7364a3e multi physics output now working for all solvers 2015-03-25 16:02:30 +00:00
Pratheek Shanthraj 2d4e7fb8e7 calculate dFi/dS (9x9 matrix inverse) for the analytic jacobian only when needed. should improve performance 2015-03-20 07:41:11 +00:00
Pratheek Shanthraj 2e44a846af need to keep track of temperature again since we can no longer get this from F_T 2015-03-18 18:03:18 +00:00
Pratheek Shanthraj bbb5ff6ae9 changes related to intermediate configuration kinematics:
- switched Fi and Li from state variables to crystallite variables

- Lp and Li are now work conjugate with the corresponding mandel stresses defined in their respective configuration

- T, Lp and Li need to return tangents wrt Fi arising from the convection of the material frame due to Fi

- Updated analytic jacobian to take into account tangents wrt Fi

- Updated Lp and Li residual jacobians to take into account tangents wrt Fi
2015-03-06 13:09:00 +00:00
Pratheek Shanthraj 3c2a95efd8 if matrix inversion error encountered during analytic tangent calculation, give a warning and return elastic tangent 2015-01-30 14:00:32 +00:00
Pratheek Shanthraj dd8458a775 updated analytic jacobian calculation to correctly take into account intermediate configuration Fi. improved convergence of Li loop in stress integration 2015-01-29 13:58:25 +00:00
Pratheek Shanthraj 6411d36633 updated vacancy-damage model 2015-01-16 17:04:01 +00:00
Luv Sharma 701f35c326 reverting the changes related to undamaged_Fi during rev. 3850/3851. 2015-01-16 00:09:22 +00:00
Luv Sharma 19611660c2 passing undamaged Fe for calculation of stress.(Pratheek please check.) 2015-01-13 09:54:44 +00:00
Haiming Zhang a2552d6241 Polishing. 2015-01-11 19:10:16 +00:00
Philip Eisenlohr c34252c71c changed constitutive_* prefix for plasticity laws to plastic_* to be consistent with novel thermal_, damage_, vacancy_, etc. laws. 2014-12-08 15:55:30 +00:00
Pratheek Shanthraj 347dac74c6 added vacancy state integrators 2014-12-08 10:45:12 +00:00
Pratheek Shanthraj 37dd574790 recast power law and viscous dot state variables as derived quantities using analytical solutions of the evolution equation 2014-11-28 20:06:24 +00:00
Pratheek Shanthraj 65b22f9a40 calculate analytic jacobian from xxx0 and not xxxsub0 2014-11-25 17:20:52 +00:00
Pratheek Shanthraj 23d68114e3 cleaned up stress integrations and some documentation 2014-11-13 12:53:20 +00:00
Pratheek Shanthraj fc9f4835c3 switched order of Lp-Li nesting in stress integration loop for better convergence. temperature is integrated during stress integration so it need not be a dot state 2014-11-12 16:40:50 +00:00
Martin Diehl 29951a9e1a named 99 representation according to other constitutive laws 2014-11-06 11:49:37 +00:00
Martin Diehl 18b49fbac8 line in OMP statement too long 2014-11-04 21:32:16 +00:00
Pratheek Shanthraj 76442942b1 damage def grad updated in stress integration loop and not as a dot state 2014-11-03 10:43:36 +00:00
Pratheek Shanthraj 9c94eb4be6 OMP bug fix from previous commit 2014-11-01 11:43:43 +00:00
Pratheek Shanthraj f9cec3079e overhaul of kinematics from FeFp to FeFiFp decomposition 2014-10-31 19:03:08 +00:00
Pratheek Shanthraj ebd285f565 reworking damage routines 2014-10-28 01:18:10 +00:00
Luv Sharma b65ccb0181 changed isotropic ductile damage to be inline with Fe..Fd..Fp decomposition 2014-10-27 14:15:25 +00:00
Pratheek Shanthraj 9779127521 added intermediate configuration to crystal plasticity kinematics intended handle intermediate deformation stages consistently in a finite strain framework
currently implemented for thermal strains, but will expand on this to add damage strains, phase transformation strains etc.
2014-10-20 15:43:28 +00:00