Commit Graph

4124 Commits

Author SHA1 Message Date
Martin Diehl 49ccbf3eb8 still not perfect:
https://stackoverflow.com/questions/32411963
2021-08-18 22:20:30 +02:00
Sharan Roongta 93d23fa6bb Merge remote-tracking branch 'origin/development' into YAML-bug-fix 2021-08-17 18:57:14 +02:00
Sharan Roongta a1fd45bded offset should have been taken into account (like earlier)
new changes should not break old functionality
2021-08-17 17:46:22 +02:00
Martin Diehl 4160c4fdb4 fix for parallel HDF5
if filters are applied, writing from one process does not work if the
file is opened for parallel write
2021-08-15 13:26:15 +02:00
Martin Diehl 497bf2c645 avoid errors for empty datasets
empty dataset cannot be chunked, but filters can only be applied to
chunked datasets
2021-08-14 20:44:59 +02:00
Martin Diehl 1963343cd8 avoid issues with empty files
optional files (numerics.yaml, debug.yaml) can be empty
2021-08-14 20:01:25 +02:00
Martin Diehl 30d9f57db0 also compress string datasets
results in different type (numpy string instead of numpy object), tests need to be adjusted
2021-08-14 16:28:51 +02:00
Martin Diehl 595cc4e59e always chunk data
for small datasets:
- only one chunk
- no compression
2021-08-14 15:48:07 +02:00
Martin Diehl 01d5458611 correct line continuation 2021-08-11 14:32:21 +02:00
Martin Diehl c2e86a2b2a lessons learned from compilation with Intel 2021.3 2021-08-10 23:47:13 +02:00
Vitesh Shah b29b0ecd71 Merge branch 'development' into report-systems 2021-08-10 09:16:13 +02:00
Philip Eisenlohr f75235f6a9 Merge branch 'more-flexible-L' into 'development'
more flexibility for the L in the load case

See merge request damask/DAMASK!420
2021-08-09 21:27:13 +00:00
Martin Diehl cf66b81e3a avoid code duplication 2021-08-07 22:02:44 +02:00
Martin Diehl 5b4b1c1933 enforce correct shape 2021-08-05 20:32:58 +02:00
Martin Diehl 00a053c4c8 Merge remote-tracking branch 'origin/development' into initial-eigenstrain 2021-08-05 16:25:27 +02:00
Sharan Roongta 2635bb012c Merge remote-tracking branch 'origin/development' into YAML-improvements 2021-08-05 14:49:33 +02:00
Martin Diehl 68eb930bf0 Merge remote-tracking branch 'origin/development' into report-systems 2021-08-03 21:57:50 +02:00
Vitesh 4a8c836117 Merge branch 'store-sim-setup' into 'development'
store information on slip and twin systems

See merge request damask/DAMASK!422
2021-08-03 13:16:59 +00:00
Sharan Roongta 100215edb6 Merge remote-tracking branch 'origin/development' into YAML-improvements 2021-08-02 16:57:07 +02:00
Sharan Roongta c5a80bc75d more readable 2021-08-02 16:50:21 +02:00
Martin Diehl e8312a49ed polishing 2021-08-02 10:38:59 +02:00
Martin Diehl 044a048944 taking care of corner cases (e.g. restart)
adjusting tests to take care of new 'setup' group
2021-08-01 22:46:11 +02:00
Martin Diehl e97757bd25 Merge remote-tracking branch 'origin/development' into report-systems 2021-07-30 15:49:42 +02:00
Sharan Roongta e89a03d456 Suggestion by @Franz 2021-07-28 18:04:52 +02:00
Sharan Roongta 578ee2b214 Merge remote-tracking branch 'origin/development' into YAML-improvements 2021-07-28 12:15:09 +02:00
Sharan Roongta 3d7f15c940 meaningful error message incase of mismatch in quotes 2021-07-28 12:14:00 +02:00
Martin Diehl 5d0c0f4283 outdated instructions 2021-07-27 16:44:52 +02:00
Martin Diehl af714cfd5b broken Intel compiler (do concurrent)
errors occur under unclear conditions, better avoid at the moment:

https://community.intel.com/t5/Intel-Fortran-Compiler/do-concurrent-broken-with-openmp/m-p/1301528#M156942
https://community.intel.com/t5/Intel-Fortran-Compiler/Bug-with-do-concurrent-and-openmp/m-p/1173473m
2021-07-27 16:44:13 +02:00
Martin Diehl 07fb7f8fdf save information on slip systems for reproducibility 2021-07-27 15:39:21 +02:00
Martin Diehl a6f7e4f1a6 play it safe 2021-07-27 10:18:55 +02:00
Martin Diehl 64d52dbbf4 store input deck, MSC.Marc now 100% reproducible 2021-07-27 09:46:51 +02:00
Martin Diehl 26ae352a4c make setup data easily accessible to the user 2021-07-27 09:38:47 +02:00
Martin Diehl b9d4eb23cc only rank 0 reads file for MPI 2021-07-27 08:54:17 +02:00
Martin Diehl 812b0f07f5 read file only once (per process) 2021-07-27 08:35:52 +02:00
Martin Diehl 367c088b16 sorting according to dependency (no Makefile) 2021-07-27 08:00:24 +02:00
Martin Diehl ddb0429a1d store load case (full reproducibility for grid solver) 2021-07-27 07:57:04 +02:00
Martin Diehl e01d271ee4 store geometry (for full reproducibility) 2021-07-27 07:43:35 +02:00
Martin Diehl 3b06498c2f make results self-contained for reproducibility
ToDo: same functionality for load and geom
2021-07-27 07:40:55 +02:00
Martin Diehl f20302e0ee early initialization of results
need to be done before config if config writes to it
2021-07-27 07:27:18 +02:00
Martin Diehl 820d590b6b write string to result
requires to open file without MPI support
2021-07-27 07:25:44 +02:00
Martin Diehl 58c1f5fdc1 write string, only from one MPI process
needed to store simulation setup. I don't see a situation where strings
are distributed over multiple processes
2021-07-27 07:23:02 +02:00
Martin Diehl a891fe4281 keep it simple 2021-07-26 22:59:53 +02:00
Martin Diehl 558a643120 microstructure is now dependentState 2021-07-26 22:56:40 +02:00
Martin Diehl b5dade2f70 Report slip system definition to result file 2021-07-26 22:49:19 +02:00
Martin Diehl 855186eb83 Merge remote-tracking branch 'origin/development' into report-systems 2021-07-26 20:29:23 +02:00
Martin Diehl c7ed0e7934 Merge remote-tracking branch 'origin/development' into do-concurrent 2021-07-26 20:20:52 +02:00
Franz Roters 012f09caa7 Merge branch 'plastic-name-behavior-fix' into 'development'
adjusted names and behavior of dislo(tungsten + twin) + kinehardening

See merge request damask/DAMASK!419
2021-07-26 14:51:20 +00:00
Sharan Roongta ac6d31b1f9 Merge branch 'polishing' into 'development'
Polishing

See merge request damask/DAMASK!418
2021-07-26 13:09:49 +00:00
Martin Diehl f1f658bbd2 Merge remote-tracking branch 'origin/development' into plastic-name-behavior-fix 2021-07-26 15:07:53 +02:00
Abisheik Panneerselvam 6a9c892d7b Merge branch 'write_ipdisplacements' into 'development'
Write ip displacements

See merge request damask/DAMASK!414
2021-07-26 09:01:04 +00:00
Martin Diehl e56f2e09a4 trivial and never used
even the more commoly used fucntions for 3x3 matrices are not all in use
2021-07-26 10:22:53 +02:00
Martin Diehl d19ab4c4f6 co concurrent possible here
note: do concurrent cannot be used for the double loops for 66 to 3333!
2021-07-25 14:37:50 +02:00
Martin Diehl 61a3b33e71 output info about used slip/twin systems 2021-07-25 14:11:07 +02:00
Martin Diehl 31a4000655 no need for arbitrary dimension
not sure if correct, not used at all (even identity4th for 3 dim is not
used, but now at least tested)
2021-07-25 13:32:11 +02:00
Martin Diehl 3bb5ae3d9e concurrent/parallel execution is possible here 2021-07-25 13:20:39 +02:00
Martin Diehl d2b5a4b339 pointer voodoo for ifort 2021-07-25 10:30:44 +02:00
Martin Diehl 18b3424975 handle twin and slip systems 2021-07-25 10:12:01 +02:00
Martin Diehl c388ab97c9 trying to make sense of HDF5 pointer magic 2021-07-25 09:43:52 +02:00
Martin Diehl d9ef1ef5e4 write variable length string (as other, best compatibility with h5py) 2021-07-25 09:36:56 +02:00
Martin Diehl 26e1e979f5 length is known 2021-07-24 23:08:05 +02:00
Martin Diehl 71e17ba917 WIP: report active slip systems to DADF5
needs further work, currently an array of fixed length strings is
written while all single strings are of variable length type
2021-07-24 22:51:57 +02:00
Martin Diehl a98ae267a0 option to initialize F_i
start simulation with eigenstrain. Works only for moderate
eigentstrains, reaching the plastic limit is most likely an issue.
2021-07-24 18:47:45 +02:00
Martin Diehl b3f5e12232 using burgers vector of tw/tr system seems to make more sense here
otherwise twinning will not work in many cases.
Matching number is only required for nucleation of tw/tr
2021-07-24 18:37:25 +02:00
Sharan Roongta ae49920256 support single and double quotes in key value pairs also
escape characters not supported in double quotes
2021-07-24 17:40:27 +02:00
Martin Diehl 59d09d708e string array support for attributes 2021-07-24 17:18:31 +02:00
Martin Diehl eef7b8f0a9 nothing to select anymore 2021-07-24 15:16:30 +02:00
Martin Diehl d87b10bfe7 symbolic names 2021-07-24 15:03:26 +02:00
Martin Diehl db07ee2113 supported by recent compilers 2021-07-24 14:35:17 +02:00
Martin Diehl f22f30e05d same functionality as for 1D 2021-07-24 14:27:00 +02:00
Martin Diehl d6ce721a25 need to check type of leaf
otherwise, using a [list] where a scalar is expected results in a crash,
not in a meaningful error message
2021-07-24 12:10:59 +02:00
Martin Diehl 931dc99557 not used
climb formulation was updated a while ago
2021-07-24 11:21:07 +02:00
Martin Diehl d4ffc778c2 easier to read
removed comment regarding use of dot_state in kinetics_t(w/r). Data stored
in dotState is not reliable, FPI integrator for writes to it and Runge-Kutta
calls the dot state function at different time steps
2021-07-24 07:11:31 +02:00
Martin Diehl 527fd306e2 change of behavior
- gamma (state) increases monotoneously
- region of spontaneous annihilation is ignored in dipole formation
2021-07-23 22:25:06 +02:00
Martin Diehl 2a78174547 standard names in source code 2021-07-23 22:17:00 +02:00
Martin Diehl c46813657f better to understand 2021-07-23 21:56:34 +02:00
Martin Diehl f96b0371ac proper output name/format 2021-07-23 21:48:40 +02:00
Martin Diehl 6936ecb091 sl is the subscript for slip 2021-07-23 21:36:26 +02:00
Sharan Roongta a5c4e7232c probably not needed
We remove blank spaces while converting to flow YAML.
2021-07-23 18:37:45 +02:00
Sharan Roongta c347688410 Merge remote-tracking branch 'origin/development' into YAML-improvements 2021-07-23 17:55:03 +02:00
Sharan Roongta ca8775e0d4 allow " " in YAML, follow yamllint. 2021-07-23 17:45:10 +02:00
Martin Diehl d216e77ca6 default values for p/q are dangerous 2021-07-23 09:07:39 +02:00
Martin Diehl 2cc8612572 consistent variable names 2021-07-23 07:16:08 +02:00
Martin Diehl f6378790f1 following python
we might want to rename the whole module from 'lattice' to 'crystal'
2021-07-23 06:46:17 +02:00
Martin Diehl f5af352644 whitespace adjustments 2021-07-23 00:09:51 +02:00
Martin Diehl d682b477dd following paper 2021-07-22 23:22:45 +02:00
Martin Diehl 85fd2e3fad not needed 2021-07-22 23:15:20 +02:00
Martin Diehl 3f7043de74 standard name 2021-07-22 23:15:20 +02:00
Martin Diehl 7e27baacfe missing conversion 2021-07-22 21:39:05 +02:00
Sharan Roongta bd9cae11a5 allow multi line scalar list items.
If a scalar list item has ',', the parser would consider it as a separator and not a part of the string
For the moment, this scalar item is enclosed with double quotes ""
In the next step, the flow parser should be able to use this quotes as an indicator for strings
2021-07-22 15:51:33 +02:00
Martin Diehl a03aa97970 default name 2021-07-22 15:41:09 +02:00
Martin Diehl 4fab078d18 multinomial tested+simplified 2021-07-22 15:31:30 +02:00
Martin Diehl d9aa638ad7 shorter 2021-07-22 15:11:38 +02:00
Martin Diehl 5ac592eb9e initialize L_(i/p), L_(i,p)0 2021-07-22 12:31:10 +02:00
Martin Diehl 69cc0b528b do calculation for initialization 2021-07-22 11:38:03 +02:00
Martin Diehl aa03e59306 same statement, different syntax but silences gfortran runtime warning
with automated LHS, compiling in DEBUG mode (tested for mesh solver)
gives:
home/m/DAMASK/src/phase_mechanical.f90:1010:43: runtime error: signed integer overflow:
-9223372036854775808 - 1 cannot be represented in type 'integer(kind=8)'
2021-07-22 11:24:10 +02:00
Martin Diehl 5b66db8a39 only mechanics at the moment
will be extended, but most likely differently
2021-07-22 10:12:43 +02:00
Martin Diehl eb834b635d unify notation with grid
consistent style: Symbols, not descriptions.
also removed untested/unused loginc functionality. Once load cases are
written in YAML, we can introduce the scaling as in DAMASK_grid
2021-07-22 08:48:44 +02:00
Martin Diehl 173a5f8e55 less public/unneeded variables 2021-07-22 07:48:01 +02:00
Martin Diehl 574cfd7034 Merge remote-tracking branch 'origin/development' into more-flexible-L 2021-07-22 00:20:33 +02:00
Martin Diehl de7ef43095 documenting/silencing gfortran 2021-07-21 23:49:24 +02:00
Martin Diehl aace5d25a8 initialization needed 2021-07-21 23:19:41 +02:00
Martin Diehl 58a7921966 no need for temp, pack instead of reshape for 1D array 2021-07-21 22:45:04 +02:00
Martin Diehl b817c620a3 let the computer count 2021-07-21 21:25:33 +02:00
Martin Diehl 23077fd58c testing coordinates
I don't understand why this pattern exists (with w(2) = 3, w(3) = 2),
but it exists
2021-07-21 19:42:53 +02:00
Martin Diehl 5a04a1d661 let the computer do the counting 2021-07-21 19:41:14 +02:00
Martin Diehl c56979e2ad single source of truth 2021-07-21 18:47:19 +02:00
Martin Diehl 000007ba59 better test automatically 2021-07-21 18:06:37 +02:00
Martin Diehl b1ba64e6af understanding floating point precision
double can use 16 or 17 significant figures
- if the leading number is high (above 5 or so), only 16 figures are
significant.
- a trailing 1 is never significant
2021-07-21 18:04:50 +02:00
Martin Diehl 76572e4ca9 standard notation 2021-07-21 16:34:33 +02:00
Martin Diehl e3e9dfdc60 following paper 2021-07-21 16:29:57 +02:00
Martin Diehl 8feeda6f05 phase_mechanical_elastic should store data related to elasticity 2021-07-21 16:23:21 +02:00
Martin Diehl fc5237fa80 using central values 2021-07-21 15:46:38 +02:00
Martin Diehl 8259cb3cdc notation as in paper 2021-07-21 15:03:28 +02:00
Martin Diehl b2e94974ca short names 2021-07-21 14:52:37 +02:00
Abisheik Panneerselvam f25dee4c3a quad points updated and rounded based on literature values 2021-07-21 14:34:18 +02:00
Sharan Roongta df1fe39dc2 Merge remote-tracking branch 'origin/development' into write_ipdisplacements 2021-07-21 13:30:12 +02:00
Martin Diehl 9d349f8a7c symbolic notation 2021-07-21 06:50:28 +02:00
Martin Diehl b5bf1d525e Merge remote-tracking branch 'origin/development' into more-flexible-L 2021-07-21 06:36:05 +02:00
Martin Diehl 6f19113072 L, P, F, etc. are second order tensors 2021-07-21 06:19:04 +02:00
Martin Diehl b98819a36c adjusting names 2021-07-20 18:29:21 +02:00
Abisheik Panneerselvam a919ac0aea Merge branch 'write_ipdisplacements' of git.damask.mpie.de:damask/DAMASK into write_ipdisplacements 2021-07-20 15:35:48 +02:00
Abisheik Panneerselvam 86d918367f Round quadrature points 2021-07-20 15:34:13 +02:00
Martin Diehl 85735605f8 more flexibility for the L in the load case
Note that mixed boundary conditions for L introduce an ambiguity.
Consider:

L = [[1.0, x, x],
     [  0, 0, 0],
     [  0, 0, 0]]
P = [[x, 0, 0],
     [x, x, x],
     [x, x, x]]

What we need is F^(n+1)=F_dot^(n+1) x Delta_t, where F_dot^(n+1) is
F_dot^(n+1)_ij = L_ik F^n_kj.

So component F_11 has contributions from L_12 and L_13. We first assume
L_12=L_13=0 and then choose F^(n+1)_12 and F^(n+1)_13 to get
P_12=P_13=0. This implicitly gives a solution for L_12 and L_13, which
is however only one out of infinitely many.
2021-07-20 07:10:28 +02:00
Martin Diehl 03b7532cc5 numpy.MaskedArray behavior 2021-07-19 23:27:10 +02:00
Martin Diehl 1c1dc9383e symbolic names 2021-07-19 22:30:20 +02:00
Abisheik Panneerselvam 4a2e62fdb2 Merge branch 'development' into 'write_ipdisplacements'
# Conflicts:
#   src/mesh/mesh_mech_FEM.f90
2021-07-19 17:19:40 +00:00
Abisheik Panneerselvam a654cd4fb1 To avoid fortran double variable truncation for quadrature points 2021-07-19 17:07:43 +02:00
Martin Diehl 97203ff551 document and keep definitions together 2021-07-18 23:30:30 +02:00
Martin Diehl 53b7aab29d use ph,en access pattern 2021-07-18 09:48:49 +02:00
Martin Diehl 6ad6158bfb (en)try is the name used in the DADF5 file 2021-07-18 09:44:52 +02:00
Martin Diehl 57ad308a7f readable 2021-07-18 09:22:12 +02:00
Martin Diehl d068f45aa0 avoid superflouos damage calculations 2021-07-17 15:25:00 +02:00
Martin Diehl c109d5a37b better have different physics separated 2021-07-17 14:06:48 +02:00
Martin Diehl f9edeb40a5 descriptive names 2021-07-17 11:50:21 +02:00
Martin Diehl e6d25294d3 separating functionality 2021-07-16 23:32:08 +02:00
Martin Diehl fc735d6391 substate0 only needed for staggered state-stress integration 2021-07-16 23:19:48 +02:00
Martin Diehl 777620b800 polishing 2021-07-16 22:41:38 +02:00
Martin Diehl 594ad2c310 semi-separate handling of damage 2021-07-16 22:22:41 +02:00
Martin Diehl 2b24224c7e more meaningful name 2021-07-16 20:52:41 +02:00
Martin Diehl ed6b1be352 solver handles terminally ill 2021-07-16 20:43:08 +02:00
Martin Diehl 2a84aa7ae4 obvious, no need for comment 2021-07-16 20:32:21 +02:00
Martin Diehl 5f78f1753c split up thermal
only for grid at the moment
2021-07-16 18:03:38 +02:00
Martin Diehl 3f0eafd640 first step towards separating of mechanics, thermal, and damage 2021-07-16 17:53:11 +02:00
Martin Diehl 013c4c0a92 common variable names 2021-07-16 10:31:40 +02:00
Martin Diehl 2f1fa8292b unify style to majority of occurences 2021-07-16 10:30:45 +02:00
Sharan Roongta 3830492791 Merge remote-tracking branch 'origin/development' into write_ipdisplacements 2021-07-15 17:34:44 +02:00
Sharan Roongta 4d6a9a51ed correct logic 2021-07-15 17:32:41 +02:00
Abisheik Panneerselvam 94843becda writing ip displacements (algorithm contain bugs) 2021-07-14 19:33:54 +02:00
Martin Diehl 766db0524f Merge remote-tracking branch 'origin/Marc-start-material-at-0' into marc2021.2 2021-07-14 18:06:57 +02:00
Martin Diehl 05b319fbfb easier to read 2021-07-14 06:33:04 +02:00