Commit Graph

3208 Commits

Author SHA1 Message Date
Martin Diehl 0a7d4f61ac Need only logical mask
'merge' substitutes multiplication with float mask
2020-09-20 16:54:58 +02:00
Martin Diehl 6367cb8fcb consistent handling of boundary conditions
A stress boundary condition 'P' indicates the stress at the end of the
load case (same as for 'F') 'Pdot' for given increase of (technical)
strain is not implemented.
Does not change anything for the most common case of zero-stress
boundary conditions, but simplifies the specification of stress ramps
2020-09-20 15:48:41 +02:00
Martin Diehl d584207e0a same layout for easy diff 2020-09-20 13:01:56 +02:00
Martin Diehl 8dfb972ac1 private is already default (module wide) 2020-09-20 11:49:20 +02:00
Martin Diehl 593a40b392 Merge branch 'Fortran-simplifications' into stress-ramp-loadcase 2020-09-20 11:42:04 +02:00
Martin Diehl 053c3f39ea solution completely relies on state defined by 'forward' 2020-09-19 23:40:17 +02:00
Martin Diehl 42186b9f87 fixed typo 2020-09-19 22:08:38 +02:00
Martin Diehl c108b4df66 concise description 2020-09-19 11:41:16 +02:00
Martin Diehl d0b5905544 remaining write(6,...) without advance='no' 2020-09-19 11:02:40 +02:00
Martin Diehl 139eecec0a polishing 2020-09-19 10:56:41 +02:00
Martin Diehl 1d2e9324f1 do not rely on 6=STDOUT, 0=STDERR 2020-09-19 10:51:07 +02:00
Martin Diehl c34bf83e35 variable names better reflect their content 2020-09-19 10:27:15 +02:00
Martin Diehl 201303f35f clarified logic 2020-09-19 10:00:49 +02:00
Martin Diehl c4ce28e63f untangling 2020-09-19 09:41:48 +02:00
Martin Diehl 51f43ddc09 small polishing 2020-09-19 09:24:27 +02:00
Martin Diehl c6c34ccf7e Merge remote-tracking branch 'origin/development' into stress-ramp-loadcase 2020-09-19 08:46:38 +02:00
Martin Diehl e639fa981d Merge remote-tracking branch 'origin/development' into Fortran-simplifications 2020-09-19 08:30:22 +02:00
Martin Diehl cc92b0ad84 print is more appropriate than write 2020-09-19 08:29:50 +02:00
Philip Eisenlohr 6880ad42c1 Merge branch 'Marc-use-statev-2' into 'development'
Marc use statev 2

See merge request damask/DAMASK!223
2020-09-18 16:46:20 +02:00
Martin Diehl 4a913c83e5 simplified print and format strings 2020-09-17 22:57:56 +02:00
Martin Diehl e848590c5c Merge remote-tracking branch 'origin/development' into Fortran-simplifications 2020-09-17 19:39:31 +02:00
Martin Diehl 797073b015 print choses output unit automatically, no need to rely on 6
also shorter...
2020-09-17 19:28:41 +02:00
Vitesh b51a1b7b93 Merge branch 'Marc2020' into 'development'
Marc2020

See merge request damask/DAMASK!226
2020-09-17 10:52:26 +02:00
Franz Roters fe58a56e17 Merge branch 'development' into Marc2020 2020-09-16 16:13:35 +02:00
Franz Roters b09b500159 Merge branch 'development' into Marc2020 2020-09-16 09:00:02 +02:00
Martin Diehl 1ff098d004 Merge remote-tracking branch 'origin/development' into Fortran-simplifications 2020-09-15 19:36:59 +02:00
Martin Diehl 5b104417a9 polishing 2020-09-15 19:36:21 +02:00
Martin Diehl b83f2e5444 Merge branch 'development' into Marc-use-statev-2 2020-09-15 07:41:38 +02:00
Martin Diehl 50599bc5c5 Merge branch 'development' into fix-vtr-sanity-check 2020-09-15 07:20:44 +02:00
Philip Eisenlohr df548e95fc [skip ci] added reference to explain Fp_0 = O_0 2020-09-14 15:11:48 +02:00
Martin Diehl a2e9420336 boundary conditions to not change during iteration 2020-09-14 14:58:44 +02:00
Martin Diehl 89f25eb7d7 use reasonable tolerances for checking regular grid spacing 2020-09-14 14:06:09 +02:00
Martin Diehl 3ebba9b3c0 more sensible locations for reporting 2020-09-13 21:21:55 +02:00
Martin Diehl 5558d95886 print is better suited for output to screen then write 2020-09-13 21:15:08 +02:00
Martin Diehl 0153bca277 better print then write
- shorter, always writes to STDOUT

also, report only details (paper) of active models
2020-09-13 21:00:34 +02:00
Martin Diehl 84b9104302 clearly indicate origin of functions
also supresses (flawed) error message of gfortran related to
non-standard type 'bytes'
2020-09-13 20:14:34 +02:00
Martin Diehl f266def906 Merge branch 'vtr-as-input' into Fortran-simplifications 2020-09-13 19:34:48 +02:00
Philip Eisenlohr 507910ffcd improved language/descriptions 2020-09-13 18:32:49 +02:00
Martin Diehl bb6b91e857 simpler 2020-09-13 13:04:54 +02:00
Martin Diehl b497ec4371 use print instead of write
https://www.scivision.dev/print-vs-write-fortran/
2020-09-13 13:01:38 +02:00
Martin Diehl 7d929122af forgotten renames 2020-09-13 12:45:35 +02:00
Martin Diehl 22544d6978 systematic naming 2020-09-13 12:43:49 +02:00
Martin Diehl c14241a8e9 no need to store variables that are used only during init 2020-09-13 12:31:01 +02:00
Martin Diehl 316c5f7d20 internal errors (do not depend on user input) 2020-09-13 12:20:44 +02:00
Martin Diehl 0f0dfb4c04 0-base counting for MPI 2020-09-13 12:13:59 +02:00
Martin Diehl e6dd118a1d not needed anymore 2020-09-13 12:11:26 +02:00
Martin Diehl 5b83c8ad3c use 'error stop'
- does not require IO
- prints stack trace
2020-09-13 12:09:32 +02:00
Martin Diehl 16f8df3420 standard "docstring"
- start with capital
- active form
- end with full stop
2020-09-13 11:32:36 +02:00
Martin Diehl 3c5b89ac78 not needed anymore 2020-09-13 11:28:48 +02:00
Martin Diehl 07f23d3d1d no need for alias 2020-09-13 11:21:43 +02:00
Martin Diehl 74b35f5612 short numpy name 2020-09-13 11:18:57 +02:00
Martin Diehl e5c2382f73 missing renames ... 2020-09-13 11:17:49 +02:00
Martin Diehl 38a4118dc5 prefix to global variables increases readability 2020-09-13 11:05:42 +02:00
Martin Diehl b499578a95 prefix should be name of the module
poor substitute for namespace
2020-09-13 10:39:17 +02:00
Martin Diehl da0e16520c handling of MPI in 'parallelization' 2020-09-13 10:26:33 +02:00
Martin Diehl e2ded43636 polishing
- unified style (CamelCase)
- more sanity checks
- simplified determination of grid
2020-09-13 06:58:34 +02:00
Martin Diehl 81063046c4 improved error handling, potentially faster algorithm 2020-09-12 22:55:30 +02:00
Martin Diehl 126ef8be9f separating functionality
- config: reads config files
- parallelization: determines parallelization environment
2020-09-12 16:25:58 +02:00
Martin Diehl a46b888cff WIP: introducing separate module for parallelization 2020-09-12 16:07:49 +02:00
Martin Diehl 3f9e9a120a simplified 2020-09-12 15:56:59 +02:00
Martin Diehl 7b414454f0 nicer reporting 2020-09-12 15:42:03 +02:00
Martin Diehl 307b1b20cc forgotten rename for ifort workaround 2020-09-12 15:26:16 +02:00
Martin Diehl 767e0506df older Fortran compilers are not supported anymore 2020-09-12 15:05:07 +02:00
Martin Diehl 566ab7e7d9 reading in VTR files
will replace geom file in the near future
2020-09-12 14:43:04 +02:00
Martin Diehl a6ac875db8 short and clear names for integer precision 2020-09-12 11:02:39 +02:00
Martin Diehl 7a6ada9ad7 clearer name 2020-09-12 08:47:46 +02:00
Franz Roters c5bce78faf [skip ci] corrected error number 2020-09-10 08:55:56 +02:00
Philip Eisenlohr d7932aeacb Merge branch 'vtr-as-input-prerequisites' into 'development'
prerequisites for using VTR as input format for spectral solver

See merge request damask/DAMASK!214
2020-09-09 18:13:09 +02:00
Martin Diehl a5f9ef118a feature complete test 2020-09-09 12:38:02 +02:00
Martin Diehl 85d9e843f0 better readable 2020-09-09 07:50:12 +02:00
Martin Diehl 95af422d5f complain about invalid microstructure
many error messages are not needed any more
2020-09-08 23:49:44 +02:00
Martin Diehl b1b556fc08 Merge remote-tracking branch 'origin/development' into Marc-use-statev-2
PRIVATE repository is synced again (including changes to RGC test)
2020-09-08 23:24:57 +02:00
Martin Diehl 0368fdafc1 keyword was missing 2020-09-08 23:21:45 +02:00
Martin Diehl 6d42d13321 Merge branch 'base64-simplification' into vtr-as-input-prerequisites 2020-09-08 23:16:53 +02:00
Martin Diehl fb68d430ec decode only relevant part of the base64 string 2020-09-08 23:15:43 +02:00
Sharan Roongta f38e32572f Merge branch 'modernize-testing' into development 2020-09-08 12:30:13 +02:00
Martin Diehl a70819e458 simplified base64 encoding
- ensure valid Base64 string (needs to be padded correctly)
- background routine expects proper Base64 string (length = N*4)
- user routine ensures correct length of byte representation
2020-09-08 10:36:22 +02:00
Martin Diehl 049ad4e202 simplify base64 handling
require valid base64 string, which allows to calculate output size
automatically
2020-09-08 07:03:23 +02:00
Martin Diehl 1f28592fcd improved documentation
Python/numpy style: Active description, start with capital, end with
full stop
2020-09-08 06:55:04 +02:00
Martin Diehl 43e9ea352a typo 2020-09-08 05:56:10 +02:00
Martin Diehl cfad4a71f6 clearer logic 2020-09-08 05:56:01 +02:00
Franz Roters 44f5f2cc01 only statevar 2 is used for material definition 2020-09-07 17:01:38 +02:00
Martin Diehl d176a89c78 ensure defined initital state 2020-09-07 13:20:00 +02:00
Martin Diehl 751bf7862d variable name = parameter name 2020-09-07 11:48:26 +02:00
Martin Diehl 2f7414de22 only m=1 makes sense for isobrittle 2020-09-07 11:46:12 +02:00
Martin Diehl 3fdcebc0a0 following python recommendation
functions have "active" docstring
2020-09-06 17:50:32 +02:00
Martin Diehl 9ce406ed11 wrapper for zlib library
assume that zlib is available for linking. This is usually the case
(zlib is a stable standard library), but there is currently no check
that gives a nice error message or the possibility to use zlib from a
non-standard location
2020-09-06 17:49:00 +02:00
Martin Diehl a931625be0 functionality to decode base64 strings into bytes 2020-09-06 17:44:02 +02:00
Martin Diehl 54207760db conversion byte -> float/int with 4/8 byte length 2020-09-06 17:36:05 +02:00
Martin Diehl d66cdc8324 fixed incomplete rename 2020-08-30 06:52:15 +02:00
Martin Diehl 80b84cf76a fixed hickup of state variables
two times the wrong location resulted in the correct behavior before
2020-08-29 23:37:59 +02:00
Martin Diehl 23bf51cca0 homogenizationAt from discretization not needed anymore 2020-08-29 16:45:18 +02:00
Martin Diehl 44bb99c57a not needed 2020-08-29 16:34:19 +02:00
Martin Diehl 4fe4190ee0 mapping renamed
now we have two mappings, 'phase' and 'homogenization'. They `unwind`
the definition in 'materialpoint' in 'material.yaml'. Since we
never introduced the inverse mapping, I have removed the cellResults
subfolder.
2020-08-25 11:02:51 +02:00
Martin Diehl 55443a3ff5 reflect change of variable names in file layout version 2020-08-24 22:54:09 +02:00
Martin Diehl 8ef473b71c new names in output
- constituent -> phase
- materialpoint -> homogenization

this gives a one-to-one correspondence to the material.yaml definition

next steps
1) adjust damask.Result python class
2) implement materialpoint output (homogeneous over the whole domain)
   for homogenized quantities (currently T,F,P,phi)
2020-08-24 19:22:53 +02:00
Sharan Roongta 7754a1ea56 Restructuring for material.yaml 2020-08-15 16:08:46 +02:00
Philip Eisenlohr c1358294f7 Corrected Kirchoff --> Kirchhoff 2020-08-12 15:14:00 -04:00
Martin Diehl e6f1b17149 Gfortran 8 failed with
At line 115 of file DAMASK/src/system_routines.f90
Fortran runtime error: Unequal character lengths (93/52) in MERGE intrinsic

not sure whether this is a false alarm or not ...
2020-08-09 08:53:10 +02:00
Martin Diehl 68bf21c900 can use string of dynamic length 2020-08-09 06:40:43 +02:00
Martin Diehl 93adee2581 no need to have fixed string here 2020-08-09 06:27:29 +02:00
Martin Diehl 28bc1fae50 don't repeat code 2020-08-09 06:17:14 +02:00
Martin Diehl 2db8ba13fc better reporting: show small values 2020-08-08 20:01:32 +02:00
Franz Roters 8f79338889 support for Marc2020
Mentat does not work for now
2020-08-01 12:03:12 +02:00
Martin Diehl c55e6edbf3 removed duplicate 2020-07-25 09:59:22 +02:00
Martin Diehl 86bef605e3 polishing 2020-07-24 23:40:42 +02:00
Martin Diehl 3ed1850d68 calculate R directly from F
no detour via inverse of U/V needed.
Determinant of R seems to deviate less from 1.0 with this version
2020-07-24 23:08:05 +02:00
Martin Diehl 0f2c0cf4b2 indentation fix 2020-07-24 22:44:41 +02:00
Martin Diehl 57b4236be8 more stable version
tests need to consider that quaternion definition is not unique for
Re(q) = 0.
2020-07-24 22:43:59 +02:00
Martin Diehl ed16cb087e Merge branch 'development' into marc-python-modifications 2020-07-22 14:10:56 +02:00
Franz Roters fb02c69ac2 Merge branch 'Marc-IP-neighborhood' into 'development'
Marc ip neighborhood

See merge request damask/DAMASK!192
2020-07-20 11:07:04 +02:00
Martin Diehl 4860f9c9ce drop support for parallel marc versions
can still be handled by the user, but is a niche use case
2020-07-18 09:51:53 +02:00
Franz Roters d47273f564 Merge branch 'Marc-2019.1' into 'development'
Marc 2019.1

See merge request damask/DAMASK!191
2020-07-17 15:48:11 +02:00
Martin Diehl d8e112c042 phaseAt needs constituent/element tuple
constituent is always 1 for nonlocal
2020-07-16 23:38:37 +02:00
Martin Diehl ec56316683 IPneighborhood for MSC.Marc
tested for 8 ip hexahedaron
2020-07-16 15:26:00 +02:00
Martin Diehl e1b018c47a symlink was missing 2020-07-16 09:34:53 +02:00
Martin Diehl 190c9a1b0d Merge branch 'misc-improvements' into Marc-2019.1 2020-07-16 09:28:11 +02:00
Sharan Roongta 98d0da8e31 Merge branch 'development' into using-submodules 2020-07-16 00:13:41 +02:00
Vitesh f0fdcd0dee Merge branch 'misc-improvements' into 'development'
Misc improvements

See merge request damask/DAMASK!189
2020-07-15 19:15:29 +02:00
Sharan Roongta 50a7caa61a cleaning 2020-07-15 14:35:21 +02:00
Sharan Roongta 78eee9fe96 unnecessary debug output 2020-07-15 00:54:16 +02:00
Franz Roters 78c1b9c745 Marc 2019.1 is new standard version 2020-07-14 12:10:43 +02:00
Martin Diehl b16508dd6c clean namespace 2020-07-14 07:40:42 +02:00
Martin Diehl 133aa9111c small polishing 2020-07-14 07:18:32 +02:00
Martin Diehl 2b58b3df97 closer to thoroughly tested python code
but with extra safety measures to prevent invalid operations
2020-07-14 06:55:40 +02:00
Martin Diehl 9f79faf819 using tolerances as in python results in invalid operations 2020-07-13 22:48:08 +02:00
Martin Diehl 8de3b67c26 no silent crash 2020-07-13 21:13:53 +02:00
Martin Diehl fcaa319f56 polishing 2020-07-13 14:48:23 +02:00
Martin Diehl 696da9865b Merge branch 'development' into misc-improvements 2020-07-13 13:56:04 +02:00
Martin Diehl dbca47f113 better handling of corner cases
copy and paste from python code
2020-07-13 12:38:21 +02:00
Sharan Roongta 0067b44a0d wrong logic 2020-07-12 18:38:52 +02:00
Sharan Roongta 70fb68d224 cleaning 2020-07-12 16:44:26 +02:00
Sharan Roongta debe096a53 results placed where it belongs; cleaning 2020-07-12 15:22:40 +02:00
Sharan Roongta 5602abe690 generic interfaces makes sense 2020-07-12 13:27:28 +02:00
Sharan Roongta 3a5e3b36c1 better function name, crystallite should not know which physics is involved 2020-07-12 13:04:26 +02:00
Sharan Roongta 77567bd398 To circumvent Marc internal compiler error 2020-07-10 23:41:56 +02:00
Sharan Roongta 3563bce6cb better 2020-07-10 19:17:54 +02:00
Sharan Roongta 4145ac90d7 more cleaning 2020-07-10 18:19:07 +02:00
Sharan Roongta 80fb571fb4 common functions to be clubbed together 2020-07-10 17:10:23 +02:00
Sharan Roongta 957c51fb07 cleaner 2020-07-10 15:13:56 +02:00
Sharan Roongta fd7110ce45 probably a more readable structure 2020-07-10 14:59:07 +02:00
Sharan Roongta bc1d73c03b trying new structure for all constitutive modules 2020-07-09 01:49:48 +02:00
Sharan Roongta b5a10f2386 sources and kinematics modules under submodules 2020-07-09 01:01:08 +02:00
Martin Diehl defe0a8dd8 coordinates are stored in fixed format
width of numers is fixed, if negative numbers are given there is no
space
2020-07-08 10:21:13 +02:00
Sharan Roongta 48b42debe0 redundant 2020-07-03 20:55:05 +02:00
Martin Diehl 5688fc5698 need to do initialization first 2020-07-03 18:12:40 +02:00
Martin Diehl 432609ec14 cleaning 2020-07-03 16:45:11 +02:00
Martin Diehl 76f0c5fc5e Merge branch 'development' into YAML-compatible-debug 2020-07-03 16:19:38 +02:00
Philip Eisenlohr d4f97f8346 Merge branch 'misc-improvements' into 'development'
Misc improvements

See merge request damask/DAMASK!184
2020-07-02 21:52:47 +02:00
Sharan Roongta 5a423103a0 typo 2020-07-02 01:28:53 +02:00