Commit Graph

2389 Commits

Author SHA1 Message Date
Martin Diehl d93fb12e8c remove extra output
current implementation was not very general, no separation of different
dislocation types.
if output is needed, re-implemenation is straight forward
2019-11-30 14:36:54 +01:00
Martin Diehl 8f77843b0f improved naming
- clearer variable names
- no '-' in attributes
- single source of truth
2019-11-30 09:01:37 +01:00
Martin Diehl dc3fc8f70c do not clutter with leading zeros 2019-11-29 17:00:48 +01:00
Martin Diehl 530f2d3c08 Merge branch 'no-crystallite' into almost-no-postResults 2019-11-25 21:51:15 +01:00
Martin Diehl 67c8d3899d crystallite output fully removed 2019-11-25 08:44:44 +01:00
Martin Diehl 127a29ab1a cleaning 2019-11-24 13:42:19 +01:00
Martin Diehl 97474e05a8 not needed anymore 2019-11-24 11:01:04 +01:00
Martin Diehl e20477099e no crystallite output 2019-11-24 09:46:46 +01:00
Martin Diehl 50b48b8bf7 IP neighbourhood deprecated
trivial for grid and, hence, not written out.
Test for marc/abaqus/mesh would make more sense
2019-11-24 07:54:34 +01:00
Martin Diehl a6a6519678 more local data handling 2019-11-24 07:44:17 +01:00
Martin Diehl bb73a08cf4 better encapsulation
for results operations, do not rely directly on HDF5 module
2019-11-24 07:27:05 +01:00
Martin Diehl 1c10459a5a also use fast operation order 2019-10-30 21:09:17 +01:00
Martin Diehl ffb112b0d8 Merge branch 'development' into DADF5-improvements 2019-10-30 17:16:54 +01:00
Martin Diehl 368d4debda calculate average nodal position directly
no need to average and have second memory access
2019-10-30 14:49:08 +01:00
Martin Diehl 40507846c9 cell displacement are between nodes which start at (0,0,0) 2019-10-30 14:47:42 +01:00
Martin Diehl 1d2d7d1ea3 remove public variables
they make code unreadable and unmaintainable
2019-10-29 23:24:12 +01:00
Martin Diehl 0c6b7e1112 not nice, but working ... 2019-10-29 23:15:02 +01:00
Martin Diehl 402e681cf5 initialization of arrays for fourier transform more reasonable
- padding entries in real data array need to be zero
- all values of the fourier data arrays are explicitly set
2019-10-29 16:18:58 +01:00
Martin Diehl 1ae33cf215 avoid one loop and use filtered frequencies 2019-10-29 09:15:35 +01:00
Martin Diehl f451d19c1e forall is obsolete
some calculation simplified
2019-10-28 21:27:57 +01:00
Martin Diehl c47f516769 do not correct fluctuations 2019-10-28 21:16:43 +01:00
Martin Diehl ed8834e371 maybe we can do some guessing for CPFEM .. 2019-10-28 13:38:30 +01:00
Martin Diehl d1f719d3cf separation of "age" and "forward" not useful 2019-10-28 13:36:36 +01:00
Martin Diehl 8de6fcfc24 unifying names 2019-10-28 13:29:32 +01:00
Martin Diehl ab4a98fb53 make use of HDF5 and structure data 2019-10-28 13:17:05 +01:00
Martin Diehl 10f2c53256 clearly distiguish
- DAMASK as a materialpoint model (CPFEM, not fitting name)
- solver
2019-10-25 08:30:12 +02:00
Martin Diehl 07d8379313 further untangling 2019-10-25 07:55:23 +02:00
Martin Diehl cf8b16c066 better have one function per task
but separating ageing and forward for the solver is not trivial due to
guessing
2019-10-25 07:31:09 +02:00
Martin Diehl eb4cad17b5 avoid public variables 2019-10-25 00:53:48 +02:00
Martin Diehl 378729f5c4 clearer structure 2019-10-25 00:42:59 +02:00
Martin Diehl 9db5cbb667 trying to get rid of a global "restartWrite" variable 2019-10-24 22:50:30 +02:00
Martin Diehl 3d44e7598e works only for MSC.Marc 2019-10-24 13:57:14 +02:00
Martin Diehl 0bc4326618 better have one function per task 2019-10-24 13:46:36 +02:00
Martin Diehl 7c0bb2fdf8 consistent description 2019-10-24 13:37:40 +02:00
Martin Diehl 71def397d5 no need to age before writing restart data 2019-10-24 13:14:40 +02:00
Martin Diehl 176f6028cd CPFE2 writes current variables (like grid solvers) 2019-10-24 13:06:42 +02:00
Martin Diehl c1cf64bf00 was not used/tested 2019-10-24 12:15:22 +02:00
Martin Diehl c0c0831c92 multiple keyword are more confusing then helpful 2019-10-24 06:37:28 +02:00
Martin Diehl 50769b52a5 don't continue if calculation did not converge 2019-10-24 06:32:46 +02:00
Martin Diehl 0483fc7b3f small functions with one task are better 2019-10-24 06:16:42 +02:00
Martin Diehl 534073358e arguments are better than public variables 2019-10-23 23:06:47 +02:00
Martin Diehl 67228b46a6 modularize 2019-10-23 22:50:01 +02:00
Martin Diehl 52190382ac cleaning 2019-10-23 22:42:46 +02:00
Martin Diehl dfe65e406d restart for commercial FE solvers untested
better no code than unreliable code. If functionality is needed,
implement it without the use of publicly writeable variables
2019-10-23 22:13:31 +02:00
Martin Diehl 8a4a5a8bef Merge remote-tracking branch 'origin/development' into age-separately-2 2019-10-23 22:05:30 +02:00
Martin Diehl e1d820bff1 does not support restart 2019-10-23 22:04:50 +02:00
Martin Diehl 60a19c020d cleaning 2019-10-23 21:17:56 +02:00
Martin Diehl ac0149e55e not needed (is initialized to 0) 2019-10-21 11:48:35 +02:00
Martin Diehl 0b4605361b plotv only needed for postResults 2019-10-20 19:23:50 +02:00
Martin Diehl 872c85112f bugfix, Lp not available anymore for crystallite 2019-10-20 14:02:12 +02:00
Martin Diehl b96bd71b09 postResults not needed anymore 2019-10-20 13:24:47 +02:00
Martin Diehl f93336b072 postResults for isotropic not needed anymore 2019-10-20 13:21:51 +02:00
Martin Diehl 11993a3ad1 phasing out crystallite output
some outputs are still needed for a few remaining tests.
2019-10-20 12:03:08 +02:00
Martin Diehl fe94718bcd avoid accessing null-pointer 2019-10-20 10:32:14 +02:00
Martin Diehl 65eb4e364f phasing out postResults 2019-10-19 23:14:17 +02:00
Martin Diehl 603973e963 correct output for multipe integration points 2019-10-19 19:55:00 +02:00
Martin Diehl 3de605d782 better name 2019-10-19 16:06:01 +02:00
Martin Diehl 1253c6abf1 Merge remote-tracking branch 'origin/development' into labeled-systems 2019-10-18 19:31:08 +02:00
Sharan Roongta 2c0264191e typo! 2019-10-18 17:13:19 +02:00
Martin Diehl de912c22b4 Merge branch 'development' into HDF5-spectral-displacements 2019-10-18 12:54:12 +02:00
Franz Roters fea6c268a8 Merge branch 'nonlocal-again-with-Marc' into 'development'
Nonlocal again with marc

See merge request damask/DAMASK!99
2019-10-18 11:30:15 +02:00
Franz Roters 7ddb724861 [skip ci] corrected wrongly copied comment 2019-10-18 11:27:37 +02:00
Sharan Roongta cebbfc906d Merge branch 'hex-reorder-2ndtry' into development 2019-10-17 14:58:43 +02:00
Martin Diehl b9027e3257 checking size of unallocated array does not work 2019-10-17 08:40:05 +02:00
Martin Diehl 88df7f2957 store cell normal directions 2019-10-17 07:48:57 +02:00
Martin Diehl b386dc73b2 enable to non-transposed tensor data
usually, we store per data per cell, i.e. len(shape(x)) == 3 means x is
a tensor.
Due to the use of transposed tensors (due to column-major storage order
in Fortran), we usually want to store the transpose of (3x3) tensors.
Now the default can be changed
2019-10-17 07:46:20 +02:00
Martin Diehl 008f717c08 avoid reading from file 2019-10-17 06:10:00 +02:00
Martin Diehl 2b68c108f0 read from memory, not from file 2019-10-17 05:54:08 +02:00
Martin Diehl f33a99d125 polishing 2019-10-17 00:21:48 +02:00
Martin Diehl 3f481e1cea corrected volume calculation and write to DADF5.
follows https://www.osti.gov/servlets/purl/632793/
2019-10-16 22:00:25 +02:00
Martin Diehl 9b5545229f leftover comment ... 2019-10-16 21:13:43 +02:00
Martin Diehl 95ecc05cb0 better test ... 2019-10-16 21:13:26 +02:00
Martin Diehl 0ae0e23325 volume calculation was wrong
could result in negative volumes
2019-10-16 20:56:31 +02:00
Martin Diehl dbe15f88f2 bugfix: forgot to read file
first draft of nonlocal functions for area normal, area, and volume
2019-10-16 17:19:19 +02:00
Martin Diehl 4e213514bd cleaning 2019-10-16 13:04:20 +02:00
Martin Diehl 3a1c4f95c3 some polishing 2019-10-16 08:40:27 +02:00
Martin Diehl 3abb549eab better encapsulation
inputRead fully parses the input file and gives back the required data
2019-10-16 04:45:38 +02:00
Martin Diehl 0f77d2efdb consistent use of subroutines
clearly reveal input(out) arguments
2019-10-16 04:22:21 +02:00
Martin Diehl ffb4b2a455 theMesh is not useful
maybe a shared mesh class becomes useful when Abaqus and PETSc mesh
require similar functionality
elem type can be reported directly
2019-10-16 03:57:51 +02:00
Martin Diehl 1d70d9b6ae mesh type not very beneficial 2019-10-15 21:58:49 +02:00
Martin Diehl c4db2841ab further cleaning 2019-10-15 14:16:03 +02:00
Martin Diehl aab19af131 consistent use of subroutines, not functions.
grouping file reading into meta function
2019-10-15 12:54:46 +02:00
Franz Roters 91691744c6 Merge branch 'Marc-No-nonlocal' into 'development'
Marc no nonlocal

See merge request damask/DAMASK!98
2019-10-15 10:35:37 +02:00
Martin Diehl 9ee709d214 polishing 2019-10-14 15:09:16 +02:00
Martin Diehl 1726d95a56 wrong macro was defined 2019-10-14 14:39:53 +02:00
Martin Diehl dcbd7624dd array order was wrong 2019-10-14 11:25:48 +02:00
Martin Diehl 57af822396 better readable 2019-10-14 10:36:59 +02:00
Martin Diehl 57fef8fa57 consistent naming 2019-10-14 10:08:35 +02:00
Martin Diehl fae4546cfd polishing 2019-10-14 09:37:31 +02:00
Martin Diehl 513b1906f6 bugfixes:
cell definition was not stored correctly due to wrong indexing
2019-10-14 08:23:21 +02:00
Martin Diehl c41d8eb257 use new data structure to calculate cell node coordinates 2019-10-13 23:34:03 +02:00
Martin Diehl 2b65c888c4 avoid public variables 2019-10-13 22:16:42 +02:00
Martin Diehl 33e639426a polishing 2019-10-13 21:45:08 +02:00
Martin Diehl d03efade06 better calculate nodes later 2019-10-13 21:09:49 +02:00
Martin Diehl 369cae5332 no public variables 2019-10-13 20:52:49 +02:00
Martin Diehl 6456f9891b avoid public variables 2019-10-13 20:34:20 +02:00
Martin Diehl c2a8701940 further removal of deprecated stuff 2019-10-13 19:55:25 +02:00
Martin Diehl 4999aa4e14 more cleaning 2019-10-13 19:41:55 +02:00
Martin Diehl e0cb1a87cd cleaning 2019-10-13 19:22:57 +02:00
Martin Diehl e3b16639bf native integer needs to match
otherwise, results are wrong. Therefore, we need to use our own HDF5
library since MSC provides one for 4 byte integers
2019-10-13 18:20:54 +02:00
Martin Diehl 004abc2d4e cell node definition needs to be stored 2019-10-13 13:28:04 +02:00
Martin Diehl ed1d06d6f1 make functions independent of file state 2019-10-13 11:53:35 +02:00
Martin Diehl 9ea91b84e8 easier to read and without file access 2019-10-13 11:48:27 +02:00
Martin Diehl 680ed535d7 avoid file operations and line labels 2019-10-13 10:42:34 +02:00
Martin Diehl d6b6096007 avoid global variables 2019-10-12 22:40:00 +02:00
Martin Diehl 7611513bb8 strange indentation 2019-10-12 22:18:55 +02:00
Martin Diehl 4c9bc326f6 better read file only once 2019-10-12 21:58:26 +02:00
Martin Diehl e6d25bfdab almost no shared functionality 2019-10-12 19:24:03 +02:00
Martin Diehl d8d99f3694 geometry folder needs to be created earlier 2019-10-12 16:39:44 +02:00
Martin Diehl fabab08936 did not run without HDF5 support 2019-10-12 16:25:59 +02:00
Martin Diehl 8cebf8a10d needed 2019-10-12 15:50:10 +02:00
Martin Diehl 734e6ef15f writing initial coordinates to DADF5 2019-10-12 15:03:26 +02:00
Franz Roters e85e13b380 [skip ci] only corrections to comments made 2019-10-11 15:21:29 +02:00
Martin Diehl bf35589d66 DOI was pointint to the correction 2019-10-11 12:31:46 +02:00
Martin Diehl b502300ffc get labels of slip and twin systems
this info is for HDF5 output
2019-10-10 13:11:02 +02:00
Martin Diehl 1d51443607 polishing/unifying names 2019-10-10 12:26:45 +02:00
Martin Diehl 02d7ead3ab better readable 2019-10-10 12:10:13 +02:00
Martin Diehl cf0e279d93 labels were not used
better use automated labeling of all systems
2019-10-10 10:48:55 +02:00
Martin Diehl a2a05158f2 not existing anymore 2019-10-09 01:32:19 +02:00
Martin Diehl df3bb7c559 cleaning 2019-10-08 23:53:16 +02:00
Martin Diehl 90c03d94d1 further separation for clearer structure 2019-10-08 19:08:29 +02:00
Martin Diehl b647245e39 general polishing 2019-10-08 18:52:34 +02:00
Martin Diehl 7d438d3868 not needed 2019-10-08 17:37:30 +02:00
Martin Diehl 040cd3e35d no public variables 2019-10-08 17:26:02 +02:00
Martin Diehl 16fd608da6 more reasonable name 2019-10-08 17:12:53 +02:00
Martin Diehl 098f2903ea not used anymore 2019-10-08 17:04:27 +02:00
Martin Diehl 5e79c360e9 no need for double definition 2019-10-08 10:03:03 +02:00
Martin Diehl 04272f88d5 untangling
- avoid public variables
- openMP in initialization hardly useful
- structure of init should reflect tasks:
1) reading
2) discretization
3) nonlocal stuff
2019-10-08 09:30:32 +02:00
Martin Diehl 795939c989 tests for re-ordered systems + new PETSc 3.11 2019-10-07 20:23:17 +02:00
Martin Diehl 2d7293726c more useful order 2019-10-07 18:04:29 +02:00
Martin Diehl 7f403ad50e avoid global variables 2019-10-05 20:23:33 +02:00
Martin Diehl 18b8e71f69 polishing 2019-10-05 20:09:01 +02:00
Martin Diehl 1d35699884 ip volume is only needed by plastic nonlocal 2019-10-05 19:46:08 +02:00
Martin Diehl 076aa3f72b not needed 2019-10-05 17:37:14 +02:00
Martin Diehl 019f0556e6 better have explicit arguments 2019-10-05 17:18:21 +02:00
Martin Diehl 0b29d08109 bump to DADF5 v0.3
contains displacements (for grid solver)
2019-10-03 19:02:17 +02:00
Martin Diehl fd3f8e2cc7 fixed precision even if compiler flag is not set 2019-09-29 15:59:10 -07:00
Martin Diehl d47dff9dd8 typo 2019-09-29 14:18:21 -07:00
Martin Diehl ad75ebd973 polishing 2019-09-29 11:26:57 -07:00
Martin Diehl 56c0f30687 tried to send to much data 2019-09-29 10:34:55 -07:00
Martin Diehl 8e5fd7c5e8 nodal discplacements for MPI
needs improvement with respect to readability and placement of origin
2019-09-29 10:04:07 -07:00
Martin Diehl e04b074f3c easier to read 2019-09-28 18:32:17 -07:00
Martin Diehl c71374a3f3 do not write nodes shared over several processes
- probably useful only for grid solver, FEM have connectivity matrix
anyway
- name could be improved (in fact, the index is the last not-shared
node)
2019-09-28 18:08:15 -07:00
Martin Diehl 3206ee04bc nodal displacements for grid solver
currently for non-MPI only
2019-09-27 20:38:02 -07:00
Martin Diehl 5ba6b6c244 name reflects planned functionality:
should update node and cell center coordinates
2019-09-27 15:02:36 -07:00
Martin Diehl cc54139dae no need for being compatible 2019-09-27 14:54:02 -07:00
Martin Diehl fc6b603e3d names reflect functionality 2019-09-27 14:48:51 -07:00
Martin Diehl e311c913b8 avoid public variable without write protection 2019-09-27 14:44:28 -07:00
Martin Diehl 13c62b890b module name should reflect file name 2019-09-27 14:34:34 -07:00
Martin Diehl 032b65fe65 not needed 2019-09-27 14:33:56 -07:00
Martin Diehl 8fd9341e39 not needed 2019-09-27 14:23:19 -07:00
Martin Diehl 114f21e8f7 setter for current nodal coordinates 2019-09-27 14:07:34 -07:00
Martin Diehl 2bb6f74de9 use new data structure 2019-09-27 14:07:03 -07:00
Martin Diehl 2e63affe47 [skip ci] better to read 2019-09-25 12:48:16 -07:00
Martin Diehl 9ebd91312a avoid size(xxx) of unallocated xxx 2019-09-25 12:21:57 -07:00
Martin Diehl fc090a1960 [skip ci] indentation only 2019-09-25 12:05:37 -07:00
Martin Diehl 116f43f401 [skip ci] indentation hick-up 2019-09-23 22:15:13 -07:00
Martin Diehl ffcb7a0a24 aim of the calculation clearer
don't know if brackets are honored here
2019-09-23 09:31:14 -07:00
Martin Diehl da041f43bc floating point arithmetic refinement
Intel 18.4 could not detect 0.0
2019-09-23 09:29:38 -07:00
Martin Diehl 96811f77ca not used 2019-09-23 06:50:25 -07:00
Martin Diehl 0620eae797 less code 2019-09-23 06:48:39 -07:00
Martin Diehl 611cc9bcae preprocessor does not allow spaces 2019-09-23 06:48:20 -07:00
Martin Diehl 48e0a7ad97 no floating point comparison for equality 2019-09-23 06:35:02 -07:00
Martin Diehl b8204015f5 wrong type (math_range returns integers) 2019-09-23 06:29:32 -07:00
Martin Diehl 02fef16b38 used only by MARC/Abaqus 2019-09-23 06:28:10 -07:00
Martin Diehl 78344c01ac avoid floating point comparison 2019-09-23 05:37:36 -07:00
Martin Diehl da15ff85f3 tests now operational 2019-09-23 00:11:45 -07:00
Martin Diehl 285dab4451 self consistent solutions 2019-09-22 23:53:56 -07:00
Martin Diehl bbb2441cc2 preparing more tests 2019-09-22 22:08:19 -07:00
Martin Diehl 0655ef2c90 small precision adjustments required
one in a Mio might have degenerated precision...
Also now finally testing core functionality
2019-09-22 21:58:18 -07:00
Martin Diehl c1398e5fa4 more robust agains overflow + tests 2019-09-22 21:41:00 -07:00
Martin Diehl 40099fd581 typo 2019-09-22 17:46:37 -07:00
Martin Diehl 9fd65b0617 need to relax tolerance for case 3 2019-09-22 16:57:16 -07:00
Martin Diehl d1566aa5bf GNU 8 has issues with IEEE_infinite
errors occur when running aggressively optimized code. GNU 9.1 seems to
be ok
2019-09-22 16:05:41 -07:00
Martin Diehl c0210659b6 statUnit was not opened, stat file was written to STDERR 2019-09-22 15:56:37 -07:00
Martin Diehl 26bdcd64b9 this might resolve the occasional MPI restart test failuers 2019-09-22 15:34:05 -07:00
Martin Diehl 4ff292ba70 IEEE infinite causes problems with older GNU 2019-09-22 14:46:27 -07:00
Martin Diehl 171a93ca30 also small negative values cause problems
Logic differs from the original formulation now
2019-09-22 14:17:17 -07:00
Martin Diehl 6b5b0fae22 mixed up real and aimag part in quaternion
+ some tests
2019-09-22 12:10:39 -07:00
Martin Diehl 25c9bb1cd7 testing some corner cases 2019-09-22 11:29:34 -07:00
Martin Diehl 62174a8978 testing all conversions
using norm(Delta q) ensures that the quality of the conversion is
tested, not the numerical properties of any orientation representation.
2019-09-22 11:15:27 -07:00
Martin Diehl 6e5b9ca665 unused variables 2019-09-22 08:54:59 -07:00
Martin Diehl 77011a5dba this fix restores the previous behavior of dislotwin
very strange behavior in plasticity_detect changes for dislotwin. This
fix restores the old behavior with respect to number of iterations.
Using orientation%fromMatrix() results in much more iterations and an
increase in runtime for the test from approx 6 min to 40 min. Results
still match in the end. Also, crystallite_Fp0 differs by approx 1e-15
only between the two methods.
I assume that something is wrong with either dislotwin or the
state/stress integration
2019-09-22 07:46:30 -07:00
Martin Diehl de632ec85c better names 2019-09-22 07:22:24 -07:00
Martin Diehl 372536d57e unit test for rotation class 2019-09-22 06:53:03 -07:00
Martin Diehl 5fa1ecb170 determinant calculations give slightly different results 2019-09-22 06:41:55 -07:00
Martin Diehl 30afaf2a95 bugfic: Blocksize parameter was too small 2019-09-21 23:45:54 -07:00
Martin Diehl 51bd67fa29 findloc is in gfortran 9.1 2019-09-21 23:03:53 -07:00
Martin Diehl 25d91c79af larger block size seems favorable 2019-09-21 23:03:27 -07:00
Martin Diehl 8b908fb350 some more testing 2019-09-21 21:25:55 -07:00
Martin Diehl a963f1d2c3 better explicit 2019-09-21 09:16:58 -07:00
Martin Diehl f5caee8026 issue now clearer 2019-09-21 08:23:56 -07:00
Martin Diehl 7ef4aca170 vectorized
there seems to be a conflict in the definition of the projection for
edge and screw.
Nonlocal uses the transpose compared to dislotwin/disloUCLA.
2019-09-21 08:21:39 -07:00
Martin Diehl 8013dec45f safer 2019-09-21 07:14:45 -07:00
Martin Diehl 7837a6dc01 not used ...
... and equivalentStress33 seemed wrong
... and equivalentStrain33 was confusing
2019-09-20 18:45:54 -07:00
Martin Diehl a17046cfdf full merger 2019-09-20 18:44:23 -07:00
Martin Diehl a16af9a7ad single source of truth 2019-09-20 18:33:12 -07:00
Martin Diehl 97127f9034 following standard: Output first 2019-09-20 18:28:46 -07:00
Martin Diehl 53283d5c01 using newer interface 2019-09-20 18:20:33 -07:00
Martin Diehl 09c1150e3c more error checking 2019-09-20 18:16:08 -07:00