Commit Graph

417 Commits

Author SHA1 Message Date
Martin Diehl adbf6739a9 Merge branch 'Adaptive-Euler-one-loop' into RKCK45-one-loop 2020-03-26 10:56:51 +01:00
Martin Diehl fe8ee825d6 bugfix: F, not Fp for explicit nonlocal 2020-03-26 10:52:10 +01:00
Martin Diehl 8725c2ceba Merge remote-tracking branch 'origin/development' into Adaptive-Euler-one-loop 2020-03-26 10:49:34 +01:00
Martin Diehl a4674a6461 whitespace adjustments 2020-03-25 20:55:37 +01:00
Martin Diehl 3ce8902245 no need to split up 2020-03-25 20:47:10 +01:00
Martin Diehl aa2d440107 finally one loop left 2020-03-25 20:37:37 +01:00
Martin Diehl 599de26dad further integration 2020-03-25 19:44:51 +01:00
Martin Diehl 939d2af1d9 bugfix: explicit nonlocal requires F, not Fe 2020-03-25 18:58:58 +01:00
Martin Diehl 9900bf0be7 Merge branch 'FPI-one-loop' into RKCK45-one-loop 2020-03-25 18:56:51 +01:00
Martin Diehl 2d5d48288c bugfix, related making nonlocal state update explicit 2020-03-25 13:20:14 +01:00
Martin Diehl ddef241dcc Merge branch 'FPI-one-loop' into Euler-one-loop 2020-03-25 13:19:42 +01:00
Martin Diehl a6f94efa51 bugfix, introduced when making nonlocal explicit 2020-03-25 13:17:48 +01:00
Martin Diehl 86abba477a use same loop 2020-03-25 11:27:03 +01:00
Martin Diehl b54a109d99 do plasticState and sourceState at once 2020-03-25 11:20:39 +01:00
Martin Diehl 652846cdc9 no need for extra loop 2020-03-25 11:16:26 +01:00
Martin Diehl 67f64cf7e1 correct iteration skipping 2020-03-25 11:13:46 +01:00
Martin Diehl 32b9a5ab15 all in one loop 2020-03-25 11:07:47 +01:00
Martin Diehl 9a188784e2 no need for an extra loop 2020-03-25 10:54:17 +01:00
Martin Diehl 02774a89d9 2 space indentation 2020-03-25 10:33:41 +01:00
Martin Diehl 52ca7cc43c only one stateJump per integration 2020-03-25 10:27:55 +01:00
Martin Diehl 2dd3ccdad1 no need to transpose 2020-03-25 10:22:21 +01:00
Martin Diehl 8f6dc054d0 move up the nonlocal skip 2020-03-24 22:25:40 +01:00
Martin Diehl e7c585a02e loop order that allows more memory efficient code 2020-03-24 20:47:41 +01:00
Martin Diehl 66aa20ad39 extra check for nonlocal needed 2020-03-24 20:35:27 +01:00
Martin Diehl 0740c9f339 dot state in loop 2020-03-24 20:33:26 +01:00
Martin Diehl 44e24a9c4f merging into one loop 2020-03-24 20:25:29 +01:00
Martin Diehl eb6fe8a3a2 merge into one loop 2020-03-24 16:14:14 +01:00
Martin Diehl 369ea31a4b name unification for simple copy and paste 2020-03-24 15:02:55 +01:00
Martin Diehl 93abf2b6d8 this SEEMS to be the way how it was planned 2020-03-24 13:06:29 +01:00
Martin Diehl 424fcabb90 move into the same loop 2020-03-24 12:54:31 +01:00
Martin Diehl 871241e31b first round of loop removal 2020-03-24 12:43:41 +01:00
Martin Diehl b88ffb8d4f converged(g,i,e) matters only for FPI 2020-03-24 12:30:43 +01:00
Martin Diehl d16af3bfb3 one loop for Euler integrator 2020-03-24 12:19:36 +01:00
Martin Diehl d45f1f1c6f further integration into one loop 2020-03-24 11:37:00 +01:00
Martin Diehl 0e5f0a3068 no need for two loops 2020-03-24 11:27:53 +01:00
Martin Diehl 106cc1de92 complete iteration of each materialpoint step by step 2020-03-24 10:45:38 +01:00
Martin Diehl cde558e736 convergence check on the fly 2020-03-24 10:34:15 +01:00
Martin Diehl 4c485f1af0 state jump in same loop 2020-03-24 10:18:17 +01:00
Martin Diehl 3a6269e802 wrong omp pragmas 2020-03-24 10:06:08 +01:00
Martin Diehl 8d6dcd779c dotstate/residual/state calculation in the same loop 2020-03-24 06:34:42 +01:00
Martin Diehl 830ea61739 better readable 2020-03-24 06:27:43 +01:00
Martin Diehl 9c134e68fc in-line dot state 2020-03-23 08:15:33 +01:00
Martin Diehl e5743c7d27 same logic 2020-03-23 06:53:23 +01:00
Martin Diehl 027818c942 run in one loop 2020-03-23 00:32:41 +01:00
Martin Diehl 0b321bd9d4 bugfix for nonlocal
logic is hard to understand ...
2020-03-23 00:18:57 +01:00
Martin Diehl 86db8f8ca4 avoid flush 2020-03-23 00:15:00 +01:00
Martin Diehl e7d61e49fe can be done in the same loop 2020-03-22 23:16:00 +01:00
Martin Diehl 91e728d065 polishing 2020-03-19 11:30:36 +01:00
Martin Diehl 9ed48f7e5f getting rid of totalNslip in nonlocal 2020-03-16 10:09:58 +01:00
Martin Diehl 66302fa6da rotational part is always of 3x3 tensor 2020-03-15 14:21:11 +01:00
Martin Diehl ae49e6710d documenting for doxygen 2020-03-15 12:54:35 +01:00
Martin Diehl 8cc16da53f atol is part of the state structure, no need for suffix 2020-03-15 09:51:40 +01:00
Martin Diehl eb08f9f0b2 polishing 2020-03-14 19:40:05 +01:00
Martin Diehl 3713810592 simplified allocation for same shape 2020-02-29 13:53:04 +01:00
Martin Diehl bcccf06450 Merge remote-tracking branch 'origin/development' into less-public-variables 2020-02-29 13:18:02 +01:00
Martin Diehl 82dee9db0e matching names 2020-02-25 17:53:15 +01:00
Martin Diehl 48604292e2 Merge remote-tracking branch 'origin/development' into MiscImprovements 2020-02-25 17:33:39 +01:00
Martin Diehl 2c952c3410 these variables can be at leat write protected 2020-02-25 09:50:21 +01:00
Martin Diehl 7d7eff0d94 crystallite should be responsible of crystallite variables 2020-02-25 09:42:07 +01:00
Martin Diehl 2cf89b1fdd bugfix: output dataset was too large in case of Ngrains>1
material_phaseAt is defined per constituent/grain/component => no need
to multiply with homogenization_maxNgrains
2020-02-22 11:28:03 +01:00
Martin Diehl a2e710c89c alinged for better readability 2020-02-21 08:45:11 +01:00
Martin Diehl c9c78aa90d do not store invFp and invFi for all points
requires to explicitly calculate inverse of Fp and Fi for the tangent
calculation. Hence, classical tradeoff between memory consumption and
runtime.
2020-02-21 08:41:08 +01:00
Martin Diehl d108d76a61 was never read
probably it was optimized away by the compiler, still confusing
2020-02-20 15:08:32 +01:00
Martin Diehl a8e2ee0a86 [skip ci] is read only for other modules 2020-02-14 21:31:03 +01:00
Martin Diehl 6adb116712 [skip ci] whitespace adjustments 2020-02-14 06:24:17 +01:00
Martin Diehl 4f7bbb323e not needed 2020-02-13 18:43:20 +01:00
Martin Diehl 64e86666c6 also set initial det(Fp)=0
Marc element lib test failed otherwise for type 117
2020-02-13 17:10:27 +01:00
Martin Diehl 0f70a19266 Fp matters, not Fp^-1
mathematically absolutely equivalent, but numerically not. Sometikes makes a
huge difference in convergence behavior, even though abs(det(Fp)-1) is
in the order of 1e-15
2020-02-13 14:48:32 +01:00
Martin Diehl fc82ec9b1b tiny deviations from det(Fp) = 1 cause convergence problems 2020-02-13 09:18:49 +01:00
Martin Diehl b861ad11c1 tiny differences between orientation conversions result in more
iterations

Seen so far only for plasticityDetectChanges test (confirmed for dislotwin and
phenopowerlaw).
The max difference between the entries of the rotation matrix from
orientation0%asMatrix() and eu2om(Eulers)/eu2om(orientation0%asEulers) is
1e-15. This is the ratio of km/atom radius! Still, the number of
iterations is consistently higher.
Results are the same. I believe this is a strange coincidence where one
particular orientation causes problems. The current version recovers almost the 'good' behavior
of math_EulerToR(Eulers)
2020-02-12 20:49:02 +01:00
Martin Diehl 8770613e9c better readable 2020-02-12 06:26:22 +01:00
Martin Diehl ab475b7c6b need 'error return'
revert from change in 5b72110d
2020-02-12 06:02:37 +01:00
Martin Diehl 08174a119f consistent name 2020-02-11 17:50:07 +01:00
Martin Diehl 5b72110d0a simplified 2020-02-11 17:47:48 +01:00
Martin Diehl e212f91fac print statements prevents reading code
first re-structure and clean, than re-implement where useful
2020-02-11 17:41:30 +01:00
Martin Diehl 6463fcdabd consistent names 2020-02-11 17:36:43 +01:00
Martin Diehl c2c84d698f Merge remote-tracking branch 'origin/development' into MiscImprovements 2020-02-11 17:11:43 +01:00
Martin Diehl e932b386b9 Merge branch 'development' into MiscImprovements 2020-02-07 17:11:01 +01:00
Martin Diehl 5d4d1dcf9a all nonlocal parts are fully explicit
i.e. they are based on converged (partioned0) states
2020-02-07 12:41:01 +01:00
Martin Diehl f854dc27e9 explicit dotState for nonlocal
all flux related quantities are calculated based on the converged
quantities
2020-02-07 12:23:22 +01:00
Franz Roters 47109b903b Merge branch 'plasticity-submodule' into 'development'
Plasticity submodule

See merge request damask/DAMASK!120
2020-02-06 10:13:48 +01:00
Martin Diehl 3f96c12e06 avoid code duplication 2020-01-29 11:09:57 +01:00
Martin Diehl 9c7f6811a2 use default string length 2020-01-26 12:17:59 +01:00
Martin Diehl e532641015 dependency on element not needed for homogeneous meshes 2020-01-25 09:24:42 +01:00
Martin Diehl cad6fc7843 Merge branch 'development' into plasticity-submodule 2020-01-13 20:57:12 +01:00
Martin Diehl 4ebd89c040 shape is known (no need for automatic allocation) 2020-01-03 13:47:04 +01:00
Martin Diehl 34af10fac1 using default string length 2019-12-21 12:39:54 +01:00
Martin Diehl f0d3b29b82 Merge branch 'development' into MiscImprovements 2019-12-21 06:53:56 +01:00
Martin Diehl 4b6388fbb2 always use HDF5 output 2019-12-18 20:05:51 +01:00
Martin Diehl 9b67ead62f removed postResults completely 2019-12-11 00:10:02 +01:00
Martin Diehl 07ebd8d1b3 only damage/thermal 'homogenization' postResults is currently needed 2019-12-09 05:48:37 +01:00
Martin Diehl acc252ea5b thermal/damage constitutive (i.e. source) results are not tested 2019-12-09 05:38:15 +01:00
Martin Diehl ab1f0dc16b submodules allow inter-module communication 2019-12-04 22:31:15 +01:00
Martin Diehl c36a5bdfbb bugfix: calculation of size of postResults was wrong 2019-12-02 23:06:28 +01:00
Martin Diehl c7d675a1e9 not needed anymore 2019-11-30 16:03:18 +01:00
Martin Diehl 97474e05a8 not needed anymore 2019-11-24 11:01:04 +01:00
Martin Diehl e20477099e no crystallite output 2019-11-24 09:46:46 +01:00
Martin Diehl 50b48b8bf7 IP neighbourhood deprecated
trivial for grid and, hence, not written out.
Test for marc/abaqus/mesh would make more sense
2019-11-24 07:54:34 +01:00
Martin Diehl 872c85112f bugfix, Lp not available anymore for crystallite 2019-10-20 14:02:12 +02:00
Martin Diehl f93336b072 postResults for isotropic not needed anymore 2019-10-20 13:21:51 +02:00
Martin Diehl 11993a3ad1 phasing out crystallite output
some outputs are still needed for a few remaining tests.
2019-10-20 12:03:08 +02:00
Martin Diehl 603973e963 correct output for multipe integration points 2019-10-19 19:55:00 +02:00
Martin Diehl de912c22b4 Merge branch 'development' into HDF5-spectral-displacements 2019-10-18 12:54:12 +02:00
Franz Roters e85e13b380 [skip ci] only corrections to comments made 2019-10-11 15:21:29 +02:00
Martin Diehl 8fd9341e39 not needed 2019-09-27 14:23:19 -07:00
Martin Diehl 77011a5dba this fix restores the previous behavior of dislotwin
very strange behavior in plasticity_detect changes for dislotwin. This
fix restores the old behavior with respect to number of iterations.
Using orientation%fromMatrix() results in much more iterations and an
increase in runtime for the test from approx 6 min to 40 min. Results
still match in the end. Also, crystallite_Fp0 differs by approx 1e-15
only between the two methods.
I assume that something is wrong with either dislotwin or the
state/stress integration
2019-09-22 07:46:30 -07:00
Martin Diehl 53283d5c01 using newer interface 2019-09-20 18:20:33 -07:00
Martin Diehl ad83c8541d same names as in python 2019-09-20 17:18:09 -07:00
Martin Diehl 792dda866d rotation class has consistent set of conversions
crytallite_oriention0 was essentially a copy of material_EulerAngles
2019-09-19 19:42:28 -07:00
Martin Diehl be0d961954 cleaning 2019-09-19 13:40:03 -07:00
Eureka Pai Kulyadi cf37f8d405 added some lines to help while debugging 2019-09-06 15:45:49 -04:00
Martin Diehl 5ff4664b6d polishing 2019-06-30 22:09:51 -07:00
Martin Diehl 0c52262e4a white space adjustments 2019-06-15 15:44:15 +02:00
Martin Diehl 57a0d33293 consistent names 2019-06-15 14:33:20 +02:00
Martin Diehl 7a76740c31 using new names 2019-06-14 08:51:23 +02:00
Martin Diehl 0f531d5dee clearer name 2019-06-14 08:42:12 +02:00
Martin Diehl 9dfe71aa06 better readable 2019-06-10 09:42:23 +02:00
Martin Diehl f22fcc7271 further removal of mesh 2019-06-07 10:20:56 +02:00
Martin Diehl 042ff7e491 microstructure is only a property of the discretization
will be used only by material.f90 once crystallite is removed
2019-06-07 07:44:34 +02:00
Martin Diehl 2a35a78d93 phase out mesh_elem and theMesh 2019-06-07 07:38:48 +02:00
Martin Diehl cfc1dcf04b mesh_elem and theMesh are deprecated 2019-06-06 22:49:17 +02:00
Martin Diehl 9e8bc7d9b1 better names 2019-06-06 11:08:58 +02:00
Martin Diehl 2f40f7a727 separating 2019-06-06 08:34:01 +02:00
Martin Diehl 9b37c62e15 mesh_element is deprecated (meaningless name) 2019-06-05 10:05:59 +02:00
Martin Diehl ce9d6a5077 Merge branch 'development' into grid-mesh-cleanup 2019-05-30 23:52:37 +02:00
Martin Diehl 01e3b646c2 don't clutter the code with useless stuff
we only need to be more strict about prefixing
functions/subroutines/variables to see in which module they reside
2019-05-16 22:56:48 +02:00
Martin Diehl 028bdcff22 less compiler complaints 2019-05-16 22:24:42 +02:00
Franz Roters d29967d8b2 Merge remote-tracking branch 'remotes/origin/improve-Lp-guessing' into development 2019-05-15 08:10:46 +02:00
Martin Diehl 3be5c6a5bc Merge remote-tracking branch 'origin/development' into grid-mesh-cleanup 2019-05-14 11:13:09 +02:00
Martin Diehl a8b9b5d1c9 homogenizationAt array had wrong shape for MPI (too large) 2019-05-14 08:11:23 +02:00
Martin Diehl 8dea95879c specific for nonlocal, can be calculated during post processing 2019-05-14 07:22:29 +02:00
Martin Diehl 23cf134d6c cleaning 2 2019-05-08 22:41:09 +02:00
Martin Diehl 4eef54f4d2 Merge branch 'development' into improve-Lp-guessing 2019-04-30 10:43:47 +02:00
Philip Eisenlohr d74599d39a Merge branch 'HDF5-postprocessing' into 'development'
Hdf5 postprocessing

See merge request damask/DAMASK!72
2019-04-29 23:24:42 +02:00
Martin Diehl 7c771647ad adjustments for easier access to output data 2019-04-18 11:55:50 +02:00
Martin Diehl c4784e6673 better readable 2019-04-13 15:34:51 +02:00
Martin Diehl 89679147e8 leaner group structure, centrally handled 2019-04-13 09:47:56 +02:00
Martin Diehl 52555d8c3c key words don't contain small letters
moved more variables from numerics to crystallite
2019-04-11 11:27:03 +02:00
Martin Diehl 8f7239b75d repetition not needed
- implicit none at the beginning of the module is enough
2019-04-11 07:35:58 +02:00
Martin Diehl 67eb39255a keep connected data together
- avoids dependencies
- easier to read and modify
2019-04-11 07:24:04 +02:00
Martin Diehl c3925b3497 small polishing 2019-04-07 14:47:21 +02:00
Martin Diehl 0b70f01e04 polishing 2019-04-07 14:28:08 +02:00
Martin Diehl 5075e1c2fb constituent (ex crystallite) results are stored in HDF5
currently, not the best code but new structure for crystallite data will
fix that
output of orientations still missing
2019-04-06 12:08:25 +02:00
Martin Diehl bfb6ad557f WIP: crystallite HDF5 results
will be stored according to the phase sections
2019-04-06 12:08:25 +02:00
Martin Diehl 453eb538f7 preparing for PGI compiler 2019-04-03 16:24:15 +00:00
Martin Diehl 9759d3d041 forall is deprecated
- performance-wise, there should be no difference for the small loops we
have
- still, the on-liner syntax was much nicer
2019-04-03 13:25:01 +02:00
Martin Diehl e33807aab3 fixed indentation 2019-04-03 12:54:07 +02:00
Martin Diehl 1d31c5c2db pInt not needed 2019-04-03 12:32:30 +02:00
Martin Diehl 4604e65a42 use matmul instead of hand-written functions
- performance is the same
- leaner code
- matmul works (was buggy a few years ago)
2019-04-03 08:22:04 +02:00
Martin Diehl 60f4f9f39c norm2 for PGI 2019-03-10 10:05:47 +01:00