Commit Graph

3462 Commits

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