Commit Graph

4447 Commits

Author SHA1 Message Date
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