Commit Graph

2662 Commits

Author SHA1 Message Date
Martin Diehl 7311d50df7 final enum removal for plastic laws 2020-02-14 21:41:13 +01:00
Martin Diehl a8e2ee0a86 [skip ci] is read only for other modules 2020-02-14 21:31:03 +01:00
Martin Diehl b1780e71c8 style unification, no enums for output 2020-02-14 09:23:09 +01:00
Martin Diehl 8d6c82e704 no need for enums
they just complicate the code, any performance gain should be negligible
2020-02-14 09:00:14 +01:00
Martin Diehl 486385978c no need for outputID
just adds overhead, one string comparison per output and increment is
computationally not an issue

also unified to PEP recommendation of function description
2020-02-14 08:39:29 +01:00
Martin Diehl 6adb116712 [skip ci] whitespace adjustments 2020-02-14 06:24:17 +01:00
Martin Diehl 4f7bbb323e not needed 2020-02-13 18:43:20 +01:00
Martin Diehl 64e86666c6 also set initial det(Fp)=0
Marc element lib test failed otherwise for type 117
2020-02-13 17:10:27 +01:00
Martin Diehl 0f70a19266 Fp matters, not Fp^-1
mathematically absolutely equivalent, but numerically not. Sometikes makes a
huge difference in convergence behavior, even though abs(det(Fp)-1) is
in the order of 1e-15
2020-02-13 14:48:32 +01:00
Martin Diehl fc82ec9b1b tiny deviations from det(Fp) = 1 cause convergence problems 2020-02-13 09:18:49 +01:00
Martin Diehl fa903c6f35 not needed anymore 2020-02-12 20:50:09 +01:00
Martin Diehl b861ad11c1 tiny differences between orientation conversions result in more
iterations

Seen so far only for plasticityDetectChanges test (confirmed for dislotwin and
phenopowerlaw).
The max difference between the entries of the rotation matrix from
orientation0%asMatrix() and eu2om(Eulers)/eu2om(orientation0%asEulers) is
1e-15. This is the ratio of km/atom radius! Still, the number of
iterations is consistently higher.
Results are the same. I believe this is a strange coincidence where one
particular orientation causes problems. The current version recovers almost the 'good' behavior
of math_EulerToR(Eulers)
2020-02-12 20:49:02 +01:00
Martin Diehl 8770613e9c better readable 2020-02-12 06:26:22 +01:00
Martin Diehl ab475b7c6b need 'error return'
revert from change in 5b72110d
2020-02-12 06:02:37 +01:00
Martin Diehl 08174a119f consistent name 2020-02-11 17:50:07 +01:00
Martin Diehl 5b72110d0a simplified 2020-02-11 17:47:48 +01:00
Martin Diehl e212f91fac print statements prevents reading code
first re-structure and clean, than re-implement where useful
2020-02-11 17:41:30 +01:00
Martin Diehl 6463fcdabd consistent names 2020-02-11 17:36:43 +01:00
Martin Diehl c2c84d698f Merge remote-tracking branch 'origin/development' into MiscImprovements 2020-02-11 17:11:43 +01:00
Franz Roters 81ae66860a Merge remote-tracking branch 'remotes/origin/explicitNonlocal' into development 2020-02-11 10:32:53 +01:00
Martin Diehl a306e473ef use rhoSgl0 (converged situation) 2020-02-11 05:41:10 +01:00
Martin Diehl cd76172d74 debugging PETSc 2020-02-08 09:17:44 +01:00
Martin Diehl 187b3603d3 using new names 2020-02-08 09:08:52 +01:00
Martin Diehl 8f2e345ab4 polishing 2020-02-08 08:19:06 +01:00
Martin Diehl 4c4c052e73 slowly getting newer PETSc versions to work 2020-02-08 07:03:18 +01:00
Martin Diehl 5456ee98f4 still needed (new section was created) 2020-02-08 06:59:37 +01:00
Martin Diehl 984370d7d1 not needed 2020-02-07 18:34:00 +01:00
Martin Diehl e932b386b9 Merge branch 'development' into MiscImprovements 2020-02-07 17:11:01 +01:00
Martin Diehl 5d4d1dcf9a all nonlocal parts are fully explicit
i.e. they are based on converged (partioned0) states
2020-02-07 12:41:01 +01:00
Martin Diehl f854dc27e9 explicit dotState for nonlocal
all flux related quantities are calculated based on the converged
quantities
2020-02-07 12:23:22 +01:00
Martin Diehl 4f4c6c5949 using converged dislocation velocity (from last subinc) 2020-02-07 12:01:54 +01:00
Martin Diehl c7e3ac28f6 preparing data handling for explicit forward of flux 2020-02-07 11:44:03 +01:00
Martin Diehl 1ceba73d31 adopting to PETSc >3.10
thanks to Matthew Knepley from the PETSc team
2020-02-07 09:10:08 +01:00
Martin Diehl 98e5713ce5 Merge branch 'development' into noAbaqus 2020-02-06 18:33:13 +01:00
Franz Roters 47109b903b Merge branch 'plasticity-submodule' into 'development'
Plasticity submodule

See merge request damask/DAMASK!120
2020-02-06 10:13:48 +01:00
Martin Diehl cab000f4b4 not used 2020-02-04 23:52:10 +01:00
Martin Diehl 13ce372684 not used 2020-02-04 23:45:34 +01:00
Martin Diehl 2d74a83dad cleaning 2020-02-03 23:48:09 +01:00
Martin Diehl 9e131c0110 rank 0 takes care of statistics file 2020-02-03 23:09:46 +01:00
Martin Diehl e9dad64f2b use central functionality 2020-02-03 23:01:08 +01:00
Martin Diehl 7bdfd05749 simplified 2020-02-03 22:44:57 +01:00
Martin Diehl c6579f8890 [skip ci] unified 2020-02-03 22:41:52 +01:00
Martin Diehl 1ad79883b4 not needed 2020-02-03 22:33:56 +01:00
Martin Diehl 0ce0bb2d85 better understandable 2020-02-03 21:39:00 +01:00
Martin Diehl 54589a9c56 crystallite does not exist any more 2020-02-02 20:37:05 +01:00
Martin Diehl 588525611b also report correctly negative seeds 2020-02-01 09:04:02 +01:00
Martin Diehl 796fd9a774 natural order 2020-01-31 21:43:45 +01:00
Martin Diehl 042d09a730 names from paper 2020-01-31 21:43:12 +01:00
Martin Diehl 55e53536f2 fixing indentation
always 2 spaces, not 1 for the first level
2020-01-31 21:37:18 +01:00
Martin Diehl 26496976c8 not used anymore 2020-01-31 21:19:15 +01:00
Martin Diehl 0d96c728fe better readable 2020-01-31 07:02:24 +01:00
Martin Diehl 3791c50468 better readable 2020-01-31 06:55:26 +01:00
Martin Diehl f5f397cb70 better readable 2020-01-31 06:52:11 +01:00
Martin Diehl 6ce4ce523a Merge branch 'MiscImprovements' of magit1.mpie.de:/damask/DAMASK into MiscImprovements 2020-01-31 00:13:25 +01:00
Martin Diehl 269d65005b use nomenclature from the DAMASK paper 2020-01-31 00:07:23 +01:00
Martin Diehl 0b8ff64884 store mapping MARC/FEM2DAMASK mapping
do not calculate the mapping for elements and nodes per call on
the fly, rather store it. Not memory efficient in the case that numbers
are not consequtive (order does not matter, but missing nodes/elements
would waste some 2 integers per missing number). However, this seem to cause
problems anyway when range indicators like '1 to 10' are used.
2020-01-30 23:39:59 +01:00
Martin Diehl d54b8714e1 avoid invalid error access 2020-01-29 23:42:50 +01:00
Martin Diehl c2cdcb17f7 wrong string 2020-01-29 23:04:15 +01:00
Martin Diehl 59fe9d06b0 shortening 2020-01-29 22:53:19 +01:00
Martin Diehl 9690f170e1 4 space indentation 2020-01-29 22:44:42 +01:00
Martin Diehl f5bd544b36 [skip ci] was too general 2020-01-29 18:15:49 +01:00
Martin Diehl 9c138c87f0 not needed 2020-01-29 14:57:12 +01:00
Martin Diehl 64be6a277d it's the surface, not the edge 2020-01-29 14:48:15 +01:00
Martin Diehl b938f1a98d polishing
* constants in CAPITALS
* more tests
* 'forall' is deprecated in Fortran 2018
2020-01-29 14:01:14 +01:00
Martin Diehl 348a91d503 Merge branch 'MiscImprovements' of magit1.mpie.de:/damask/DAMASK into MiscImprovements 2020-01-29 13:17:58 +01:00
Martin Diehl 3f96c12e06 avoid code duplication 2020-01-29 11:09:57 +01:00
Martin Diehl 49bfdcecab avoid accessing non-existing chunks
note that Fortran does not shortcut logical expressions, hence the new
function
2020-01-29 09:13:55 +01:00
Martin Diehl b8263519ca ignore empty lines 2020-01-29 08:00:28 +01:00
Martin Diehl 7b0850f929 only read relevant lines 2020-01-29 00:10:05 +01:00
Martin Diehl 57db134c6d polishing 2020-01-28 23:44:07 +01:00
Martin Diehl 5d1f68bf93 Merge branch 'fix-elem-7-57' into noAbaqus 2020-01-27 19:27:53 +01:00
Martin Diehl 6636f56cab Merge remote-tracking branch 'origin/development' into fix-elem-7-57 2020-01-27 19:23:35 +01:00
Martin Diehl fb5e57aa1a WIP: implementing static map for Marc->DAMASK (elem/nodes) 2020-01-26 23:12:48 +01:00
Martin Diehl d2a3fd3ac8 not needed to parse in nElem 2020-01-26 22:51:06 +01:00
Martin Diehl f044b8c42f explain data layout 2020-01-26 21:58:36 +01:00
Martin Diehl 0a1bac6787 flush helps to detect errors 2020-01-26 21:50:43 +01:00
Martin Diehl f546ffb3be polishing 2020-01-26 21:22:55 +01:00
Martin Diehl 79aeea052f does not exist anymore (is not needed) 2020-01-26 21:07:21 +01:00
Martin Diehl f8c5dbea71 typo (MSC.Marc did not compile) 2020-01-26 21:02:32 +01:00
Martin Diehl cda1f4acab more tests
failed unitTests report consistently with "internal error"
2020-01-26 20:53:13 +01:00
Martin Diehl a4134b4552 doing some internal checks
trivial, but better safe then sorry
2020-01-26 20:24:09 +01:00
Martin Diehl 830b05005f read file only once 2020-01-26 19:56:30 +01:00
Martin Diehl 62865e779d polishing 2020-01-26 18:31:56 +01:00
Martin Diehl a6e979ae1f simplified parsing of strings, floats, and ints
invalid characters for interpretation as float and int now raise error,
no warning
requesting invalid chunk now raises error, no warning
2020-01-26 18:23:23 +01:00
Martin Diehl 0eba4e39cc trying to make the whole procedure understandable 2020-01-26 14:18:16 +01:00
Martin Diehl 81fba131f6 variable string length 2020-01-26 13:28:12 +01:00
Martin Diehl decf9371ea avoid issues with unsufficient length of strings 2020-01-26 13:18:29 +01:00
Martin Diehl 3b8dd17e5b avoiding hard-coded constants 2020-01-26 12:25:45 +01:00
Martin Diehl fe22b84d5c maximum path length is 4096 2020-01-26 12:19:36 +01:00
Martin Diehl 9c7f6811a2 use default string length 2020-01-26 12:17:59 +01:00
Martin Diehl 1be37de993 not used (defaults are given in the respective modules) 2020-01-26 11:46:14 +01:00
Martin Diehl 24a8d7ed29 256 (pStringLen) might not be sufficient for file operations 2020-01-26 11:40:25 +01:00
Martin Diehl 9a0d8db23e [skip ci] replacement is done 2020-01-26 10:53:24 +01:00
Martin Diehl ffea69955e polishing and testing
element 11/12 (7/57 for MSC.Marc) have the same geometry type, i.e. both
are a hexahedral with 8 integration points/cells
Type 11 is linear (8 nodes), type 12 quadradic with reduced integration (20 nodes).
The modified definition ensures that the cell nodes 9-20 of element 11
are in the same order as the real nodes 9-20 of element 12. Real nodes
1-8 (corners) and 21-27 needed no modification.

Notes:
 * Documentation on https://damask.mpie.de/Documentation/ElementType is now outdated.
 * Element defition in MSC.Marc manual volume B (2001 version) is
   confusing because element numbering is sometimes clowise and
   sometimes counterclockwise. The latter one seems to be correct
2020-01-26 09:24:32 +01:00
Martin Diehl b16f4155d4 cell definition follows correct order for 11/12 (7/57 in MSC.Marc) 2020-01-26 09:06:45 +01:00
Martin Diehl 7671e257bd reorder elem 11 (Marc 7) to match 12 (Marc 57) 2020-01-26 08:17:59 +01:00
Martin Diehl 2100742a31 better have no support then untested support 2020-01-26 08:17:25 +01:00
Martin Diehl 13107abd39 not working and significat efforts needed to test it 2020-01-26 07:44:22 +01:00
Martin Diehl 8a2a9d3861 avoid direct file operations 2020-01-25 13:30:42 +01:00
Martin Diehl a2e4160e61 read file only once 2020-01-25 10:58:04 +01:00
Martin Diehl ddeebc189a [skip ci] documenting further use 2020-01-25 09:31:27 +01:00
Martin Diehl e532641015 dependency on element not needed for homogeneous meshes 2020-01-25 09:24:42 +01:00
Martin Diehl 624ede8177 clear separation between solver and DAMASK 2020-01-25 09:12:09 +01:00
Martin Diehl bdae2a40cc independent of IO 2020-01-25 08:56:39 +01:00
Martin Diehl bfe8585903 Merge branch 'development' into MiscImprovements 2020-01-24 20:08:14 +01:00
Martin Diehl 5fae924e88 Merge branch 'MiscImprovements' of magit1.mpie.de:/damask/DAMASK into MiscImprovements 2020-01-24 19:58:57 +01:00
Sharan Roongta 3d6ec6955f Merge branch 'PGI-support' into development 2020-01-24 12:24:38 +01:00
Martin Diehl b807406a70 avoid public variables 2020-01-23 14:08:14 +01:00
Martin Diehl f0ad18102d preparing to clean FEsolving
should not have solver dependent functionality
2020-01-23 13:49:12 +01:00
Martin Diehl bd67d2bb6a new mappings have clear name, not (1,2) 2020-01-23 13:16:45 +01:00
Martin Diehl 7f66d4e975 avoid fixed string length
solved issues with wrong trim and is more robust
2020-01-23 11:21:42 +01:00
Martin Diehl 7273f1461c avoid fixed string length where possible 2020-01-23 09:35:41 +01:00
Martin Diehl 1bfd8a8c21 continuousIntValues is very specific for Marc
define where it is used
2020-01-23 08:37:03 +01:00
Martin Diehl 246187865e more flexibility 2020-01-23 08:19:21 +01:00
Martin Diehl cc67b1bd3b automatic length determination for more flexibility 2020-01-23 07:29:38 +01:00
Martin Diehl d28b18267b polishing 2020-01-23 07:19:44 +01:00
Martin Diehl 2c942de45d do no rely on IO functions
should become part of the marc specific code
2020-01-22 08:55:39 +01:00
Martin Diehl 0c4790d468 solver specific, should not be reported here 2020-01-22 08:24:55 +01:00
Martin Diehl d27aac0970 clearer structure 2020-01-21 19:33:22 +01:00
Martin Diehl 0ef0db586f Merge branch 'MiscImprovements' of magit1.mpie.de:/damask/DAMASK into MiscImprovements 2020-01-21 19:24:30 +01:00
Martin Diehl 91d25ec897 rename in PETSc function 2020-01-21 18:18:27 +01:00
Martin Diehl ad2520bec1 compiles with PETSc > 3.10
but does not run
2020-01-21 15:27:11 +01:00
Martin Diehl 8ef3985da7 debug info 2020-01-21 14:58:35 +01:00
Martin Diehl 1857a5e58a skip empty lines (i.e. blank line at the end) 2020-01-21 11:45:11 +01:00
Martin Diehl 9b4f773a0b work around for bug in Intel 2020-01-21 08:43:16 +01:00
Martin Diehl 1a31ff82bb avoid code duplication 2020-01-21 07:46:32 +01:00
Martin Diehl a18057ba4d use central functionality for file IO 2020-01-21 07:37:04 +01:00
Martin Diehl 2e38582824 no need for additional variables 2020-01-21 07:08:02 +01:00
Martin Diehl 47e5b0077a fixed typo 2020-01-21 06:53:32 +01:00
Martin Diehl 843676fb10 grouping variables for better readability 2020-01-21 06:10:19 +01:00
Martin Diehl db96ee0fc2 cleaning 2020-01-20 23:46:48 +01:00
Martin Diehl 80ae2f5f6b no need for public variables 2020-01-20 23:39:24 +01:00
Martin Diehl 4d673866b8 bugfix: copy and paste error 2020-01-20 23:31:51 +01:00
Martin Diehl b98ecccf73 better readable 2020-01-20 21:06:08 +01:00
Martin Diehl 56ab4f723d polishing 2020-01-20 20:36:21 +01:00
Franz Roters 701a9b18cc Merge remote-tracking branch 'remotes/origin/marc-improvements' into development 2020-01-18 12:21:24 +01:00
Martin Diehl d722c6db4a clear separation between OO and imperative arguments 2020-01-14 11:52:22 +01:00
Martin Diehl 9d1c1fdb92 enforce Re(q) > 0 2020-01-14 11:33:18 +01:00
Martin Diehl 27bc23c2e1 missing renames
wondering how this has passed the syntax check earlier
2020-01-14 07:55:18 +01:00
Martin Diehl e70c56701f not needed 2020-01-13 21:09:25 +01:00
Martin Diehl cad6fc7843 Merge branch 'development' into plasticity-submodule 2020-01-13 20:57:12 +01:00
Martin Diehl 544ff9b6ee gfortran rejects (Intel seems fine)
assume a bug, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93251
2020-01-13 16:11:36 +01:00
Martin Diehl bd4db68a12 support for non QUAD cell type 2020-01-13 10:03:13 +01:00
Martin Diehl 0cf27a8229 indicate parameters and report vtk type 2020-01-13 10:02:23 +01:00
Martin Diehl a025edd09f Merge branch 'MoreImprovements' into PGI-support 2020-01-13 01:44:45 +01:00
Martin Diehl 2d294aba23 need to store cell nodes, not elem nodes 2020-01-12 18:32:20 +01:00
Martin Diehl ac0fa2fce9 no need for separate allocation 2020-01-12 16:50:36 +01:00
Martin Diehl eb7bd41acd no need for special functions 2020-01-12 16:08:38 +01:00
Martin Diehl fb8494e2b8 write out nodal displacements
does not work: Not updated and wrong size
2020-01-12 15:42:08 +01:00
Martin Diehl 9d1543c9cc functionality was used only once 2020-01-12 01:54:38 +01:00
Martin Diehl 8aa13a55ce enable handling of connectivity that spreads over multiple lines
same code works also for old style tables, probably some flexibility
regarding non-CP elements is lacking ..
2020-01-12 00:58:12 +01:00
Martin Diehl 46cb787934 avoid HDF5 error when creating link twice 2020-01-12 00:55:00 +01:00
Martin Diehl 5bc1c98da7 use 0-based indexing for worldrank 2020-01-12 00:49:03 +01:00
Martin Diehl ddd8027b8a autodetect string length 2020-01-12 00:10:42 +01:00
Martin Diehl 3938f34978 Merge branch 'MiscImprovements' into MoreImprovements 2020-01-11 22:37:41 +01:00
Martin Diehl 2d9c25f8e5 Merge branch 'development' into MiscImprovements 2020-01-11 20:34:35 +01:00
Martin Diehl d4535dadb4 use American english 2020-01-11 20:33:29 +01:00
Martin Diehl ac112d2d36 tolerance needed for optimized code 2020-01-11 13:55:56 +01:00
Martin Diehl e762cb4dfd issue with gfortran < 9
the false branch of merge seems to be evaluated which results in a
signaling NaN
2020-01-11 12:36:35 +01:00
Martin Diehl 842666cc20 no overlap with Marc's code 2020-01-11 11:25:50 +01:00
Martin Diehl 3a6819f548 check for invalid operations 2020-01-11 05:19:15 +01:00
Martin Diehl f028519597 some facts from wikipedia as tests 2020-01-11 04:59:38 +01:00
Martin Diehl de95ca5906 inverse of a quaternion 2020-01-11 04:15:51 +01:00
Martin Diehl 115716b8c2 polishing/use existing functions 2020-01-11 03:58:12 +01:00
Martin Diehl c7180c3295 some more tests for quaternion operations 2020-01-11 03:50:17 +01:00
Martin Diehl aefd401e8c this is a quaternion class
it is meant to represent any quaternion, not only unit
quaternions/rotations that follow a specific convention. Need to check
in rotations.f90 where the homomorph should happen
2020-01-11 03:11:45 +01:00
Martin Diehl 79cafebffe following https://www.python.org/dev/peps/pep-0257/ 2020-01-11 03:08:39 +01:00
Philip Eisenlohr 3a08a8bbe2 always using intrinsic init when assigning quaternions as output variables 2020-01-10 12:16:18 -05:00
Martin Diehl 115a2552f8 4 newer versions are out 2020-01-10 03:19:39 +01:00
Martin Diehl 87c7a5d5a3 polishing 2020-01-10 02:11:19 +01:00
Martin Diehl 8f43f05437 stronger encapsulation 2020-01-10 01:45:00 +01:00
Martin Diehl 0771411cd8 group similar operations 2020-01-10 01:33:03 +01:00
Martin Diehl 7d2012f492 no need to exclude small values
no danger of division by zero
2020-01-10 01:29:35 +01:00
Martin Diehl 70e23fea93 polishing 2020-01-10 01:28:32 +01:00
Martin Diehl bd6f2a6b5c consistent string length 2020-01-04 19:01:36 +01:00
Martin Diehl 6b6ad52355 use variable string as return (no need for trim) 2020-01-04 18:53:55 +01:00
Martin Diehl 3999c0b630 is not used anymore (and IO_fixedXXXvalue seem to be superfluous) 2020-01-04 17:29:25 +01:00
Martin Diehl bd5f963260 polishing 2020-01-04 16:54:07 +01:00
Martin Diehl 0898cc2605 PGI has problems with forall in this case 2020-01-04 03:18:51 +01:00
Martin Diehl d2a9946f83 PGI compiler has problems with norm2 or dEq 2020-01-04 01:54:19 +01:00
Martin Diehl 00e14b9861 PGI does not allow sum in init for parameter 2020-01-04 01:04:20 +01:00
Martin Diehl e1b35be23a not used anymore 2020-01-03 15:41:46 +01:00
Martin Diehl 326e3d0824 polishing 2020-01-03 14:02:14 +01:00
Martin Diehl 886e111064 not needed 2020-01-03 13:53:23 +01:00
Martin Diehl 2975e46ca1 not needed 2020-01-03 13:52:06 +01:00
Martin Diehl 4ebd89c040 shape is known (no need for automatic allocation) 2020-01-03 13:47:04 +01:00
Martin Diehl a6ddbbd70c cleaning 2020-01-03 12:40:25 +01:00
Martin Diehl d81dc01ce0 we consider indvidual systems, not families 2020-01-03 12:14:20 +01:00
Martin Diehl e1168c09b9 use specialized functions 2020-01-02 21:28:34 +01:00
Martin Diehl c919237998 one loop is enough 2020-01-02 21:02:37 +01:00
Martin Diehl f633c67fe4 polishing 2020-01-02 20:49:02 +01:00
Martin Diehl 1ad8464821 not needed
object-oriented mesh did not work out nicely
2020-01-02 20:38:40 +01:00
Martin Diehl 6a0593bf9e everything is anyway public 2020-01-02 19:47:48 +01:00
Martin Diehl e0110c676e avoid long lines 2020-01-02 18:44:51 +01:00
Martin Diehl 27a6d1d682 private functions do not need a prefix 2020-01-02 15:14:12 +01:00
Martin Diehl ce08571cd8 documentation was outdated 2020-01-02 13:39:52 +01:00
Martin Diehl d4d419b713 better readable 2019-12-30 06:48:55 +01:00
Martin Diehl f9fcaca60b aliases are just confusing 2019-12-26 15:24:51 +01:00
Martin Diehl af0a4c5d26 unused 2019-12-26 15:24:37 +01:00
Martin Diehl be319c5a83 single source of truth 2019-12-25 09:24:42 +01:00