Martin Diehl
b996b6c42e
merge functionality
2020-04-01 09:56:59 +02:00
Martin Diehl
ce61606c0b
not needed
2020-04-01 09:34:49 +02:00
Martin Diehl
079596f7cd
unix standard 0/.false. = OK, 1/.true. = not OK
2020-04-01 09:27:09 +02:00
Martin Diehl
6eee8f34ac
homogeneous mesh
2020-04-01 09:01:03 +02:00
Martin Diehl
d50d55cef3
avoid public variables
2020-04-01 08:54:20 +02:00
Martin Diehl
ec53e4c318
avoid writing to public variable crystallite_todo
2020-04-01 08:39:49 +02:00
Martin Diehl
6b11d43842
handle error checking centrally
2020-04-01 08:02:08 +02:00
Martin Diehl
9e926f1545
centralize test for error
2020-04-01 07:41:55 +02:00
Martin Diehl
570c042100
update of dependent state always in conjunction with state integration
2020-04-01 07:18:37 +02:00
Martin Diehl
54e3455bd4
RKCK45 store intermediate state only per point
2020-04-01 07:10:02 +02:00
Martin Diehl
6bfa51c307
LHS allocation does not work for pointers
2020-04-01 07:02:23 +02:00
Martin Diehl
e46220cd8a
OMP bugfix for FPI integrator, memory-efficient RK4
2020-03-31 22:02:53 +02:00
Martin Diehl
9c95ce36f4
automatic LHS (re)-allocation does not work for pointers
...
group_float has pointers, not allocatables
2020-03-31 20:57:09 +02:00
Martin Diehl
e818dfdb3e
not used anymore
2020-03-31 20:42:51 +02:00
Martin Diehl
20a3ebecea
Merge branch 'state-integration-one-loop' into memory-efficient-state-storage
2020-03-31 20:29:01 +02:00
Martin Diehl
e810b6b23b
not needed here
2020-03-31 12:39:23 +02:00
Martin Diehl
00be291fa0
todo will be reset after state integration
2020-03-31 12:14:54 +02:00
Martin Diehl
2de4b87c61
bugfix for FPI: loop over sources!
...
no memory waste for adaptive Euler
2020-03-31 11:24:13 +02:00
Martin Diehl
5b29af8473
clearer
2020-03-31 10:16:14 +02:00
Martin Diehl
505c1432b1
no need for temp storage
2020-03-31 10:12:25 +02:00
Martin Diehl
2cc0c746d3
no variable needed
2020-03-31 10:07:01 +02:00
Martin Diehl
28dadb4422
no need to check multiple times
2020-03-31 09:49:41 +02:00
Martin Diehl
604bcd1229
memory efficient FPI state integrator
2020-03-31 09:38:08 +02:00
Martin Diehl
18f60a94a9
one variable suffices
2020-03-31 09:04:08 +02:00
Martin Diehl
c0d03a8c26
not needed
2020-03-31 08:37:34 +02:00
Martin Diehl
a7b602f4ca
Merge branch 'development' into state-integration-one-loop
2020-03-31 08:35:07 +02:00
Martin Diehl
9507101969
can be done in one loop
2020-03-31 08:33:35 +02:00
Martin Diehl
5f2759c03c
no need to check for converged
2020-03-31 08:23:38 +02:00
Martin Diehl
2080749189
does not change during the iteration
2020-03-31 08:09:41 +02:00
Franz Roters
369682aa03
Merge branch 'fix-RK4' into 'development'
...
Fix rk4
See merge request damask/DAMASK!150
2020-03-30 20:05:09 +02:00
Martin Diehl
81c8ffe5c1
integrate into the same loop
2020-03-30 14:16:23 +02:00
Martin Diehl
28cf06ca98
extra loop not needed
2020-03-30 14:13:04 +02:00
Martin Diehl
7eeb5db15f
intention clearer
...
slip/twin/trans happens in untwinned/untransformed volume, shear banding
is independent of that
2020-03-29 22:41:47 +02:00
Martin Diehl
11e58bcc2f
not needed
...
why debugging allocate?
2020-03-29 22:37:48 +02:00
Martin Diehl
9c90aa5acb
polishing
2020-03-29 20:07:09 +02:00
Martin Diehl
2a37acfe5e
store data where it is needed
2020-03-29 20:04:51 +02:00
Martin Diehl
ba5538516c
simplified
2020-03-29 20:04:24 +02:00
Martin Diehl
08ad9d1d57
was mixed up
2020-03-29 19:18:06 +02:00
Martin Diehl
b6596a0310
compiler can do the counting
2020-03-29 19:17:24 +02:00
Martin Diehl
7b7ac294ca
volatile seems to make sense here
...
the value can be changed surprisingly
2020-03-29 19:13:29 +02:00
Martin Diehl
cff62219b6
Merge branch 'development' into adaptive-euler-substate0
2020-03-27 14:43:55 +01:00
Martin Diehl
75fff766e1
not needed anymore
2020-03-26 22:02:28 +01:00
Martin Diehl
fdbbb94aac
takeover from RKCK45
2020-03-26 21:46:28 +01:00
Martin Diehl
c490b4bea4
standard names
2020-03-26 20:19:05 +01:00
Martin Diehl
adbf6739a9
Merge branch 'Adaptive-Euler-one-loop' into RKCK45-one-loop
2020-03-26 10:56:51 +01:00
Martin Diehl
fe8ee825d6
bugfix: F, not Fp for explicit nonlocal
2020-03-26 10:52:10 +01:00
Martin Diehl
8725c2ceba
Merge remote-tracking branch 'origin/development' into Adaptive-Euler-one-loop
2020-03-26 10:49:34 +01:00
Martin Diehl
a4674a6461
whitespace adjustments
2020-03-25 20:55:37 +01:00
Martin Diehl
3ce8902245
no need to split up
2020-03-25 20:47:10 +01:00
Martin Diehl
aa2d440107
finally one loop left
2020-03-25 20:37:37 +01:00
Martin Diehl
599de26dad
further integration
2020-03-25 19:44:51 +01:00
Martin Diehl
939d2af1d9
bugfix: explicit nonlocal requires F, not Fe
2020-03-25 18:58:58 +01:00
Martin Diehl
9900bf0be7
Merge branch 'FPI-one-loop' into RKCK45-one-loop
2020-03-25 18:56:51 +01:00
Martin Diehl
2d5d48288c
bugfix, related making nonlocal state update explicit
2020-03-25 13:20:14 +01:00
Martin Diehl
ddef241dcc
Merge branch 'FPI-one-loop' into Euler-one-loop
2020-03-25 13:19:42 +01:00
Martin Diehl
a6f94efa51
bugfix, introduced when making nonlocal explicit
2020-03-25 13:17:48 +01:00
Martin Diehl
86abba477a
use same loop
2020-03-25 11:27:03 +01:00
Martin Diehl
b54a109d99
do plasticState and sourceState at once
2020-03-25 11:20:39 +01:00
Martin Diehl
652846cdc9
no need for extra loop
2020-03-25 11:16:26 +01:00
Martin Diehl
67f64cf7e1
correct iteration skipping
2020-03-25 11:13:46 +01:00
Martin Diehl
32b9a5ab15
all in one loop
2020-03-25 11:07:47 +01:00
Martin Diehl
9a188784e2
no need for an extra loop
2020-03-25 10:54:17 +01:00
Martin Diehl
02774a89d9
2 space indentation
2020-03-25 10:33:41 +01:00
Martin Diehl
52ca7cc43c
only one stateJump per integration
2020-03-25 10:27:55 +01:00
Martin Diehl
2dd3ccdad1
no need to transpose
2020-03-25 10:22:21 +01:00
Martin Diehl
8f6dc054d0
move up the nonlocal skip
2020-03-24 22:25:40 +01:00
Martin Diehl
e7c585a02e
loop order that allows more memory efficient code
2020-03-24 20:47:41 +01:00
Martin Diehl
66aa20ad39
extra check for nonlocal needed
2020-03-24 20:35:27 +01:00
Martin Diehl
0740c9f339
dot state in loop
2020-03-24 20:33:26 +01:00
Martin Diehl
44e24a9c4f
merging into one loop
2020-03-24 20:25:29 +01:00
Martin Diehl
eb6fe8a3a2
merge into one loop
2020-03-24 16:14:14 +01:00
Martin Diehl
369ea31a4b
name unification for simple copy and paste
2020-03-24 15:02:55 +01:00
Martin Diehl
93abf2b6d8
this SEEMS to be the way how it was planned
2020-03-24 13:06:29 +01:00
Martin Diehl
424fcabb90
move into the same loop
2020-03-24 12:54:31 +01:00
Martin Diehl
871241e31b
first round of loop removal
2020-03-24 12:43:41 +01:00
Martin Diehl
b88ffb8d4f
converged(g,i,e) matters only for FPI
2020-03-24 12:30:43 +01:00
Martin Diehl
d16af3bfb3
one loop for Euler integrator
2020-03-24 12:19:36 +01:00
Martin Diehl
d45f1f1c6f
further integration into one loop
2020-03-24 11:37:00 +01:00
Martin Diehl
0e5f0a3068
no need for two loops
2020-03-24 11:27:53 +01:00
Martin Diehl
106cc1de92
complete iteration of each materialpoint step by step
2020-03-24 10:45:38 +01:00
Martin Diehl
cde558e736
convergence check on the fly
2020-03-24 10:34:15 +01:00
Martin Diehl
4c485f1af0
state jump in same loop
2020-03-24 10:18:17 +01:00
Martin Diehl
3a6269e802
wrong omp pragmas
2020-03-24 10:06:08 +01:00
Martin Diehl
8d6dcd779c
dotstate/residual/state calculation in the same loop
2020-03-24 06:34:42 +01:00
Martin Diehl
830ea61739
better readable
2020-03-24 06:27:43 +01:00
Martin Diehl
9c134e68fc
in-line dot state
2020-03-23 08:15:33 +01:00
Martin Diehl
e5743c7d27
same logic
2020-03-23 06:53:23 +01:00
Martin Diehl
027818c942
run in one loop
2020-03-23 00:32:41 +01:00
Martin Diehl
0b321bd9d4
bugfix for nonlocal
...
logic is hard to understand ...
2020-03-23 00:18:57 +01:00
Martin Diehl
86db8f8ca4
avoid flush
2020-03-23 00:15:00 +01:00
Martin Diehl
e7d61e49fe
can be done in the same loop
2020-03-22 23:16:00 +01:00
Martin Diehl
48c9d31720
matching names
2020-03-20 15:08:07 +01:00
Martin Diehl
03bec0221a
systematic names
2020-03-20 15:00:18 +01:00
Martin Diehl
dd30a4ca65
module name = file name
2020-03-20 14:56:04 +01:00
Martin Diehl
b569e9cd6e
clearer name
2020-03-20 14:55:10 +01:00
Martin Diehl
6ad1315b60
consistent name
2020-03-20 13:37:37 +01:00
Martin Diehl
d54b3bd3b7
typo
2020-03-20 13:30:30 +01:00
Martin Diehl
7e7b32add1
useful defaults
2020-03-20 13:25:37 +01:00
Martin Diehl
7aa47d8f5a
module name follows filename
2020-03-20 07:18:11 +01:00
Martin Diehl
91e728d065
polishing
2020-03-19 11:30:36 +01:00
Martin Diehl
e1bd49a12b
constants/parameters in capitals
2020-03-17 08:17:14 +01:00
Martin Diehl
b4ed508745
Store data only where needed
2020-03-17 07:51:14 +01:00
Martin Diehl
6097267cd2
treat as 'normal' internal function
2020-03-17 07:17:40 +01:00
Martin Diehl
71d4de269a
better store data locally
2020-03-17 00:39:32 +01:00
Martin Diehl
8d46a22f5a
better keep data close to its use
2020-03-17 00:10:23 +01:00
Martin Diehl
f718587011
was not used
2020-03-17 00:01:42 +01:00
Martin Diehl
160ef4af7e
simplified
2020-03-16 23:43:59 +01:00
Martin Diehl
fecd1586b0
using notation from paper
2020-03-16 23:31:43 +01:00
Martin Diehl
caa0e502df
only remainder of old mapping exist
...
and they are clearly marked as deprecated
2020-03-16 22:56:33 +01:00
Martin Diehl
becb04c234
simpler ...
2020-03-16 22:50:09 +01:00
Martin Diehl
c0fc7ad9a9
simpler
2020-03-16 22:50:09 +01:00
Martin Diehl
1434aa529f
default name
2020-03-16 22:50:09 +01:00
Martin Diehl
44d12669a4
works if Nslip=[0]
2020-03-16 22:50:09 +01:00
Martin Diehl
c702a9f1d7
numpy name
2020-03-16 22:50:09 +01:00
Martin Diehl
9733f4a140
standard names
2020-03-16 22:50:09 +01:00
Martin Diehl
e4792e56fb
store data where it is needed
...
avoid globals, even if they are read only
2020-03-16 21:39:53 +01:00
Martin Diehl
0bb7fea782
sort into folders ...
...
and avoid names like mesh_mesh
2020-03-16 21:03:54 +01:00
Martin Diehl
71e6c24102
2 space indentation
2020-03-16 20:58:40 +01:00
Martin Diehl
6ce0101a3d
getting rid of global totalNslip
2020-03-16 17:54:31 +01:00
Martin Diehl
c965b14d1d
forall is deprecated
2020-03-16 17:18:50 +01:00
Martin Diehl
0ff54d1c43
transpose not needed twice
...
"static" part of the interaction matrix is symmetric for one slip family
2020-03-16 16:46:16 +01:00
Martin Diehl
ad014d40be
vectorized
2020-03-16 16:41:55 +01:00
Martin Diehl
9d6bd1cb77
vectorized
...
There seems to be a bug in the interaction matrix, there should be no
transpose. However, the transpose recovers the old behavior (up to
machine precision)
2020-03-16 16:02:14 +01:00
Martin Diehl
8d5d31988a
cleaning
2020-03-16 15:36:34 +01:00
Martin Diehl
ecd74ff8b5
internal functions need no prefix
2020-03-16 15:22:44 +01:00
Martin Diehl
47f91d08ca
handle most stupid case
2020-03-16 15:04:51 +01:00
Martin Diehl
b19665f235
works for elasticity only
2020-03-16 14:58:42 +01:00
Martin Diehl
8ae5814815
symbol name as in DAMASK paper
2020-03-16 13:36:24 +01:00
Martin Diehl
5760c680b6
no need to store for the whole simulation
2020-03-16 13:14:44 +01:00
Martin Diehl
f8049b85be
works for no active slip systems
2020-03-16 13:06:39 +01:00
Martin Diehl
5d7ff888fc
should work for elasticity only
2020-03-16 11:14:55 +01:00
Martin Diehl
7b3b4ffb1c
following python style
2020-03-16 11:14:27 +01:00
Martin Diehl
9ed48f7e5f
getting rid of totalNslip in nonlocal
2020-03-16 10:09:58 +01:00
Martin Diehl
044b816005
better to read w/o cycle
2020-03-16 09:42:58 +01:00
Martin Diehl
ab5177e0be
better readable
2020-03-16 09:37:25 +01:00
Martin Diehl
fc15616ef7
simplifying
2020-03-16 09:18:05 +01:00
Martin Diehl
4d62432d34
internal functions at the end
2020-03-16 08:22:36 +01:00
Martin Diehl
ef4b24646d
only store parameters that are needed during the simulation
2020-03-16 08:16:55 +01:00
Martin Diehl
23c6510faa
atol=0.0 is fine
...
crystallite takes max(atol, rtol*X), so atol=0.0 means that convergence
is based on rtol only
2020-03-16 00:52:18 +01:00
Martin Diehl
e3bbd32b1e
polishing
2020-03-16 00:12:18 +01:00
Martin Diehl
0735d2da7c
no need to store # sytems/family
2020-03-16 00:05:51 +01:00
Martin Diehl
c7f3c2cb56
notation from DAMASK paper
2020-03-15 21:58:28 +01:00
Martin Diehl
e53ba801fa
more systematic file structure
2020-03-15 17:04:28 +01:00
Martin Diehl
d37f42da4f
better sort files according to solver
2020-03-15 16:58:30 +01:00
Martin Diehl
5b71f1050f
better make internal function
...
- not used
- no check whether matrix is positive-definite, i.e. danger of NaN
2020-03-15 16:11:28 +01:00
Martin Diehl
8c78347a8b
equivalent, but systematic better visible
2020-03-15 16:05:56 +01:00
Martin Diehl
7677bc876b
more precise documentation
...
symmetric is not enough, could result in taking the square root of negative eigenvalues
2020-03-15 15:58:25 +01:00
Martin Diehl
253ee0013d
equivalent, but more systematic
2020-03-15 15:03:53 +01:00
Martin Diehl
65decfc48a
intention more clear
2020-03-15 14:54:25 +01:00
Martin Diehl
66302fa6da
rotational part is always of 3x3 tensor
2020-03-15 14:21:11 +01:00