Commit Graph

382 Commits

Author SHA1 Message Date
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
Martin Diehl 2394880741 Tstar renamed to S (following the DAMASK paper) 2019-03-09 11:11:40 +01:00
Martin Diehl 05eb80d38c pLongInt was not used 2019-03-06 15:49:31 +01:00
Philip Eisenlohr 6e9b745ca1 shorterned line to avoid compile time truncation warning 2019-02-26 21:22:14 -05:00
Philip Eisenlohr ff5ac56cfb shortened too long lines 2019-02-26 15:31:47 -05:00
Philip Eisenlohr cfb2770b93 merged and added correction to FreeSurface.config example 2019-02-26 13:56:49 -05:00
Philip Eisenlohr cb9543dff7 more elaborate debug labelling 2019-02-26 13:47:46 -05:00
Martin Diehl 56e2c1264b Merge branch 'development' into New-Thermal 2019-02-26 07:54:45 +01:00
Martin Diehl 6fab99bca5 Merge branch 'development' of magit1.mpie.de:damask/DAMASK into development 2019-02-25 20:10:38 +01:00
Martin Diehl d83847446d Merge branch '32_NewStyleNonlocal-4' into development 2019-02-25 20:06:20 +01:00
Martin Diehl 7115382729 not used anymore 2019-02-24 10:08:09 +01:00
Martin Diehl 93ae5cbd07 Merge remote-tracking branch 'origin/development' into 10-consistent-orientation-conversions-3 2019-02-22 23:05:36 +01:00
Martin Diehl 194824fd0f WIP: cleaned
no file reading
getting rid of a number of obsolete dependencies
2019-02-22 20:37:41 +01:00
Martin Diehl 435dce220c move stress conversion one level up
should be totally avoided
2019-02-18 07:24:56 +01:00
Martin Diehl cf32e7d1f5 use parameter structure and avoid conversion 33<->6 2019-02-17 12:15:46 +01:00
Martin Diehl dcd16dda70 variables from mesh object 2019-02-02 12:15:05 +01:00
Martin Diehl 3a5a50cb03 use variables from theMesh 2019-02-02 10:53:55 +01:00
Martin Diehl 7a8d98d135 using theMesh (object oriented mesh description) 2019-02-02 10:35:10 +01:00
Martin Diehl 9a4e9e62b6 using new rotation class 2019-02-01 20:28:51 +01:00
Martin Diehl 407f94082f no need for orientation class at the moment
implement only if we need symmetry aware operations
2019-02-01 16:52:42 +01:00
Martin Diehl 9d25d677e6 using new orientation class
not sure if transpose is needed for initialization
2019-02-01 10:11:46 +01:00
Martin Diehl aabd98bee9 no need to repeat the same code 2019-01-31 09:14:02 +01:00
Martin Diehl cbeb3dcff0 use the same formulation for convergence every where 2019-01-31 09:12:44 +01:00
Martin Diehl 5eaeb37ea4 just polishing 2019-01-31 06:04:49 +01:00
Martin Diehl 3b13a1af63 calculated convergence criteria wrongly 2019-01-30 17:04:58 +01:00
Martin Diehl e1c2747393 logic error for nonlocal 2019-01-30 16:06:14 +01:00
Martin Diehl fe88e5bf9c [skip ci] cleaning 2019-01-30 14:52:12 +01:00
Martin Diehl 1d88057ce4 avoid superflous variables 2019-01-30 13:24:35 +01:00
Martin Diehl 64b89484d2 logic better visible 2019-01-30 13:19:05 +01:00
Martin Diehl 39e766bba0 improved readability 2019-01-30 12:36:02 +01:00
Martin Diehl 3dd21177a0 no need to store relative residual pointwise 2019-01-30 11:28:41 +01:00
Martin Diehl fd069a96cd unifying name 2019-01-30 10:51:24 +01:00
Martin Diehl 4ec0fd70a2 only one variable needed 2019-01-30 10:48:59 +01:00
Martin Diehl 0876787e3c avoid loops 2019-01-30 10:46:53 +01:00
Martin Diehl 72c4f2b25f same names everywhere if possible 2019-01-30 10:37:18 +01:00
Martin Diehl 0745d7ebc2 convergence flag is set only later 2019-01-30 10:33:57 +01:00