Commit Graph

3418 Commits

Author SHA1 Message Date
Martin Diehl 80c8c9e51e fixing use for new Intel Fortran
visibility of use associated entities can now be limited
2020-11-28 07:23:55 +01:00
Martin Diehl 5bed0787ed replace log scaling with geometric regression scaling
more flexibility in time discretization via parameter 'r'.
Also, changed variable names to reflect names in loadcase.yaml
2020-11-25 18:56:03 +01:00
Martin Diehl 4bf802a28e fixed documentation 2020-11-18 21:51:37 +01:00
Martin Diehl 870c0f7aca removed aliases
required bump of DADF5 version
2020-11-18 14:53:11 +01:00
Sharan Roongta 2157bf50cd mech --> mechanics 2020-11-17 22:21:35 +01:00
Franz Roters 523a0979eb Merge branch 'mpi-single-process-read' into 'development'
MPI single process read of grid

See merge request damask/DAMASK!277
2020-11-17 17:00:09 +01:00
Sharan Roongta c16ad845bc Merge branch 'modernize-testing' into 'development'
Modernize testing

See merge request damask/DAMASK!280
2020-11-16 20:10:38 +01:00
Sharan Roongta c430b571fc Merge branch 'safe-mpi-nonblocking' into 'development'
check all errors, avoid intermediate wait

See merge request damask/DAMASK!282
2020-11-16 18:50:05 +01:00
Martin Diehl cf3a28952a fixed tests 2020-11-16 16:38:17 +01:00
Martin Diehl 0bd8a410ad check all errors, avoid intermediate wait 2020-11-16 09:22:55 +01:00
Martin Diehl b3955573f6 using new tests 2020-11-15 22:39:47 +01:00
Martin Diehl c9356fd447 error checking, making readable with damask.Result 2020-11-15 15:39:54 +01:00
Martin Diehl 5a28a5b4db correct handling of C strings
cleaning and improving the C code for system routines and the interface
to Fortran
Reporting PETSc version
2020-11-14 14:36:10 +01:00
Martin Diehl e419eea507 read vtr file only by process 1 2020-11-12 14:40:25 +01:00
Martin Diehl bb471cb923 it's a process, not a thread 2020-11-12 07:51:07 +01:00
Martin Diehl 9c75674b20 unused 2020-11-12 07:50:56 +01:00
Martin Diehl ff2eec133f underflow/denormal might appear for gfortran 2020-11-11 21:30:11 +01:00
Martin Diehl 3d7aceb99b avoid underflow/division by zero 2020-11-11 20:57:17 +01:00
Martin Diehl cd7ada0da9 use Fortran internals for error handling 2020-11-11 20:09:14 +01:00
Martin Diehl 3dd5eaf1c1 clean exit with stack trace 2020-11-11 14:06:21 +01:00
Martin Diehl 8e89452791 not needed 2020-11-11 13:59:37 +01:00
Martin Diehl 5531f892c3 z = 0 for invalid number of processes
e.g. using 24 processes for a 128x128x128 grid would need 21 processes
with z=6 and 1 process with z=2
2020-11-11 12:47:13 +01:00
Martin Diehl 429c226008 IO is not inherited when using ifort 19
this is intented, public modules should only bring their own functions
and variables into global scope
2020-11-11 12:19:39 +01:00
Martin Diehl b46a25a7d2 C capitalization 2020-11-11 11:47:23 +01:00
Martin Diehl 53110ccf35 use (also) PETSc error trapping 2020-11-11 11:46:12 +01:00
Martin Diehl 9c87142e6d Merge branch 'development' into hdf5-error-stop 2020-11-11 11:17:37 +01:00
Martin Diehl 018709bfcf error stop better suited for internal errors
error stop gives full stack trace, which is very helpful for debugging.
2020-11-11 10:19:47 +01:00
Martin Diehl 2923f639da not needed
inverse mapping is computed in python
2020-11-11 10:16:38 +01:00
Martin Diehl 8429a9d695 Merge remote-tracking branch 'origin/development' into modularize-mech 2020-11-11 07:04:23 +01:00
Martin Diehl 5926f84851 WIP: refactoring Orientation=Symmetry+Rotation, Lattice=subclass of Sym, and Crystal=Lattice+Rotation 2020-11-09 21:20:56 +01:00
Sharan Roongta 8007c47b48 Merge branch 'development' into modularize-mech 2020-11-08 15:43:30 +01:00
Martin Diehl 03a68248b5 polishing 2020-11-06 13:25:00 +01:00
Martin Diehl bbaeeb02da Merge remote-tracking branch 'origin/misc-improvements' into h5py3 2020-11-06 13:19:47 +01:00
Martin Diehl 10b8a04d89 no need for fixed-length string 2020-11-06 00:59:12 +01:00
Martin Diehl 9cd2c19a20 no need for fixed length 2020-11-06 00:50:27 +01:00
Martin Diehl e649fb195f update to use variable-length strings 2020-11-05 22:34:41 +01:00
Martin Diehl 2b6001222d black magic
compiles also with Intel (complained about non-existing interface
before).
Direct pointer crashes ..
2020-11-05 17:59:05 +01:00
Sharan Roongta 25e4b63969 polishing 2020-11-05 16:49:59 +01:00
Martin Diehl b8c97c5b7e change string type
normal fortran strings are fixed-length, spacepad. h5py (at least v3.x)
creates variable-length, nullterm
2020-11-05 15:36:13 +01:00
Sharan Roongta 921acb97c2 important to note 2020-11-05 00:23:43 +01:00
Sharan Roongta bbeb031da5 only hooke is implemented
one function call is enough for the moment.
Should complicate/(have switch cases) when other laws apart from hooke is implemented.
2020-11-04 13:01:13 +01:00
Sharan Roongta 79071512c8 missed out 2020-11-03 11:51:57 +01:00
Sharan Roongta 2b6e09ad81 WIP: compatible with new names 2020-11-03 00:56:40 +01:00
Sharan Roongta 7b761476e4 under mech dictionary 2020-11-03 00:48:16 +01:00
Sharan Roongta 523a44a964 move to different module 2020-11-02 21:39:33 +01:00
Sharan Roongta 9cf2a5ed19 Merge branch 'development' into consistent-naming 2020-10-31 18:02:06 +01:00
Franz Roters 98cb7be21a Merge branch 'development' into more_crystallite_cleaning 2020-10-30 16:42:19 +01:00
Sharan Roongta 146ca100e8 take care of restart files 2020-10-30 13:36:53 +01:00
Sharan Roongta ed1be8c21c consistent output names 2020-10-29 13:50:12 +01:00
Sharan Roongta 4b25097a9a Merge branch 'clean-material.yaml-parse' into development 2020-10-29 12:50:40 +01:00
Martin Diehl 568d1a020c consistent names for counting variables 2020-10-27 21:33:30 +01:00
Martin Diehl 839be90943 consistent naming
Nxxxs => the number of xxx
2020-10-27 21:27:26 +01:00
Franz Roters 0c51c3d8d4 still needed during initialization 2020-10-27 12:56:49 +01:00
Martin Diehl fd4cdf965b modularized 2020-10-24 18:00:17 +02:00
Martin Diehl 9119254210 materialpoint => homogenization
especially as prefix for global data (clear name spaces)
2020-10-24 17:26:42 +02:00
Martin Diehl e464f11412 polishing 2020-10-24 17:26:24 +02:00
Martin Diehl d765a17f0a use function to parse material.yaml 2020-10-24 16:30:48 +02:00
Martin Diehl a1ab526456 avoid global variables 2020-10-24 16:01:56 +02:00
Martin Diehl 5e4815cddf not needed as public variable 2020-10-24 14:48:07 +02:00
Martin Diehl 5f2512e4d5 prepare for more sensible separation of functionality 2020-10-24 14:24:36 +02:00
Martin Diehl 68017e49b2 consistent name 2020-10-24 12:45:21 +02:00
Sharan Roongta 3dbc07a26b better error description 2020-10-23 18:43:52 +02:00
Franz Roters e675cec632 improved indentation 2020-10-23 17:36:41 +02:00
Franz Roters a6f6166fa9 is set in CPFEM (doing only single IPs in commercial FEM) 2020-10-23 16:11:33 +02:00
Franz Roters 209367df0e save one inversion 2020-10-23 15:41:51 +02:00
Franz Roters a4fe715319 removed unnecessary variables 2020-10-23 15:33:01 +02:00
Martin Diehl 1c13737935 better readable 2020-10-21 21:12:55 +02:00
Martin Diehl 96243a4ac8 simplifying 2020-10-21 17:46:29 +02:00
Sharan Roongta f25f7ad01e [skip sc] consistent naming convention 2020-10-16 16:17:06 +02:00
Sharan Roongta 3f3a88fdda capitalization 2020-10-15 23:32:38 +02:00
Sharan Roongta 6c79093a75 [skip sc] Fdot --> dotF 2020-10-15 23:22:37 +02:00
Sharan Roongta 6455627af9 accessed by correct dict now; tests improved 2020-10-15 18:09:45 +02:00
Sharan Roongta 1c911f6213 simplified 2020-10-14 17:55:57 +02:00
Sharan Roongta 35fe935088 not used 2020-10-14 13:53:31 +02:00
Sharan Roongta e9ecda7d2e Merge branch 'development' into loadcase.yaml 2020-10-14 13:28:06 +02:00
Sharan Roongta f291166a03 initialisation not needed 2020-10-14 10:53:37 +02:00
Sharan Roongta 1426a35602 loadcase in yaml 2020-10-14 10:31:34 +02:00
Martin Diehl bac7ace413 Merge remote-tracking branch 'origin/general-N_constituents' into vtr-only 2020-10-13 17:39:19 +02:00
Martin Diehl 5267aff1a2 natural Fortran order 2020-10-12 05:29:48 +02:00
Martin Diehl 72ba4645cb Merge remote-tracking branch 'origin/development' into general-N_constituents 2020-10-12 05:27:11 +02:00
Martin Diehl e44a1dd2ea Merge branch 'non-nonlocalConvergenceCheck' into 'development'
nonlocal convergence check not needed

See merge request damask/DAMASK!249
2020-10-10 10:04:14 +02:00
Martin Diehl 2db5c9bade geom -> vtr (zero-based) 2020-10-09 22:19:53 +02:00
Sharan Roongta 3e4330d10a partition, not partion 2020-10-07 22:15:13 +02:00
Martin Diehl 16e47956a6 Merge branch 'YAML-improvements' into development 2020-10-07 18:28:32 +02:00
Martin Diehl 9550b0d8a2 mandatory N_constituents 2020-10-07 17:44:54 +02:00
Martin Diehl 2a23b5eaa9 simplified 2020-10-07 09:37:48 +02:00
Martin Diehl d474e3402b not needed for explicit calculation of nonlocal density flow 2020-10-07 09:26:46 +02:00
Martin Diehl 28380c0985 N_constituents is a general homogenization poperty 2020-10-06 23:25:46 +02:00
Sharan Roongta 08ab4a0b88 better names 2020-10-06 19:16:56 +02:00
Martin Diehl 1681889e0b PETSc 3.14 is out 2020-10-06 07:12:04 +02:00
Sharan Roongta 2bd4e79a37 Merge branch 'development' into YAML-improvements 2020-10-05 22:37:47 +02:00
Sharan Roongta 6dff0396b6 [skip sc] more testing 2020-10-05 19:17:21 +02:00
Sharan Roongta 46973508a2 allow multi line flow yaml 2020-10-05 18:53:05 +02:00
Martin Diehl cdf3c8cdee Merge remote-tracking branch 'origin/development' into no-crystallite-dPdF 2020-10-03 08:34:02 +02:00
Franz Roters 365cf9a222 Merge branch 'simplify-crystallite' into 'development'
Simplify crystallite

See merge request damask/DAMASK!242
2020-10-02 14:14:40 +02:00
Martin Diehl ab34109ef8 Merge remote-tracking branch 'origin/name-change' into development 2020-10-02 12:53:57 +02:00
Sharan Roongta 42d3ac045b Merge branch 'stress-ramp-loadcase' into development 2020-10-02 11:53:49 +02:00
Sharan Roongta 26acdaf9ec missed out 2020-10-01 16:07:50 +02:00
Sharan Roongta 33b0181286 orientation --> O 2020-10-01 14:01:50 +02:00
Sharan Roongta 776901cb81 microstructure --> material 2020-10-01 12:43:05 +02:00
Sharan Roongta 85b96209e3 use existing error description 2020-10-01 01:51:31 +02:00
Sharan Roongta 898306f82e sanity check for key mismatch 2020-09-30 23:33:09 +02:00
Martin Diehl a3674d9318 Merge remote-tracking branch 'origin/YAML-improvements' into development 2020-09-30 20:55:09 +02:00
Martin Diehl 57174d0aba do not store dPdF at the crystallite level 2020-09-30 11:23:49 +02:00
Martin Diehl 7f8613f6ad always update dPdF (was the default anyways) 2020-09-30 10:24:24 +02:00
Martin Diehl bd5d557fbb untangling the spaghetti
subLp and subLi are local variables
2020-09-30 06:14:24 +02:00
Sharan Roongta 15ef6c8ceb more fortran like 2020-09-30 01:50:10 +02:00
Sharan Roongta 385cda9224 remove unnecessary variables 2020-09-29 20:13:02 +02:00
Sharan Roongta 45b906906d test before reading config files 2020-09-29 20:07:33 +02:00
Sharan Roongta a61bf3bb26 file endings, file header can be added, take care of EOF 2020-09-29 19:55:25 +02:00
Franz Roters 63f2419e92 Merge branch 'crystallite-private-data' into 'development'
Crystallite private data

See merge request damask/DAMASK!241
2020-09-29 16:32:45 +02:00
Martin Diehl d0df748fc1 cleaning 2020-09-29 13:46:12 +02:00
Martin Diehl 587d5ee445 no need for two loops 2020-09-29 13:13:53 +02:00
Martin Diehl f1e96489cc better readable
somehow on the cost of the nonlocal performance
2020-09-29 12:56:12 +02:00
Martin Diehl c46b4d90a6 modularizing 2020-09-29 12:48:29 +02:00
Martin Diehl 3ad63cb966 don't open closed units (MPI) 2020-09-29 09:22:15 +02:00
Martin Diehl b5eaf2cb50 sorted 2020-09-29 09:03:58 +02:00
Martin Diehl c254472346 restrict write access 2020-09-28 19:26:46 +02:00
Martin Diehl d805887ef7 smaller, readable functions 2020-09-28 17:56:48 +02:00
Martin Diehl 20b393ac06 Merge branch 'development' into stress-ramp-loadcase 2020-09-28 09:36:38 +02:00
Philip Eisenlohr c982658b11 [skip ci] Avoid "error: type name is not allowed" 2020-09-27 22:42:40 +02:00
Philip Eisenlohr 7786a9892e [skip ci] Output 'worldsize' only after it has been determined... 2020-09-27 22:28:22 +02:00
Martin Diehl 002fe04d35 test for stress ramp 2020-09-26 12:09:45 +02:00
Martin Diehl 32b81770d9 shorter 2020-09-25 21:35:47 +02:00
Martin Diehl 8396af5aec not needed 2020-09-25 15:19:31 +02:00
Martin Diehl 421d4b8f37 forgotten renames 2020-09-25 15:12:56 +02:00
Martin Diehl 8081ed3693 Merge remote-tracking branch 'origin/development' into stress-ramp-loadcase 2020-09-25 15:05:45 +02:00
Sharan Roongta 08f5851c82 take care of empty lines in this slightly new setup 2020-09-25 10:59:03 +02:00
Martin Diehl 455e221a92 Merge branch 'variableName=ParameterName' into development 2020-09-25 10:53:01 +02:00
Sharan Roongta 21ff587e17 better logic 2020-09-25 04:52:03 +02:00
Sharan Roongta 0de54404ee skip empty lines; yaml file optional start/stop indicator can be added 2020-09-25 04:07:40 +02:00
Philip Eisenlohr 792e5045b8 fixed grid size assignments for MPI layers 2020-09-24 19:05:10 +02:00
Martin Diehl 79d672f4a7 cleaning 2020-09-24 17:04:06 +02:00
Martin Diehl f8816a6e0c Merge remote-tracking branch 'origin/development' into stress-ramp-loadcase 2020-09-24 16:57:07 +02:00
Sharan Roongta 40d28456af Merge branch 'development' into variableName=ParameterName 2020-09-24 13:13:19 +02:00
Martin Diehl 0f64954300 whitespace adjustment 2020-09-24 09:36:19 +02:00
Martin Diehl b995f34834 Merge branch 'development' into geom-fully-out-of-place 2020-09-23 22:50:20 +02:00
Martin Diehl fa413efcbb microstructure -> material 2020-09-23 21:25:14 +02:00
Martin Diehl cfeec53178 dataset is called 'material', not 'materialpoint'
avoid infinite loop in case it is not found
2020-09-23 21:10:39 +02:00
Sharan Roongta 50b43a7878 Merge branch 'development' into YAML-improvements 2020-09-23 16:03:15 +02:00
Sharan Roongta cc019f9af4 [skip ci] burgers ---> Burgers 2020-09-23 02:06:03 +02:00
Sharan Roongta c72240323e applied to lattice variables 2020-09-23 01:50:13 +02:00
Sharan Roongta fb908a5f56 homogenization modules made consistent 2020-09-23 01:33:19 +02:00
Sharan Roongta 13cbd1c42e all kinematics modules made consistent 2020-09-23 01:16:12 +02:00
Sharan Roongta 190b90d3d4 all source mechanisms covered 2020-09-23 01:08:13 +02:00
Sharan Roongta de3e13df88 improved parameter names 2020-09-23 00:55:19 +02:00
Sharan Roongta c8dcd4b4ae 'decide' function should handle everything
bug fixed in case of only flow yaml
2020-09-22 23:51:47 +02:00
Martin Diehl 881167a37c [skip ci] small whitespace adjustments 2020-09-22 19:26:39 +02:00
Sharan Roongta 0eef0cad0c all plastic laws covered 2020-09-22 18:11:09 +02:00
Sharan Roongta 711506df37 extended to phenopower law 2020-09-22 16:04:14 +02:00
Sharan Roongta ac54bd7eb5 extended to kinehardening 2020-09-22 15:26:34 +02:00
Sharan Roongta 8f3bb82b27 continue with parameter name change
Names with conflicts not changed yet
2020-09-22 15:09:16 +02:00
Sharan Roongta 87ae2447b9 variable name = parameter name 2020-09-22 14:35:05 +02:00
Martin Diehl 41fbc58c1b standard conforming name 2020-09-22 13:09:12 +02:00
Martin Diehl 53ce4e07d2 forgotten renames in subfolders 2020-09-22 13:02:33 +02:00
Martin Diehl f26c3ca1ea Merge branch 'development' into Fortran-simplifications 2020-09-22 12:45:18 +02:00
Martin Diehl 63f9078f04 don' hardcode output unit
replaced remaining write(6,..), flush(6) with write(OUTPUT_UNIT,...),
flush(OUTPUT_UNIT)
2020-09-22 12:15:36 +02:00
Martin Diehl 9ed9278183 polishing 2020-09-20 19:46:33 +02:00
Martin Diehl 329cc1c953 tighter tolerance for stress 2020-09-20 17:36:11 +02:00
Martin Diehl c4d0ac71a9 silences GNU10 compilation warning
only for 'DEFENSIVE'. Does not cause any harm
2020-09-20 17:15:39 +02:00
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