Commit Graph

4856 Commits

Author SHA1 Message Date
Martin Diehl 91b71fdff8 systematic naming scheme 2022-04-24 04:45:41 +02:00
Martin Diehl b80b406ad5 more specific name
'interface' can be an interface to anything, 'CLI' is an established
abbreviation for 'command line interface'
2022-04-23 16:09:31 +02:00
Martin Diehl 0e65d44bdc separating functionality
signal handling and CLI handling are not really related
2022-04-23 14:46:26 +02:00
Martin Diehl 690b2e9c21 tolerances were to strict for certain operations 2022-04-22 07:18:53 +02:00
Martin Diehl 745f5348cd running new tests 2022-04-22 00:01:54 +02:00
Martin Diehl df3f4d9480 testing forward/backward FFT 2022-04-20 07:02:59 +02:00
Martin Diehl dff78154a0 Merge branch 'fast-list-append' into 'development'
Performance improvements when storing/retrieving data from YAML

Closes #180

See merge request damask/DAMASK!561
2022-04-20 03:31:10 +00:00
Philip Eisenlohr 4a93dbec11 more descriptive variable names 2022-04-19 13:11:40 -04:00
Martin Diehl b796ccb04a DAMASK requires gfortran >= 9 2022-04-18 13:18:14 +02:00
Martin Diehl 808ef139ae avoid code duplication by using assumed rank "(..)"
- lack of modern Fortran interface for HDF5 still requires branching to
  call the same code
- not sure how to handle the read function (assumed rank and intent(out)
  ) does not work together
2022-04-18 13:16:45 +02:00
Martin Diehl 954a336d92 Fortran side does not support tags (i.e. 'type hints') 2022-04-16 16:24:29 +02:00
Martin Diehl 3cc3229792 string new line which is added by libfyaml 2022-04-16 16:19:33 +02:00
Martin Diehl f9c43e9db7 Merge remote-tracking branch 'origin/development' into consistent-damage-parameter-names 2022-04-15 10:32:36 +02:00
Martin Diehl dbf5ee84cb better readable 2022-04-14 21:21:32 +02:00
Martin Diehl b56176d670 all YAML related initialization is constant (linear in number of points) 2022-04-14 16:17:17 +02:00
Martin Diehl 3309360e4b avoit out of bounds access 2022-04-14 07:20:16 +02:00
Martin Diehl 563d566a3f made two loops faster
the most annoying one is still slow.
2022-04-14 06:39:19 +02:00
Martin Diehl ca0df3389a avoid long pointer transversal 2022-04-14 00:06:54 +02:00
Martin Diehl 00671f943b easier to understand 2022-04-13 23:45:14 +02:00
Martin Diehl c806885cb5 include libfyaml headers from non-standard locations
the CMake manual promises more than it holds.
Also adding some diagnostics+fixes for zlib, we still assume that it
exists (true on most systems, HDF5 also requires it normally)
see also https://stackoverflow.com/questions/21593
2022-04-13 07:58:31 +02:00
Martin Diehl 723252ef15 libfyaml backend
currently it simply converts the whole file content to flow mode.
The nice thing is: It can convert EVERYTHING to flow mode. libfyaml is
the only library that passes the whole YAML test suite
2022-04-12 23:24:07 +02:00
Martin Diehl 0376de4a11 not needed 2022-04-04 08:17:06 +02:00
Martin Diehl 34cc66f1bf use old interface for previous PETSc versions 2022-04-04 08:14:48 +02:00
Martin Diehl 8d44c55141 support for PETSc 3.17.0
DCHKERRQ has been replaced by PetscCall
2022-04-03 17:56:17 +02:00
Martin Diehl fb633798af following paper 2022-04-01 19:47:40 +02:00
Martin Diehl 945b10e3e6 avoid segmentation fault (null is returned if not scalar) 2022-03-20 00:00:52 +01:00
Martin Diehl 8f9ba9d6e4 test with initial conditions in grid file 2022-03-10 18:51:27 +01:00
Martin Diehl e8383cec69 Merge remote-tracking branch 'origin/development' into initial-temp 2022-03-10 08:52:05 +01:00
Martin Diehl 790ca57ea0 specify initial temperature per point 2022-03-09 21:29:40 +01:00
Martin Diehl da5ba82299 initial condition can be specified per point/cell 2022-03-09 20:40:03 +01:00
Martin Diehl c2453c56f1 Merge remote-tracking branch 'origin/development' into polishing 2022-03-09 15:22:22 +01:00
Philip Eisenlohr 73f01c07d0 clarified colormap default; accept string as colormap name 2022-03-08 09:31:08 -05:00
Martin Diehl b86292d19c Merge branch 'state-type-cleanup' into polishing 2022-03-06 09:31:25 +01:00
Martin Diehl 612f739794 homogenization state is not integrated 2022-03-06 08:33:36 +01:00
Martin Diehl d8de8f8b39 initial conditions are of type real 2022-03-05 22:13:37 +01:00
Martin Diehl f7b18981c9 shorter names (w/o loss of clarity) 2022-03-04 20:17:08 +01:00
Martin Diehl 802957f61e Merge remote-tracking branch 'origin/development' into separate-vtk 2022-03-01 22:52:36 +01:00
Martin Diehl 954b720992 Merge remote-tracking branch 'origin/development' into polishing 2022-03-01 21:41:27 +01:00
Martin Diehl 0604d94e31 also store stdout 2022-02-28 19:02:46 +01:00
Martin Diehl 2cf904fe49 output to logfile helfulf for debug, especially with MPI 2022-02-28 18:54:46 +01:00
Martin Diehl ad8758b340 better don't have unlimited time for planning as default 2022-02-28 16:15:07 +01:00
Martin Diehl 7ee440c1b1 separating functionality for more flexibility 2022-02-28 01:35:39 +01:00
Martin Diehl efa30d1f3a functions don't need acces to variables of function
better keep them out
2022-02-27 17:27:47 +01:00
Martin Diehl 1cae6c4533 keep functionality separated 2022-02-27 17:02:13 +01:00
Martin Diehl c8e70ada62 extend to multiple homogenization scheme 2022-02-27 16:58:40 +01:00
Martin Diehl 53fe11484d not used 2022-02-27 15:50:55 +01:00
Martin Diehl f78c422af9 easier to understand
the condition is there to avoid problems if the dataset is not created
because it is empty (e.g. requesting xi_sl for Nslip=[0])
2022-02-27 15:50:43 +01:00
Martin Diehl 3ee0434836 avoid nasty error in MPI parallel situations 2022-02-24 15:18:37 +01:00
Martin Diehl 28ffdb7c1c simplified 2022-02-24 12:41:14 +01:00
Martin Diehl 2bdf0d11cb check N_constituents only if active 2022-02-24 12:13:22 +01:00
Martin Diehl 8a84f6b07f origin can be negative 2022-02-24 11:24:54 +01:00
Martin Diehl cf3f869877 make clear that mechanical is always initialized 2022-02-23 06:19:16 +01:00
Martin Diehl 852959e1b8 call correct funtion
does nothing than reporting at the moment
2022-02-23 05:44:12 +01:00
Martin Diehl 339d081dd5 simplified logic to reflect what we are doing 2022-02-23 05:42:44 +01:00
Martin Diehl 94c6542122 more helpful error message 2022-02-23 05:33:30 +01:00
Sharan 9ff31d4f2b suggested changes from MR !530 2022-02-22 23:16:14 +01:00
Sharan 176b7b200a Merge remote-tracking branch 'origin/development' into thermal-partioning 2022-02-22 23:08:19 +01:00
Sharan Roongta 3657b2316d Merge branch 'homogenization-output' into 'development'
extra output in phase_thermal and homogenization_mechanical

See merge request damask/DAMASK!530
2022-02-22 11:08:27 +00:00
Sharan Roongta e26e8c715f pass data to homogenization and phase level at the same time 2022-02-21 22:40:41 +01:00
Martin Diehl f6bcabd328 Update crystal structure name 2022-02-21 09:00:00 +00:00
Martin Diehl 2f08624c18 Use centrally defined room temperature 2022-02-19 21:42:38 +01:00
Martin Diehl dce8f9e635 enable output of temperature per phase 2022-02-19 18:56:41 +01:00
Martin Diehl 968e55b0bc output homogogenized F and P
was disabled for historic reasons only
2022-02-19 15:35:38 +01:00
Martin Diehl b44a862a8a data structures to output mechanical results (homogenization) 2022-02-19 14:19:11 +01:00
Martin Diehl d97f515b77 polishing
RGC numerics is still annoying (and was probably never used in the last
10 years)
2022-02-19 13:56:24 +01:00
Philip Eisenlohr 66e4632655 Merge branch 'parallel-mesh' into 'development'
avoid deadlock for MPI runs

See merge request damask/DAMASK!526
2022-02-17 21:37:37 +00:00
Martin Diehl cfe01b83f8 avoid deadlock for MPI runs 2022-02-17 21:37:37 +00:00
Philip Eisenlohr 41389963a7 Merge branch 'python-polishing' into 'development'
python polishing

See merge request damask/DAMASK!528
2022-02-17 20:23:54 +00:00
Martin Diehl eca57d3b5f Merge remote-tracking branch 'origin/development' into dislotwin-fix-TWIP-TRIP 2022-02-17 08:17:39 +01:00
Martin Diehl 89a914bbe7 correct reporting of units 2022-02-17 07:13:39 +01:00
Franz Roters 6fce27deeb Merge branch 'homogenization-respect-fraction' into 'development'
bugfix: change of behavior

See merge request damask/DAMASK!525
2022-02-16 14:30:35 +00:00
Navyanth Kusampudi b0bbb1c286 Merge branch 'spectral-polish' into 'development'
Spectral polish

See merge request damask/DAMASK!524
2022-02-15 12:32:09 +00:00
Martin Diehl c66e2336c2 some versions of ifort have problems with 'do concurrent' 2022-02-14 15:08:35 +01:00
Martin Diehl ebcf0fa625 Merge remote-tracking branch 'origin/development' into homogenization-respect-fraction 2022-02-14 09:19:49 +01:00
Martin Diehl 466682e978 missing rename grid -> cells 2022-02-14 08:32:48 +01:00
Martin Diehl 61e11a0529 use openMP for operations in Fourier space 2022-02-14 08:30:24 +01:00
Philip Eisenlohr 1ecbeb6924 Merge branch 'more-material-examples' into 'development'
added and curated example material.yaml files

See merge request damask/DAMASK!521
2022-02-14 05:06:54 +00:00
Martin Diehl 0008ad1bf8 easier to understand 2022-02-14 05:57:48 +01:00
Martin Diehl ac4beea14b use precalculated dyad 2022-02-14 05:47:50 +01:00
Martin Diehl 99c2f58553 ensure that data is read 2022-02-12 22:38:58 +01:00
Martin Diehl 9d1cc93a81 no need to store dotstate 2022-02-11 14:23:41 +01:00
Martin Diehl b43695067d Merge remote-tracking branch 'origin/development' into nonlocal-standard-access 2022-02-11 12:53:58 +01:00
Martin Diehl 7c18f3f276 simplified 2022-02-11 12:26:50 +01:00
Martin Diehl 90dabadf08 Merge remote-tracking branch 'origin/development' into dislotwin-fix-TWIP-TRIP 2022-02-11 06:05:09 +01:00
Martin Diehl 2110690ae4 Merge remote-tracking branch 'origin/development' into no-global-dot-state 2022-02-09 22:53:04 +01:00
Franz Roters e0ed668ce0 Merge branch 'Fortran-polishing' into 'development'
a number of small improvements

See merge request damask/DAMASK!516
2022-02-09 16:01:00 +00:00
Martin Diehl bd657e6c62 fixed style and corrected copy and paste errors 2022-02-09 12:29:55 +01:00
Martin Diehl 28eda64893 bugfix: change of behavior
fraction needed for calculation of homogenized response
2022-02-08 00:24:06 +01:00
Martin Diehl 345659b0e8 update sta file after each inc 2022-02-07 15:09:26 +01:00
Martin Diehl 739a4b7a26 need to store fraction for proper homogenization 2022-02-07 14:25:03 +01:00
Martin Diehl e3a9adc722 not used 2022-02-07 07:20:15 +01:00
Martin Diehl 2a59251b1d deprecated reporting
crystallite does not exist anymore, information was discretization
related
2022-02-06 22:23:21 +01:00
Martin Diehl a37438ca29 helpful information about the parallel environment 2022-02-06 22:07:13 +01:00
Martin Diehl 0cf0112029 simplified 2022-02-06 15:59:46 +01:00
Martin Diehl 9386ba5ef5 allocate not needed 2022-02-06 12:59:41 +01:00
Martin Diehl 59fdd9b586 in agreement with paper
this is the sytem-wise formulation of D. Steinmetz' model
2022-02-06 10:07:15 +01:00
Martin Diehl 20b2079135 need to read V_mol, default of 1.0 gives strange results 2022-02-06 08:10:35 +01:00
Martin Diehl 519ca6f990 ifort does not allow rename of already imported symbols 2022-02-05 20:00:55 +01:00
Martin Diehl 4ca0ea6af2 avoid linking issues with gfortran+MPI
most likely related to the fact that HDF5 uses the old Fortran
inferface, not MPI_f08 as DAMASK
2022-02-05 18:38:06 +01:00
Martin Diehl 12e7922faf use modern Fortran interface
not possible for HDF5...
2022-02-05 18:37:38 +01:00
Martin Diehl 6c032e3ce6 remove deprecated mappings
almost done with having a consistent access pattern

solver
======
grid: x,y,z; mesh: el,ip

homogenization
==============
interface to solver: ce
internal: ho,en

phase
=====
interface to homogenization: co,ce
internal: ph,en
2022-02-05 10:01:55 +01:00
Martin Diehl 5f0a630fa6 remove deprecated phaseAt/phaseMemberAt 2022-02-05 08:24:07 +01:00
Martin Diehl 6d78400f87 the concept of IP/element_ID should not be used at the DAMASK core 2022-02-05 07:29:00 +01:00
Martin Diehl 3c148b5b0e bugfix: openMP variable was not protected 2022-02-04 18:55:59 +01:00
Martin Diehl 3990536f1c consistent order of arguments 2022-02-04 17:42:05 +01:00
Martin Diehl afed13e2ca ip/el not of interest 2022-02-04 13:23:37 +01:00
Martin Diehl 8aed927989 avoid use of co/ip/el at the phase level 2022-02-04 11:28:54 +01:00
Martin Diehl 3a0596a274 use en/ph access 2022-02-04 09:43:27 +01:00
Martin Diehl 2bd10a1261 avoid use of IP/el 2022-02-04 08:40:15 +01:00
Martin Diehl 900ef0a2c9 store IP neighborhood for ph/en access 2022-02-04 08:03:16 +01:00
Martin Diehl 8b12814eec common variable names 2022-02-04 06:42:14 +01:00
Martin Diehl c70e535da8 avoid access by el/ip 2022-02-04 00:32:13 +01:00
Martin Diehl ce1eb4f59e no need to store dot state
saves memory and flow is easier to understand
2022-02-03 23:40:25 +01:00
Martin Diehl a9a5c8fb73 simplify acces with pointer
naming will be adjusted once global deltaState is removed
2022-02-03 23:08:29 +01:00
Martin Diehl 85ca3a3f24 simplified/standardized 2022-02-03 22:57:32 +01:00
Martin Diehl 0807112a71 new tests with T_ref = 293.15K (20°C)
seems to be the most common choice for room temperature
2022-02-03 22:36:27 +01:00
Martin Diehl a243e10641 Merge remote-tracking branch 'origin/development' into Fortran-polishing 2022-02-03 09:01:33 +01:00
Martin Diehl 2cb3b2cc45 not needed 2022-02-03 07:58:51 +01:00
Sharan 038cdad85e new naming 2022-02-02 23:58:21 +01:00
Sharan d72347fe25 Merge remote-tracking branch 'origin/development' into thermal-restart 2022-02-02 23:07:32 +01:00
Martin Diehl 97f849c098 Merge remote-tracking branch 'origin/typehints_rngseed' into development 2022-02-02 22:45:52 +01:00
Martin Diehl d868a240b2 bugix: change of behavior 2022-02-02 16:45:13 +00:00
Martin Diehl 8fead8e306 relaxed tolerances
for optimized code, the last digit might differ
2022-02-02 13:48:04 +01:00
Sharan 3e73d28631 Merge remote-tracking branch 'origin/development' into thermal-restart 2022-02-01 23:07:55 +01:00
Martin Diehl a14735f3db first step towards removal of global dot state
less state => better code
2022-02-01 13:40:09 +01:00
Martin Diehl 4eb9c3dea7 correct name 2022-02-01 13:40:09 +01:00
Martin Diehl 49ca62f3af only Chuck Norris can divide by zero 2022-02-01 11:22:27 +01:00
Martin Diehl 1871dcd75a small polishing 2022-02-01 09:03:39 +01:00
Martin Diehl 08d3e22bcd size is known 2022-02-01 08:35:00 +01:00
Martin Diehl 39aa243695 Polynomial Class 2022-01-31 14:05:15 +00:00
Martin Diehl a673abb413 indicate that this mapping should be used only for C 2022-01-30 06:24:50 +01:00
Martin Diehl f70df11b67 consistent reporting 2022-01-29 15:59:22 +01:00
Martin Diehl 762f93d724 following naming convention 2022-01-29 15:30:59 +01:00
Martin Diehl 487912cfb0 following Python notation 2022-01-29 15:14:40 +01:00
Martin Diehl 477f2d8167 capitalize constants 2022-01-29 14:49:45 +01:00
Martin Diehl 774ec4e8c4 not used 2022-01-29 14:47:14 +01:00
Martin Diehl dd0f2cfa3c tau is often easier to use than pi
https://tauday.com/tau-manifesto
2022-01-29 14:46:09 +01:00
Martin Diehl 4a84c42112 improving constants
IUPAC does not specify an official ambient temperature, T=273.15K from
standard temperature and pressure (STP) is not particularly suited for our
purposes
2022-01-29 13:49:41 +01:00
Martin Diehl 978aa8a690 Merge remote-tracking branch 'origin/development' into dislotwin-fix-TWIP-TRIP 2022-01-27 15:22:51 +01:00
Martin Diehl ea33b321aa correct calculation of shear
need to convert volume to shear (and back for output)
2022-01-27 08:08:42 +01:00
Martin Diehl 1e748dc54e commenting 2022-01-27 07:28:33 +01:00
Martin Diehl e7ed32ba4e not needed 2022-01-27 00:01:53 +01:00
Martin Diehl 3bb2ae45d3 bugfixes
- L_tw/tr are not in lengths of Burgers vectors anymore
- need to define characteristic shear for tr
2022-01-26 23:57:59 +01:00
Martin Diehl 7d0d13bfed following paper
eq (10), eq (14), eq (49), eq (50), and Fig. 1
2022-01-26 23:28:39 +01:00
Martin Diehl 9e17efd1f8 transformation is for fcc-> hcp 2022-01-26 23:13:56 +01:00
Martin Diehl 95fff5d6f7 limit to TWINNING to fcc 2022-01-26 23:01:47 +01:00
Martin Diehl 8ceab5326f more systematic handling of bcc/hcp case 2022-01-26 22:49:11 +01:00
Martin Diehl d9f96bc0ec following paper, eq. (36) and eq. (37) 2022-01-26 22:33:44 +01:00
Martin Diehl 60e6e90874 avoid global states 2022-01-26 22:21:34 +01:00
Martin Diehl 5267794ff2 second order expansion of temperature-dependent variables 2022-01-26 22:04:44 +01:00
Martin Diehl c5fd467b44 power to one not needed 2022-01-26 21:47:33 +01:00
Franz Roters e7a999ffb1 Merge branch '146_grid-indexing+allocation' into 'development'
avoid duplicated variables + name adjustments

See merge request damask/DAMASK!505
2022-01-26 14:52:43 +00:00
Martin Diehl 68ea33c591 start at 1 for the same loop pattern 2022-01-26 12:21:08 +01:00
Martin Diehl a86dc322fb consistently put the check on the next line 2022-01-26 12:18:26 +01:00
Martin Diehl f1051ec28f polishing 2022-01-21 23:34:42 +00:00
Martin Diehl 96fed368ad name adjustments 2022-01-21 14:51:46 +01:00
Martin Diehl bc1b391449 Merge remote-tracking branch 'origin/development' into 146_grid-indexing+allocation 2022-01-21 07:23:24 +01:00
Sharan Roongta c2a822d8fd keys() function for dictionary as in Python.
Does not work for gfortran which fails with an ICE.
2022-01-20 23:45:47 +00:00
Martin Diehl 292cbdee30 consistent name 2022-01-20 14:56:21 +01:00
Martin Diehl 7bd8452bf8 set return value 2022-01-20 07:56:45 +01:00
Martin Diehl 7b1080fdb7 better and consistent variable name 2022-01-20 07:42:16 +01:00
Martin Diehl 1f86111f57 call SNESSetDM after DMDASNESSetFunctionLocal
following example ex5f.F90, seems to resolve segmentation fault
2022-01-19 22:57:22 +01:00
Martin Diehl fe094939e6 better to understand 2022-01-19 19:43:54 +01:00
Martin Diehl 0f4f2b6717 use only grid, not (x/y/z) start and end 2022-01-19 19:38:07 +01:00
Martin Diehl 89cb018189 polishing 2022-01-19 18:58:46 +01:00
Martin Diehl 3d6dcad385 Merge remote-tracking branch 'origin/thermal-solver-improvements' into 146_grid-indexing+allocation 2022-01-19 18:50:55 +01:00
Martin Diehl 25ddec76e7 avoid (x/y/z)end and (x/y/z)start, same information is in grid 2022-01-19 17:41:16 +01:00
Martin Diehl 96ff3314a3 simplified 2022-01-19 17:10:47 +01:00
Martin Diehl 642df40634 one-based counting 2022-01-19 16:56:54 +01:00
Sharan Roongta 1ad537b60c better to use global grid dimensions
also checking early allocation of Temperature field
2022-01-19 16:54:10 +01:00
Martin Diehl b18483cc6e simplify MPI debugging
needs manual modification in the source code
2022-01-19 16:45:14 +01:00
Martin Diehl 869fdc847a Merge branch 'development' into misc-improvements 2022-01-18 11:02:18 +01:00
Martin Diehl c5fd6a3677 random seed should contain some entropy
setting all elements to the same value does not make sense. Moreover,
negative values are allowed
2022-01-18 10:47:26 +01:00
Philip Eisenlohr 8b5122f52a Merge branch 'physics-based-hex-interactions' into 'development'
Physics based hex interactions

See merge request damask/DAMASK!495
2022-01-17 15:24:05 +00:00
Sharan Roongta 40ee4d3dd1 Merge branch 'petsc-64bit-integer' into 'development'
support for PETSc with 64bit integers

See merge request damask/DAMASK!496
2022-01-17 09:16:39 +00:00
Franz Roters 1d2bbc8cd9 Merge branch 'dislotwin-fix-tangent' into 'development'
corrected tangent calculation for twinning and transformation

See merge request damask/DAMASK!492
2022-01-17 07:57:51 +00:00
Martin Diehl a37178ddee handle case of -0.0
-0.0 < 0.0 ! false
so need sign to change direction for also for the corner case of -0.0
2022-01-15 12:28:39 +01:00
Martin Diehl d1cd125a5b direct array reversal, don't duplicate FFTW manual 2022-01-15 12:27:07 +01:00
Philip Eisenlohr 2c054f2b38 use same hex-hex interaction documentation as webpage 2022-01-13 11:23:09 -05:00
Philip Eisenlohr 45e33782e4 documentating more hex interactions 2022-01-13 10:42:05 -05:00
Martin Diehl 82dabe29c1 mesh: separate kind for DAMASK and PETSc integers 2022-01-13 16:30:42 +01:00
Philip Eisenlohr 4562f4262c add documentation to source code 2022-01-13 10:14:36 -05:00
Martin Diehl 29530da579 use correct kind of constants for calls to MPI/PETSc 2022-01-13 13:50:30 +01:00
Martin Diehl 91a3ea96ec final MPI-DAMASK integer kind decoupling
bugfix: set error for openMP-calucations
2022-01-13 13:21:44 +01:00
Martin Diehl d7dbb6ffc2 needs to be public for Marc 2022-01-13 12:03:22 +01:00
Martin Diehl a7417a7ad7 default integer, PETSc integer, and MPI integer might be different 2022-01-13 12:02:33 +01:00
Martin Diehl a3a3388855 decouple DAMASK default integer from MPI default integer 2022-01-13 10:25:45 +01:00
Martin Diehl 1c46e7ea1a not needed 2022-01-13 08:30:46 +01:00
Martin Diehl 8223dc7fa7 polishing
MPI, HDF5, PETSc, and DAMASK might have different integer kinds ..
2022-01-13 08:17:31 +01:00
Martin Diehl 3fb5bd459c pInt leftovers 2022-01-13 07:44:15 +01:00
Martin Diehl 4727652856 default integer is set via a compiler flag 2022-01-13 07:37:38 +01:00
Sharan Roongta 236f0297ac test added 2022-01-12 20:42:37 +01:00
Martin Diehl fd3c18ea4d calculate global entry in 64 bit 2022-01-12 17:58:44 +01:00
Martin Diehl ae0eead748 write out mapping as 64 bit integer 2022-01-12 17:44:07 +01:00
Martin Diehl 18913bb94e autodetect datatype 2022-01-12 17:33:14 +01:00
Martin Diehl a87db2ba0b test for long long integer 2022-01-12 16:56:24 +01:00
Martin Diehl 4bfc814a53 Merge remote-tracking branch 'origin/development' into petsc-64bit-integer 2022-01-12 16:37:22 +01:00
Franz Roters 76fe2d2b36 Merge branch 'misc-improvements' into 'development'
polishing

See merge request damask/DAMASK!497
2022-01-11 15:45:09 +00:00
Sharan Roongta e80d91e30a thermal restart (WIP) 2022-01-11 16:11:18 +01:00
Martin Diehl 16fbd1757c integer exponents are potentially faster 2022-01-10 20:50:46 +01:00
Martin Diehl eea8aa94af not used 2022-01-10 18:50:28 +01:00
Martin Diehl 1026d56842 credit where credit is due
referencing DOI gives faster access to actual data
2022-01-09 08:05:42 +01:00
Martin Diehl a884b99aa9 Merge remote-tracking branch 'origin/development' into physics-based-hex-interactions 2022-01-08 20:45:46 +01:00
Martin Diehl dd6e9a016e just off by 46 orders of magnitude ;) 2022-01-08 12:07:29 +00:00
Philip Eisenlohr b12a180974 added literature reference for constitutive law 2022-01-06 09:54:33 -05:00
Martin Diehl 1140625b12 copy and paste error 2022-01-04 17:29:45 +01:00
Martin Diehl 03e3fbd98f compute only when needed 2022-01-04 07:44:14 +01:00
Martin Diehl 4a7f23069c avoid misleading variable name 2022-01-04 07:32:56 +01:00
Martin Diehl 79fa888c99 Merge remote-tracking branch 'origin/development' into dislotwin-fix-tangent 2022-01-04 07:05:40 +01:00
Sharan Roongta b8203e94d8 Merge branch 'pure-LAPACK' into 'development'
improved function attributes

See merge request damask/DAMASK!491
2022-01-03 14:07:54 +00:00
Martin Diehl 510a26ded9 is used in dislotwin according to original paper 2022-01-03 10:36:23 +01:00
Martin Diehl 03c6708629 polishing 2022-01-01 19:52:32 +01:00
Martin Diehl d181b988c1 using vector access 2022-01-01 19:52:20 +01:00
Martin Diehl 770cf33667 correct calculation of tangent.
thanks to Seyedamirhossein Motaman (RWTH Aachen) for reporting
2022-01-01 19:51:31 +01:00
Martin Diehl b34655b7fc functions without side-effects are 'pure'
basically all 'getter' functions should be pure
2022-01-01 11:39:14 +01:00
Martin Diehl 2f74e0d070 avoid failing self test
increase number of samples to have less corner cases.
Needs to be allocatable to avoid stack/heap issue on ifort
2022-01-01 11:39:02 +01:00
Martin Diehl e678b231d9 following naming convention 2021-12-31 13:32:18 +01:00
Martin Diehl 017c182640 branch only once 2021-12-31 13:30:53 +01:00
Martin Diehl 0116e2dae6 bugfix: write only to active twin/trans system 2021-12-31 10:44:12 +01:00
Martin Diehl f2b6ddece1 reduce memory footprint 2021-12-31 08:12:30 +01:00
Martin Diehl d130225c9f polishing 2021-12-31 08:12:17 +01:00
Martin Diehl da00f33487 transformation is only for fcc 2021-12-31 08:11:12 +01:00
Martin Diehl 1661b815b2 correct calculation of temperature dependent stacking fault energy 2021-12-31 08:11:01 +01:00
Martin Diehl de9183af4e functions without side-effects are 'pure'
basically all 'getter' functions should be pure
2021-12-31 08:10:49 +01:00
Martin Diehl 95c64f7a0a avoid failing self test
increase number of samples to have less corner cases.
Needs to be allocatable to avoid stack/heap issue on ifort
2021-12-31 08:10:09 +01:00
Martin Diehl fb51e3c4cd functions have no side-effects, hence 'pure' 2021-12-29 07:19:26 +01:00
Martin Diehl 59bb264b5f LAPACK routines can be considered pure
all arguments have 'intent' specification and don't access any global
variables.
output to screen only occurs in the case that someting goes wrong
2021-12-29 07:09:52 +01:00
Martin Diehl 4583c17080 corrent 'intent' specification
- http://www.netlib.org/lapack/explore-html/d7/d3b/group__double_g_esolve_ga5ee879032a8365897c3ba91e3dc8d512.html
- http://www.netlib.org/lapack/explore-html/dd/d9a/group__double_g_ecomputational_ga56d9c860ce4ce42ded7f914fdb0683ff.html
2021-12-29 07:00:28 +01:00
Martin Diehl 1e965c42b7 don't rely on ML
avoid dependencies to external packages as much as possible
2021-12-27 17:44:22 +01:00
Martin Diehl 1ddf1e5694 support for PETSc with 64bit integers
compiles, but untested
2021-12-21 23:53:46 +01:00
Martin Diehl e10dea5b6c easier to understand 2021-12-19 22:53:48 +01:00
Martin Diehl 00230d482f use data from other physics directly
more clear code, simplified interfaces
2021-12-19 22:07:23 +01:00
Martin Diehl 5af6cc288b whitespace adjustments 2021-12-19 21:46:10 +01:00
Martin Diehl f833d348e0 testing random sampling 2021-12-17 08:01:15 +01:00
Martin Diehl f40d731fe1 use the Box-Muller transform instead of random sampling
still needs testing.
2021-12-16 21:22:44 +01:00
Martin Diehl 6ba2a08e5a easier to read 2021-12-11 11:50:40 +01:00
Martin Diehl d6ba73d9e2 consistent names 2021-12-11 09:54:46 +01:00
Martin Diehl f51633d43a forall is deprecated
do concurrent is the successor but ifort had problems and generated
faulty code
2021-12-11 09:01:42 +01:00
Martin Diehl 7d7d0c2659 only local variable are good variables 2021-12-11 08:49:30 +01:00
Martin Diehl a23a714bd0 polishing 2021-12-07 19:10:24 +01:00
Sheng Zhang d66b9e1896 subdivision of interaction matrix for hcp 2021-12-06 16:51:18 +01:00
Sheng Zhang a4cd663fc0 Merge branch 'no-2prism-hex' into development 2021-12-06 16:45:01 +01:00
Martin Diehl fe2123bae4 2. order prismatic systems are not needed
not clear for which material they have been introduced, according to
T.R. Bieler and P. Eisenlohr they are typicall not active in any
material of interest
2021-12-06 12:23:24 +01:00
Martin Diehl 8ade749f05 avoid conversions 2021-12-06 08:55:00 +01:00
Martin Diehl 2fb368cf8c consistent space (as in 'end module' etc) 2021-12-06 07:59:40 +01:00
Martin Diehl 08a709c6d9 capitalize HDF5 prefix 2021-12-06 07:55:22 +01:00
Martin Diehl 2f067b544e use variables, not descriptors 2021-12-06 07:55:13 +01:00
Martin Diehl c818756f68 wrong check
iand is used for checking, see https://support.hdfgroup.org/HDF5/doc/RM/H5Z/H5Zget_filter_info.htm
2021-12-02 20:51:33 +01:00
Martin Diehl 731e20261c bugfix for HDF5 without deflate filter
before inquiring whether a filter supports compression/decompression, we
first need to check whether it is available at all to avoid raising an
error.
Extended the check to the shuffle filter
2021-12-02 13:00:59 +01:00
Martin Diehl 5abfe3c214 Merge remote-tracking branch 'origin/development' into MSC-Version 2021-12-01 15:35:49 +01:00
Sharan Roongta 7e7098baf7 Merge branch 'rotate-Voigt' into 'development'
Rotate voigt

See merge request damask/DAMASK!463
2021-11-29 16:47:39 +00:00
Nikhil Prabhu 96e4cb591c Merge branch 'integer-exponents' into 'development'
Using integer exponent

See merge request damask/DAMASK!467
2021-11-29 07:32:04 +00:00
Philip Eisenlohr a531b7ccae transitioned remaining real exponents to int 2021-11-28 12:46:26 -05:00
Martin Diehl 81daebd0e6 Merge remote-tracking branch 'origin/development' into integer-exponents 2021-11-27 20:44:26 +01:00
Martin Diehl 1fbeabc949 Merge remote-tracking branch 'origin/development' into rotate-Voigt 2021-11-27 19:55:02 +01:00
Martin Diehl ccd6e44b6b Merge remote-tracking branch 'origin/development' into 134-output_none 2021-11-27 19:17:27 +01:00
Philip Eisenlohr 2fbe34497e integer exponents 2021-11-26 14:13:04 -05:00
Martin Diehl 825eb3824b polishing 2021-11-26 20:10:21 +01:00
Philip Eisenlohr 6cad6bc5cf clarify slip plane for (first) pyr<a> 2021-11-26 13:01:40 +01:00
Martin Diehl b88ab1af48 simplify search for interaction parameters 2021-11-26 13:01:40 +01:00
Martin Diehl bfc6b69ee2 integer exponents: faster and shorter 2021-11-25 20:52:22 +01:00
Franz Roters f435062a1d support for Marc2021.3.1 2021-11-25 17:30:22 +01:00
Martin Diehl 72c717d51d simplified/correct type 2021-11-25 15:37:13 +01:00
Sharan Roongta 271bb8df88 being consistent 2021-11-25 15:03:00 +01:00
Sharan Roongta 90f967cc86 Merge remote-tracking branch 'origin/T_ref300' into dynamic-C 2021-11-25 12:11:38 +01:00
Martin Diehl fb8c515a98 capitalize constants
not sure whether we should make exceptions for k_B and T_room
2021-11-25 11:52:52 +01:00
Sharan Roongta 8b06d97e84 Merge remote-tracking branch 'origin/T_ref300' into dynamic-C 2021-11-25 11:18:25 +01:00
Martin Diehl e941867290 single source of truth 2021-11-25 06:23:26 +01:00
Martin Diehl bc30248b95 0K is not a good reference 2021-11-25 06:12:55 +01:00
Sharan Roongta 35f20811cb thermal dependent C 2021-11-24 23:21:31 +01:00
Philip Eisenlohr da23c916ca polish 2021-11-21 15:49:04 -05:00
Martin Diehl 28ff027b38 exploit symmetry for stress calculation 2021-11-20 22:36:01 +01:00
Martin Diehl a857285e34 backward transformation for Voigt 2021-11-20 22:09:01 +01:00
Martin Diehl f6440f7f17 need to check 'any', adjusted tolerance 2021-11-20 15:18:48 +01:00
Martin Diehl 87100d1dce avoid conversion Voigt-6x6 to 3x3x3x3 2021-11-20 15:15:59 +01:00
Martin Diehl a6c311f410 commented 2021-11-20 12:16:32 +01:00
Martin Diehl 021d614daf using Voigt notation
This is a bugfix with a change of behavior
2021-11-19 20:44:30 +01:00
Martin Diehl ff9fa1d4f7 using Voigt notation instead of proprietary scaled 6x6 notation
Note: This results in a change of behavior for the transformation
systems of dislotwin. I assume that this fixes a bug, but still need to
confirm where the equations in lattice_C66_trans come from
2021-11-19 07:33:59 +01:00
Martin Diehl fa8218124a avoid conversions 2021-11-18 22:02:19 +01:00
Martin Diehl 038dd1fc40 correct names
whether C66 is homogenized or not is a decision of the caller
2021-11-18 21:31:08 +01:00
Martin Diehl dfe6d0a195 more support for Voigt notation 2021-11-18 21:06:38 +01:00
Martin Diehl 020ef64d7d explicit conversions 2021-11-18 19:37:48 +01:00
Martin Diehl 8a8fdfc93c use Voigt notation
there is no advantage of using the symmetrized conversions
2021-11-18 17:33:08 +01:00
Martin Diehl 4d29393ced simplified 2021-11-18 16:59:23 +01:00
Martin Diehl f7a42bdc1a avoid conversion to 3333 2021-11-18 16:56:36 +01:00
Martin Diehl 8d64a1c2f2 mark compressed notation 2021-11-18 16:37:34 +01:00
Martin Diehl 72c07cfc17 'present' propagates 2021-11-18 16:33:21 +01:00
Martin Diehl 29771feaae cleaning 2021-11-18 14:43:05 +01:00
Martin Diehl eee455c0d3 polishing 2021-11-18 13:12:14 +01:00
Sharan Roongta 0badba032b Merge remote-tracking branch 'origin/development' into dynamic-C 2021-11-18 10:29:33 +01:00
Sharan Roongta 55d6b1dd1a preparing for temperature dependent C by calling it dynamically 2021-11-17 21:35:39 +01:00
Franz Roters 262ff03b9f more consistent formatting of loops 2021-11-17 09:11:30 +01:00
Philip Eisenlohr 4ebf14317a Merge branch 'development' into pretty-print-init 2021-11-16 12:56:38 -05:00
Franz Roters 58410709b9 Merge branch '136-skip-plasticity-calculations-for-purely-elastic' into 'development'
reduce computation effort for plasticity==none

Closes #136

See merge request damask/DAMASK!452
2021-11-16 16:28:25 +00:00
Philip Eisenlohr 43ae4983ed fixed misaligned/too short "writing..." statements 2021-11-15 12:58:59 -05:00
Philip Eisenlohr 69843d0833 Merge branch 'development' into pretty-print-init 2021-11-15 12:39:14 -05:00
Philip Eisenlohr da9fdf53d2 consistent indentation and line-spacings in reporting 2021-11-15 12:35:44 -05:00
Nikhil Prabhu 64d70d9be3 user option to have no output
f_out = none
2021-11-15 14:39:29 +01:00
Martin Diehl f7dbda31e8 style adjustments
- two empty lines after variables
- enddo, endif should have space
2021-11-14 06:46:01 +01:00
Philip Eisenlohr 2408b74cac reduce computation effort for plasticity==none 2021-11-14 06:45:37 +01:00
Martin Diehl aa6efd21cd Merge remote-tracking branch 'origin/development' into initial-eigenstrain 2021-11-12 08:46:50 +01:00
Martin Diehl 8138d3a180 style adjustments 2021-11-11 23:59:48 +01:00
Martin Diehl ba31ff7263 do not rely on ML per default 2021-11-11 23:23:14 +01:00
Martin Diehl b7ad5b3167 'standard' style 2021-11-10 20:53:20 +01:00
Philip Eisenlohr 186b688b04 only look for opening part of <CellData> tag 2021-11-09 15:10:19 -05:00
Martin Diehl 0514ca7a56 Merge remote-tracking branch 'origin/development' into initial-eigenstrain 2021-11-08 18:49:41 +01:00
Martin Diehl a041551b9f Merge remote-tracking branch 'origin/development' into mesh-order 2021-11-03 07:57:59 +01:00
Martin Diehl f4f0163d5e Merge remote-tracking branch 'origin/development' into initial-eigenstrain 2021-11-02 13:22:47 +01:00
Martin Diehl e0b6a28b48 better matching name 2021-10-31 22:13:36 +01:00
Martin Diehl 737eff9179 bugfix: change of behavior
v_0 was erroneously introduced
use tau = (tau_pos+tau_neg)/2
2021-10-31 18:59:51 +01:00
Martin Diehl 6d117882c5 use precalculated value 2021-10-31 17:29:35 +01:00
Martin Diehl fbc4865c30 mathematically equivalent re-formulation
allows to disable contribution from grain size by setting it to a large
value
2021-10-31 15:42:18 +01:00
Martin Diehl f5fe0b9dca bugfix: change of behavior
negative values for the resolved stress do not make sense.
The paper does not take this into account (eq (14), Cereceda et. al
2016). According to my understanding, only the non-thermal contributions should be
substracted, so abs(tau_pos)/abs(tau_neg) would not be sufficient.
2021-10-31 09:53:58 +01:00
Martin Diehl e20b705f54 following dislotwin 2021-10-30 23:02:51 +02:00
Martin Diehl bff186051c simplified 2021-10-30 22:54:02 +02:00
Martin Diehl bb757cf82e style adjustments 2021-10-30 13:15:03 +02:00
Martin Diehl f0a33b452f unifying style 2021-10-28 07:05:14 +02:00
Martin Diehl b4ff89f304 improved test 2021-10-27 22:54:26 +02:00
Martin Diehl a00c6743c3 symbolic notation in numerics.yaml
- p_i: integration order
- p_s: shape function order

ensure working combination (p_s = p_i: full integration, p_s = p_i+1:
reduced integration)
2021-10-26 11:51:08 +02:00
Daniel Otto de Mentock fc42665838 Merge branch 'modern-complex-components' into 'development'
better readable

See merge request damask/DAMASK!444
2021-10-22 10:48:40 +00:00
Martin Diehl 256c48831e better readable 2021-10-19 23:08:21 +02:00
Martin Diehl 2e340d3489 forgotten rename 2021-10-15 22:19:58 +02:00
Martin Diehl 519bb857d7 save list of files used for compilation
helpful for debugging and creating automated documentation
2021-10-15 22:15:08 +02:00
Martin Diehl c628c028dc SYNTAXONLY for mesh, avoid code duplication 2021-10-15 22:14:37 +02:00
Martin Diehl dd7549a381 seems to work without further changes 2021-10-06 07:50:42 +02:00
Martin Diehl 29431eb8c5 same reporting as in python 2021-09-12 21:55:14 +02:00
Martin Diehl 949eea1624 bugfix: did not work with VTK 8 2021-09-01 11:07:39 +02:00
Martin Diehl 566e0445fc old url is not working anymore 2021-08-25 08:18:46 +02:00
Martin Diehl 129ff28692 Merge remote-tracking branch 'origin/master' into misc-improvements 2021-08-24 16:04:32 +02:00
Sharan Roongta 9061297e6e typo 2021-08-19 19:57:52 +02:00
Martin Diehl caf9a29b73 useful information, especially in logs from bug reports 2021-08-19 07:10:00 +02:00
Sharan Roongta 411f35272a offset should have been taken into account (like earlier)
new changes should not break old functionality
2021-08-19 06:10:44 +02:00
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
Martin Diehl 2ffa6cac70 Merge remote-tracking branch 'origin/development' into Marc-start-material-at-0 2021-07-14 06:15:46 +02:00
Martin Diehl ce3b4d2a2a Merge branch 'development' into YAML-fixes 2021-07-13 20:27:21 +02:00
Sharan Roongta 45abca90c5 stricter
example of invalid YAML-->  mechanical:{type: pass}
2021-07-12 22:17:02 +02:00
Sharan Roongta d2560ebb39 function should return either 'true' or 'false' and not bear the responsibility to throw errors
We were forcing every colon to indicate either key or key: value
2021-07-12 21:42:51 +02:00
Martin Diehl df9a94422f 0-based indexing in MSC.Marc
inline with Python library and grid, still need to decide on mesh (neper
is 1-based)
2021-07-10 09:49:29 +02:00
Martin Diehl 136a4b1377 PETSc defines are rather complicated
now mpi_f08 can be used on newer PETSc installations if old MPI modules
are not exposed
2021-07-09 18:48:25 +02:00
Martin Diehl 637f78bd52 old name (for PETSc < 3.15) 2021-07-09 14:50:29 +02:00
Martin Diehl 3870a70a4e HDF5 seems to use MPI (F90 style) 2021-07-09 12:37:39 +02:00
Martin Diehl 8e75e87ad9 Merge branch 'MPI_F08' into polishing-for-beta 2021-07-09 11:32:32 +02:00
Franz Roters c3e94cf1fe Marc2021.2 is out! 2021-07-09 08:59:04 +02:00
Martin Diehl f54bd8f3a9 correct capitalization 2021-07-08 17:56:49 +02:00
Martin Diehl 139f2c177a use MPI_f08 if possible
most PETSc installations provide outdated MPI (f90 version)

MPI_COMM_WORLD is now of derived type (Fortran 08 style)
PETSC_COMM_WORLD is the plain integer (f90 style) alias.
Note that HDF5 is assumed to have f90 interfaces
2021-07-08 16:27:37 +02:00
Martin Diehl 4c3ff4bef4 consistent capitalization 2021-07-08 15:05:01 +02:00
Martin Diehl 58bc6e2ba6 avoid chained inclusions 2021-07-08 14:27:04 +02:00
Martin Diehl 69415d2e05 not needed 2021-07-08 12:30:00 +02:00
Martin Diehl 3c6c5d77e8 following paper 2021-07-06 22:58:18 +02:00
Martin Diehl a13e02da44 easier to follow 2021-07-06 22:33:12 +02:00
Martin Diehl cd9d704aae bug fixes:
invalid material.yaml, detect such errors in future
2021-07-05 11:30:52 +02:00
Martin Diehl f0a75d8d62 consistent capitalization
Capitals for pre processor macros to avoid clashes
2021-07-04 17:43:19 +02:00
Martin Diehl 6dc70fa4e7 not used anywhere
was only required for ductile damage
2021-07-04 08:51:53 +02:00
Martin Diehl 7daef03e65 new multiphyics notation 2021-07-03 22:50:14 +02:00
Martin Diehl 8acecc1306 preparing standard multiphysics notation 2021-07-03 22:41:34 +02:00
Martin Diehl f69f61dcb7 avoid duplication 2021-07-03 22:30:06 +02:00
Martin Diehl a0ffbc5f17 little polishing
- same names as for grid
- 'local' naming misleading here (probably for x_local etc also not a
  good choice)
- following names in PETSc notation (https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DMPLEX/DMPlexGetPointLocal.html)
- using allocation with bounds to simplify access
- NOTE: The nodal coordinates are not what damask.Result expects except
  for simple, 1 IP elements!
2021-07-02 23:49:06 +02:00
Martin Diehl 1516ded71b Merge remote-tracking branch 'origin/development' into write_displacements 2021-07-02 23:07:51 +02:00
Martin Diehl 7745640393 consistently use prefix as modifier 2021-06-28 23:41:50 +02:00
Martin Diehl f2a359bea1 relaxing tolerances
allowed for simplified cases (no temperature dependency/friction)
2021-06-28 23:28:41 +02:00
Martin Diehl 5973ef5b13 Merge remote-tracking branch 'origin/nonlocal-examples' into preparing-alpha4 2021-06-28 23:22:16 +02:00
Martin Diehl 6651656903 isoductile is not working 2021-06-28 23:13:56 +02:00
Martin Diehl b1f4c06f9c takeover from Christophs thesis 2021-06-26 13:25:13 +02:00
Abisheik Panneerselvam b322ed3e03 feauture to write nodal displacements to hdf5 file added 2021-06-25 20:46:21 +02:00
Martin Diehl ab0e65c6bc systematic names and sensible defaults 2021-06-25 15:12:54 +02:00
Martin Diehl 06e76c1a81 consistent default absolute tolerances
better use conservative values, users can easily relax if needed
2021-06-25 10:13:03 +02:00
Martin Diehl a9f5dcfbf1 avoid allocate based on random value in sum_N_sl 2021-06-24 23:35:14 +02:00
Martin Diehl 106fec92d7 C is the common symbol 2021-06-24 19:14:19 +02:00
Martin Diehl 8f5a370388 bugfix: update compatibility for nonlocal
intent(out) resulted in setting nonlocal = .false.
now using plasticState%nonlocal consistently
2021-06-24 18:59:52 +02:00
Martin Diehl f42157c076 consistent names 2021-06-24 16:31:07 +02:00
Martin Diehl f834a1534e simplified 2021-06-24 16:07:54 +02:00
Martin Diehl 12ca7428cf cleaning 2021-06-24 15:25:43 +02:00
Martin Diehl ae9a48c124 polishing 2021-06-24 15:23:24 +02:00
Martin Diehl b4265149c8 simplified 2021-06-24 15:08:31 +02:00
Martin Diehl 95c9434a21 bugfix: enable local simulations 2021-06-24 15:01:32 +02:00
Martin Diehl 8c06e7a4ff generic and extendable multiphysics notation 2021-06-24 14:49:09 +02:00
Martin Diehl c49ba5419b sign-transfer done right 2021-06-21 23:26:17 +02:00
Martin Diehl 4b82cb4c14 extra parameter needed
Hardening parameters determine rate of hardening in phenopowerlaw.
This flexibility is also needed in J2.
2021-06-21 23:22:51 +02:00
Martin Diehl 27431bd60c avoid division by M gives better agreement with phenopowerlaw 2021-06-21 23:11:09 +02:00
Martin Diehl ea4867770f avoid error due to limited floating point accurary 2021-06-21 16:15:40 +02:00
Martin Diehl 38e4802867 3.15.1 works (3.15.0 has a bug) 2021-06-21 06:53:17 +02:00
Martin Diehl 0a22916aba not a double subscript 2021-06-19 15:13:27 +02:00
Abisheik Panneerselvam 8bba021fe1 Merge remote-tracking branch 'origin/development' into mesh_test 2021-06-18 19:23:20 +02:00
Abisheik Panneerselvam 36bf68b336 Out of plane coordinates for 2D elements are updated with dummy values 2021-06-17 20:26:37 +02:00
Abisheik Panneerselvam b9d4217d86 permutationStar111 for 4th order integration is updataed 2021-06-16 14:58:26 +02:00
Martin Diehl 1bfbd30ae2 polishing 2021-06-15 19:53:05 +02:00
Martin Diehl 218e6a79a8 VTK image data is the appropriate type, not VTK rectilinear grid
FFTs require constant spacing in all three directions, this is
guaranteed by the vtkImageData but not by vtkRectilinearGrid
2021-06-15 19:02:26 +02:00
Martin Diehl e10701b32a easier to understand 2021-06-14 15:21:10 +02:00
Sharan Roongta 5f01b076d2 This change makes the test work for GNU too
Probably something was uninitialized and GNU was accessing unallocated memory
2021-06-14 14:58:14 +02:00
Sharan Roongta c64f9eb805 hardcoding '3' is an issue for 2d simulations 2021-06-11 20:42:31 +02:00
Martin Diehl 3705f1d3a2 F,P, ... in loadcase are 2nd order tensors 2021-06-03 08:21:16 +02:00
Sharan Roongta 6cd0d79c61 old merge not reflected 2021-06-02 14:08:12 +02:00
Sharan Roongta 39c2506b8d Merge branch 'Fortran-cleaning' into 'development'
Separating functionality

See merge request damask/DAMASK!396
2021-06-02 09:24:47 +00:00
Martin Diehl fada9a7f6c more meaningful order 2021-06-01 17:05:13 +02:00
Martin Diehl 5d0fc4fca3 more meaningful order
and intent(out) variables for read are at the front
2021-06-01 16:46:24 +02:00
Martin Diehl 569b1fc563 not needed (duplicated code) 2021-06-01 11:09:02 +02:00
Martin Diehl 6f9e521cdb Merge branch 'HDFgeometryupdate' into 'development'
HDF geometry update

See merge request damask/DAMASK!395
2021-06-01 08:01:53 +00:00
Martin Diehl 431416b5ba Separating functionality
lattice should become a module with static data and functions
2021-06-01 07:56:55 +02:00
Martin Diehl 91015fd07c write out undeformed configuration 2021-05-31 19:41:22 +02:00
Abisheik Panneerselvam 650fbd7509 Initial nodal and ip coordinates added to the HDF5 output file 2021-05-31 15:01:42 +02:00
Abisheik Panneerselvam 718880f177 Initial nodal and ip coordinates added to the HDF5 output file 2021-05-31 14:09:11 +02:00