Commit Graph

3577 Commits

Author SHA1 Message Date
Martin Diehl e8b3e0f3ee fail as early as possible 2021-01-04 10:01:24 +01:00
Martin Diehl 0f28d8048b KISS 2021-01-02 17:57:11 +01:00
Martin Diehl a2d0a9e511 WIP: separating states 2020-12-31 10:39:30 +01:00
Martin Diehl 228398e787 config follows structure 2020-12-31 09:10:59 +01:00
Martin Diehl ebc4f671c8 names follow structure 2020-12-31 08:29:21 +01:00
Martin Diehl 92ec10b251 consistent names 2020-12-31 07:46:26 +01:00
Martin Diehl a1facadf3f needed for MSC.Marc 2020-12-30 18:08:19 +01:00
Martin Diehl f9f56a1755 documenting 2020-12-30 15:27:36 +01:00
Martin Diehl 8c6d759b55 consistent naming 2020-12-30 12:57:14 +01:00
Martin Diehl bc12ac44c3 basic functionality for thermal homogenization 2020-12-30 12:34:00 +01:00
Martin Diehl 0dac5f84ef dummy data layout 2020-12-30 12:00:47 +01:00
Martin Diehl dd23bec9aa avoid global variables 2020-12-30 11:03:13 +01:00
Martin Diehl 9d09721689 keep variables local 2020-12-30 10:02:09 +01:00
Martin Diehl 9ce932a082 distributing tasks 2020-12-30 09:24:47 +01:00
Martin Diehl 6a6256dd34 separate functionality 2020-12-29 23:11:04 +01:00
Martin Diehl 39287ae61f distribute responsibilities 2020-12-29 19:17:06 +01:00
Martin Diehl 8572ec8368 preparing encapsulation 2020-12-29 18:45:11 +01:00
Martin Diehl e34937a0d2 avoiding public variables 2020-12-29 18:27:24 +01:00
Martin Diehl 9e18e1d10a need to be initialized 2020-12-29 15:44:45 +01:00
Martin Diehl 6ec120d004 simplified
- no extra state
- no extra argument

at the cost of less output
2020-12-29 14:54:58 +01:00
Martin Diehl a5cdc8433f better readable 2020-12-29 13:01:33 +01:00
Martin Diehl 120118695d encapsulate data 2020-12-29 12:38:03 +01:00
Martin Diehl e19ced830b S and related quantities in new data layout 2020-12-29 09:40:05 +01:00
Martin Diehl 0d0a81a016 new structure 2020-12-29 08:08:14 +01:00
Martin Diehl 22575b15ff new (ph,me)-based data layout 2020-12-29 07:34:25 +01:00
Martin Diehl 7992ef474e preparing for non-global variables 2020-12-29 07:20:37 +01:00
Martin Diehl 1b85dbea80 polishing 2020-12-29 06:14:39 +01:00
Martin Diehl 6bba7a509a polishing 2020-12-29 00:51:08 +01:00
Martin Diehl 5f569b1412 explicit arguments instead of global variables 2020-12-29 00:39:23 +01:00
Martin Diehl f560b33db0 avoid global variables 2020-12-29 00:13:49 +01:00
Martin Diehl f08fbbaaa2 consistent names 2020-12-28 22:35:07 +01:00
Martin Diehl b41dc7db28 simplified 2020-12-28 22:17:28 +01:00
Martin Diehl f2402f7ad6 consistent names 2020-12-28 21:41:48 +01:00
Martin Diehl bb9fa228ab 'present' propagates to called function 2020-12-28 21:34:34 +01:00
Martin Diehl 6207432f7a modern Fortran 2020-12-28 21:34:14 +01:00
Martin Diehl 1ac5465d65 using central functionality 2020-12-28 11:03:29 +01:00
Martin Diehl d59cb81ca8 too early (depends on IP) 2020-12-28 10:56:55 +01:00
Martin Diehl 7d76752281 intended hierarchy 2020-12-28 10:01:04 +01:00
Martin Diehl 190df4830c simplified 2020-12-28 09:36:02 +01:00
Martin Diehl e6f27e91b1 consistent names 2020-12-28 09:18:20 +01:00
Martin Diehl 830e2a3a99 shortened 2020-12-28 09:13:56 +01:00
Martin Diehl 820aa25e12 consistent names 2020-12-28 09:07:35 +01:00
Martin Diehl ba9ad3a8c2 only needed in one loop 2020-12-27 22:56:21 +01:00
Martin Diehl 822fafc9b6 subF and partitionedF should have the same value at the end of a cycle 2020-12-27 22:49:08 +01:00
Martin Diehl 6f4aa0ebd9 consistent names 2020-12-27 22:22:08 +01:00
Martin Diehl f861120f91 separation of responsibility 2020-12-27 21:45:31 +01:00
Martin Diehl 4a839053eb not used
was only used for reporting (see v.2.0.0)
2020-12-27 21:26:35 +01:00
Martin Diehl a13a6624fe clearer logic 2020-12-27 21:20:54 +01:00
Martin Diehl 6efc61c479 easier to understand 2020-12-27 20:07:36 +01:00
Martin Diehl 2eed6fdfdb not needed as global variable 2020-12-27 16:16:42 +01:00
Martin Diehl 609d69a3e7 polishing 2020-12-27 13:36:02 +01:00
Martin Diehl e8ea815d92 simplified 2020-12-27 11:48:02 +01:00
Martin Diehl cee04c9b5f not needed 2020-12-27 10:22:03 +01:00
Martin Diehl ddb59b6ad0 simplified 2020-12-27 10:19:39 +01:00
Martin Diehl 615909a1bc consistent naming 2020-12-27 09:57:56 +01:00
Martin Diehl 5f5d9ed908 wrong time increment 2020-12-27 08:43:57 +01:00
Martin Diehl edef98fd06 proper indentation 2020-12-24 12:44:26 +01:00
Martin Diehl 4bd7aa9abb typo 2020-12-24 11:54:09 +01:00
Martin Diehl 3e0361227c not needed as global variable 2020-12-24 11:20:34 +01:00
Martin Diehl 45d318c7b4 better use explicit arguments 2020-12-24 10:36:48 +01:00
Martin Diehl acc998d242 should become mech only 2020-12-24 10:22:41 +01:00
Martin Diehl 935b531d27 cleaning+renaming 2020-12-24 08:53:02 +01:00
Martin Diehl 36affc93bf mech is responsible for stiffness 2020-12-23 23:09:31 +01:00
Martin Diehl 895cad6506 only needed per point 2020-12-23 17:23:29 +01:00
Martin Diehl ea25b22f13 standard names 2020-12-23 15:03:03 +01:00
Martin Diehl 18458d34e9 no global variables 2020-12-23 14:57:53 +01:00
Martin Diehl 12b1c7e641 one loop is enough 2020-12-23 14:37:12 +01:00
Martin Diehl be4616368b new names 2020-12-23 14:24:44 +01:00
Martin Diehl 8ac880c0ad don't clutter with statements that are never used 2020-12-23 14:10:26 +01:00
Martin Diehl 972e041f59 modernizing 2020-12-23 14:03:15 +01:00
Martin Diehl a91a3975f6 not needed as global variable 2020-12-23 13:31:30 +01:00
Martin Diehl 7d6c6159a9 consisten names 2020-12-23 13:22:11 +01:00
Martin Diehl b12f882ad4 avoid global variables 2020-12-23 12:25:56 +01:00
Martin Diehl fef525aee1 proper indentation 2020-12-23 12:15:17 +01:00
Martin Diehl 026ac07c9e better use one loop 2020-12-23 11:37:00 +01:00
Martin Diehl 73523c8f62 not a global variable 2020-12-23 11:24:02 +01:00
Martin Diehl 44d8210f2d not needed anymore 2020-12-23 11:07:57 +01:00
Martin Diehl a9b674b9e9 no need for separate loop 2020-12-23 10:11:21 +01:00
Martin Diehl 2dcff67f69 standard name 2020-12-23 10:11:21 +01:00
Martin Diehl b5ec6048a1 only needed in constitutive 2020-12-23 10:11:21 +01:00
Martin Diehl 53a7622f25 consistent names 2020-12-23 10:11:21 +01:00
Martin Diehl 2947e7c444 polishing 2020-12-23 10:11:21 +01:00
Franz Roters 7ee52afda2 [skip ci] corrected comment on meaning of F 2020-12-23 09:59:47 +01:00
Martin Diehl fe6a82ecc1 unifying names 2020-12-23 07:40:51 +01:00
Martin Diehl 8cf1035cf3 unifying names 2020-12-23 07:07:18 +01:00
Martin Diehl 82eb532193 separating functionality 2020-12-23 06:58:54 +01:00
Martin Diehl 916657e2f5 separating 2020-12-22 23:27:56 +01:00
Martin Diehl 6bb8d894ca need to stay compatible with tests 2020-12-22 22:22:43 +01:00
Martin Diehl 3719b9a52c storing Lp and related fields in new structure 2020-12-22 22:21:11 +01:00
Martin Diehl 79a8a40e6d Fp is directly accessible 2020-12-22 20:45:27 +01:00
Martin Diehl f28fe0812e sorting 2020-12-22 20:07:01 +01:00
Martin Diehl b452cce2f6 only needed for mechanics 2020-12-22 19:13:30 +01:00
Martin Diehl 11d7f034e4 code follows modular structure 2020-12-22 19:02:54 +01:00
Martin Diehl 830a61a9ff systematic names 2020-12-22 11:38:29 +01:00
Martin Diehl 81602dd0e0 for internal use only 2020-12-22 11:15:37 +01:00
Martin Diehl 2627ed1a82 cleaning 2020-12-22 10:44:43 +01:00
Martin Diehl fa3d7b8dc7 new name 2020-12-22 10:23:46 +01:00
Martin Diehl 0e0814dbc3 WIP: mechanics takes care of mechanics variables 2020-12-22 10:03:19 +01:00
Martin Diehl 831e0ce1b9 sorting responsibilities 2020-12-22 09:22:55 +01:00
Martin Diehl da558b31c1 clear responsibilities 2020-12-22 08:45:01 +01:00
Martin Diehl 2434712d7e better matching name 2020-12-21 23:33:32 +01:00
Martin Diehl 7075940102 Merge branch 'merge-crystallite-constitutive' into clean-constitutive 2020-12-21 14:56:58 +01:00
Martin Diehl ceeb300061 fixes for ifort 2020-12-21 14:55:50 +01:00
Martin Diehl b7445b007d variables are now part of the same module 2020-12-21 14:01:40 +01:00
Martin Diehl 07ccaf5fe7 some ideas ... 2020-12-21 12:34:20 +01:00
Martin Diehl 5fce37fb3e only relevant for mechanics 2020-12-21 10:57:18 +01:00
Martin Diehl 2ceb000002 using new structure 2020-12-21 10:02:03 +01:00
Martin Diehl 43cbe622d0 phase depends on constituent, not integration point 2020-12-21 09:48:20 +01:00
Martin Diehl 07873b2409 cleaning 2020-12-21 08:05:38 +01:00
Martin Diehl 58f800cf30 introduce new structure 2020-12-20 22:19:21 +01:00
Martin Diehl d0b267b240 there are module functions 2020-12-20 18:24:35 +01:00
Martin Diehl 0f8396c9d3 cleaning 2020-12-20 18:22:04 +01:00
Martin Diehl d92a732dcc mech/plastic only 2020-12-20 17:58:31 +01:00
Martin Diehl 55d14fbfa8 separating 2020-12-20 16:32:33 +01:00
Martin Diehl 93b9677ec8 not needed anymore 2020-12-20 11:24:29 +01:00
Martin Diehl dac6540a46 crystallite should become part of constitutive_mech 2020-12-20 10:48:13 +01:00
Martin Diehl 613fa5f9b2 cleaning interface 2020-12-20 10:30:41 +01:00
Martin Diehl 9425184b52 using new functions 2020-12-20 09:31:02 +01:00
Martin Diehl 9f2c150944 separate integration for source and plastic state 2020-12-19 20:31:15 +01:00
Martin Diehl d83f72dcb8 separate collection of plastic and source state 2020-12-19 20:14:15 +01:00
Martin Diehl 0dc388ac5c limit multiphysics to FPI integration 2020-12-19 17:54:54 +01:00
Martin Diehl eca28556ae not tested
implement again in new structure if needed
2020-12-19 17:43:37 +01:00
Martin Diehl 8dbc3d2d47 no special (untested) cases any more 2020-12-19 17:25:57 +01:00
Martin Diehl 0a3d43e0fc only one process gets the signal: use OR, not AND 2020-12-17 15:17:20 +01:00
Martin Diehl d83e8dac59 need to share variable before if 2020-12-17 13:20:18 +01:00
Vitesh Shah da1b006315 MPI communication for SIGUSRXXX 2020-12-17 12:47:33 +01:00
Martin Diehl 3884549e19 store field variables as 1D array
first step of simplifying layout:
1) Solver translates from ip,el tuple (FEM) or cells(1),cells(2),cells(3) triple to list.
2) DAMASK iterates over all points
3) homogenization knows mapping (point,constituent) -> (instance,member)
2020-12-16 21:56:02 +01:00
Martin Diehl 5d9c931008 code follows structure 2020-12-16 11:27:42 +01:00
Martin Diehl d7889aff12 extra function not (yet) needed 2020-12-16 09:13:13 +01:00
Martin Diehl 710c217d8a no extra mapping for damage 2020-12-15 19:55:55 +01:00
Martin Diehl f8e3cfe91d not needed (was stored as restart data) 2020-12-15 19:41:47 +01:00
Martin Diehl f8756ad95a simplifying
no extral handling for homogeneous temperature (the memory that was
saved was consumed by the extra mapping)
2020-12-15 19:05:01 +01:00
Martin Diehl d7f035235c do initialization later 2020-12-15 14:01:39 +01:00
Martin Diehl 872ceac855 not needed 2020-12-15 11:26:31 +01:00
Martin Diehl afbcb82502 Merge remote-tracking branch 'origin/development' into misc-improvements 2020-12-15 10:32:59 +01:00
Martin Diehl 2dd520b4a2 P_aim should be independent from P_av
P_av is not defined after restart or cutback. Restart with change of
load case is probably still an issue
2020-12-15 08:06:50 +01:00
Martin Diehl 8fbadef524 print instead of write 2020-12-14 22:37:14 +01:00
Vitesh Shah 768d139768 reset the signal terms to false after task is done 2020-12-14 09:34:35 +01:00
Vitesh Shah 40bd5db361 signals enabling writing results,restart and termination 2020-12-14 09:17:15 +01:00
Vitesh Shah 6a58efeffe Enabled sigterm handling 2020-12-14 09:14:03 +01:00
Martin Diehl 104fa167bd missing rename: constituent -> phase
meaningfull order
2020-12-13 19:30:34 +01:00
Martin Diehl 189597dbff drop support for old PETSc versions 2020-12-13 08:55:07 +01:00
Martin Diehl b6d00e2fb8 limit access to public variables to one function
not sure if the 'volatile' attribute is needed
2020-12-13 08:48:04 +01:00
Martin Diehl a881e6e57a Merge remote-tracking branch 'origin/development' into misc-improvements 2020-12-10 23:41:59 +01:00
Martin Diehl 3ad741dbeb only used in one function 2020-12-10 00:31:58 +01:00
Martin Diehl 97ee7e6ee5 not needed anymore 2020-12-07 17:26:50 +01:00
Sharan Roongta 21faee4eaa '0' based indexing 2020-12-07 13:03:18 +01:00
Martin Diehl 429b84004d more filters
- shuffle: significanlty better compression
- Fletcher32: checksum to detect errors

computational overhead is very small
2020-12-06 19:57:00 +01:00
Martin Diehl bc4361c2ae use variable string length
for array, padding is needed to get same length
2020-12-06 13:32:20 +01:00
Martin Diehl 52e3fb50bc compress.
Datasets are chunked along first timension. Chunk size (1MB for real) is
probably not optimal
2020-12-06 11:44:52 +01:00
Martin Diehl 000de75617 write orientation as plain array, not derived type 2020-12-06 08:36:16 +01:00
Sharan Roongta f563313ce9 PETSc provides subroutine to read physical tags 2020-12-06 00:10:04 +01:00
Martin Diehl 78a246b44a avoid constant reallocation, it is slow for large vtr files 2020-12-05 12:46:48 +01:00
Martin Diehl 42eb802126 not needed anymore 2020-12-05 11:29:23 +01:00
Sharan Roongta 665dd3020d new gmsh version 2020-12-04 03:30:39 +01:00
Martin Diehl ac0a20696c rename: grid -> cells 2020-12-03 22:16:34 +01:00
Martin Diehl 85d161f039 missing rename: bcc -> cI
also, no CamelCase in disloTungsten + a few renames of variable names
for more consistency
2020-11-29 12:57:51 +01:00
Martin Diehl c712332e87 using consistent names for Bravais lattice in Fortran and Python 2020-11-28 22:38:12 +01:00
Martin Diehl b7ae2c72f5 allow to parse extra options to PETSc in case of debugging 2020-11-28 11:47:20 +01:00
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