Daniel Otto de Mentock
27a8610d92
loops over tensors in fourier space need to correspond to transposed structure
2022-07-22 14:58:30 +02:00
Daniel Otto de Mentock
b1257d6b54
correcting wrong access to scalarfield_fourier
2022-07-19 14:47:05 +02:00
Daniel Otto de Mentock
dda157aa5a
accesses to fourier space tensors now need to correspond to transposed structure
2022-07-13 14:10:13 +02:00
Sharan Roongta
bb63048a0f
Merge branch 'implicit-none-external' into 'development'
...
implicit none cover external
See merge request damask/DAMASK!610
2022-07-08 11:43:19 +00:00
Martin Diehl
ec0c486a2c
transition to transposed storage
2022-07-06 18:01:39 +02:00
Martin Diehl
771ccb4485
testing average behavior
2022-07-01 14:33:10 +02:00
Martin Diehl
fc76f9f60f
preparing for use of transposed data in Fourier space
2022-06-30 22:23:27 +02:00
Martin Diehl
44ecedc7b0
unified names
2022-06-30 22:01:35 +02:00
Martin Diehl
af2eb3e51d
systematic names
2022-06-30 21:59:21 +02:00
Martin Diehl
ef8f0becd4
only used within module
2022-06-30 21:45:49 +02:00
Martin Diehl
de1633f420
limit access
2022-06-27 21:51:44 +02:00
Martin Diehl
61dc14e0b9
Merge remote-tracking branch 'origin/development' into implicit-none-external
2022-06-27 15:13:20 +02:00
Martin Diehl
3b57934d6e
Marc precision handling
2022-06-27 08:37:41 +00:00
Martin Diehl
2f1904efec
only MPI_f08 is standard conforming
2022-06-21 23:11:22 +02:00
Martin Diehl
b8c3d75700
[skip sc] enforce interfaces (quick fix: declare as external)
2022-06-21 22:59:01 +02:00
Franz Roters
5155a3f958
Merge branch 'MPI-FFTW-fix' into 'development'
...
bugfix: prevent segmentation fault
Closes #192
See merge request damask/DAMASK!595
2022-06-02 16:13:24 +00:00
Martin Diehl
b8530bbcc9
Merge branch 'implicit-none-in-interface' into 'development'
...
implicit none does not propagate
See merge request damask/DAMASK!596
2022-05-31 12:06:03 +00:00
Martin Diehl
d858d753e3
implicit none does not propagate
...
each subroutine/function is independent and not part of a scope
2022-05-27 22:38:47 +02:00
Philip Eisenlohr
f85e8a3ff4
more precise warning for fftw_plan_mode
2022-05-27 12:00:53 -04:00
Philip Eisenlohr
75bd643258
more precise warning for fftw_plan_mode
2022-05-27 11:58:10 -04:00
Martin Diehl
dc59beb59c
following advince from FFTW3 manual
...
silences a lot of gfortran warnings about unused variables
2022-05-27 09:54:00 +02:00
Martin Diehl
064b9c5cc4
bugfix: prevent segmentation fault
...
need to rely on FFTWs calculation for amount of storage needed
2022-05-27 09:53:04 +02:00
Martin Diehl
6c6b3e64b3
more flexible reporting
2022-05-27 09:38:47 +02:00
Martin Diehl
f90523eb07
more flexible reporting
2022-05-27 08:33:50 +02:00
Martin Diehl
d5db083fec
more convenient to see all invalid parameters
2022-05-27 00:25:25 +02:00
Martin Diehl
19b78cb647
easier to read
2022-05-26 23:29:06 +02:00
Martin Diehl
82cad00f81
simplified interface
2022-05-26 19:07:23 +02:00
Martin Diehl
a514d30060
standardized names
2022-05-26 19:03:29 +02:00
Martin Diehl
3f85027b9e
better use SIGINT for actions triggered by the user
...
SIGTERM is send by MPI if one process fails, catching it results in
deadlocks
2022-05-13 11:58:03 +02:00
Franz Roters
6236ad52d1
consistent naming
2022-05-03 13:00:28 +02:00
Martin Diehl
bb83d20fe9
Merge branch 'development' into structure-improvements
2022-04-27 05:55:19 +02:00
Martin Diehl
d41d03015a
better matching name
2022-04-24 17:38:59 +02:00
Martin Diehl
26ab0365be
only used by the grid solver
2022-04-24 17:30:37 +02:00
Martin Diehl
91b71fdff8
systematic naming scheme
2022-04-24 04:45:41 +02:00
Martin Diehl
b80b406ad5
more specific name
...
'interface' can be an interface to anything, 'CLI' is an established
abbreviation for 'command line interface'
2022-04-23 16:09:31 +02:00
Martin Diehl
0e65d44bdc
separating functionality
...
signal handling and CLI handling are not really related
2022-04-23 14:46:26 +02:00
Martin Diehl
690b2e9c21
tolerances were to strict for certain operations
2022-04-22 07:18:53 +02:00
Martin Diehl
745f5348cd
running new tests
2022-04-22 00:01:54 +02:00
Martin Diehl
df3f4d9480
testing forward/backward FFT
2022-04-20 07:02:59 +02:00
Martin Diehl
8f9ba9d6e4
test with initial conditions in grid file
2022-03-10 18:51:27 +01:00
Martin Diehl
e8383cec69
Merge remote-tracking branch 'origin/development' into initial-temp
2022-03-10 08:52:05 +01:00
Martin Diehl
790ca57ea0
specify initial temperature per point
2022-03-09 21:29:40 +01:00
Martin Diehl
da5ba82299
initial condition can be specified per point/cell
2022-03-09 20:40:03 +01:00
Martin Diehl
c2453c56f1
Merge remote-tracking branch 'origin/development' into polishing
2022-03-09 15:22:22 +01:00
Philip Eisenlohr
73f01c07d0
clarified colormap default; accept string as colormap name
2022-03-08 09:31:08 -05:00
Martin Diehl
f7b18981c9
shorter names (w/o loss of clarity)
2022-03-04 20:17:08 +01:00
Martin Diehl
802957f61e
Merge remote-tracking branch 'origin/development' into separate-vtk
2022-03-01 22:52:36 +01:00
Martin Diehl
954b720992
Merge remote-tracking branch 'origin/development' into polishing
2022-03-01 21:41:27 +01:00
Martin Diehl
ad8758b340
better don't have unlimited time for planning as default
2022-02-28 16:15:07 +01:00
Martin Diehl
7ee440c1b1
separating functionality for more flexibility
2022-02-28 01:35:39 +01:00
Martin Diehl
1cae6c4533
keep functionality separated
2022-02-27 17:02:13 +01:00
Martin Diehl
53fe11484d
not used
2022-02-27 15:50:55 +01:00
Martin Diehl
8a84f6b07f
origin can be negative
2022-02-24 11:24:54 +01:00
Martin Diehl
cf3f869877
make clear that mechanical is always initialized
2022-02-23 06:19:16 +01:00
Sharan Roongta
e26e8c715f
pass data to homogenization and phase level at the same time
2022-02-21 22:40:41 +01:00
Martin Diehl
89a914bbe7
correct reporting of units
2022-02-17 07:13:39 +01:00
Martin Diehl
c66e2336c2
some versions of ifort have problems with 'do concurrent'
2022-02-14 15:08:35 +01:00
Martin Diehl
466682e978
missing rename grid -> cells
2022-02-14 08:32:48 +01:00
Martin Diehl
61e11a0529
use openMP for operations in Fourier space
2022-02-14 08:30:24 +01:00
Martin Diehl
0008ad1bf8
easier to understand
2022-02-14 05:57:48 +01:00
Martin Diehl
ac4beea14b
use precalculated dyad
2022-02-14 05:47:50 +01:00
Martin Diehl
b43695067d
Merge remote-tracking branch 'origin/development' into nonlocal-standard-access
2022-02-11 12:53:58 +01:00
Martin Diehl
bd657e6c62
fixed style and corrected copy and paste errors
2022-02-09 12:29:55 +01:00
Martin Diehl
4ca0ea6af2
avoid linking issues with gfortran+MPI
...
most likely related to the fact that HDF5 uses the old Fortran
inferface, not MPI_f08 as DAMASK
2022-02-05 18:38:06 +01:00
Martin Diehl
6d78400f87
the concept of IP/element_ID should not be used at the DAMASK core
2022-02-05 07:29:00 +01:00
Martin Diehl
a243e10641
Merge remote-tracking branch 'origin/development' into Fortran-polishing
2022-02-03 09:01:33 +01:00
Sharan
3e73d28631
Merge remote-tracking branch 'origin/development' into thermal-restart
2022-02-01 23:07:55 +01:00
Martin Diehl
f70df11b67
consistent reporting
2022-01-29 15:59:22 +01:00
Martin Diehl
762f93d724
following naming convention
2022-01-29 15:30:59 +01:00
Martin Diehl
487912cfb0
following Python notation
2022-01-29 15:14:40 +01:00
Martin Diehl
dd0f2cfa3c
tau is often easier to use than pi
...
https://tauday.com/tau-manifesto
2022-01-29 14:46:09 +01:00
Martin Diehl
68ea33c591
start at 1 for the same loop pattern
2022-01-26 12:21:08 +01:00
Martin Diehl
a86dc322fb
consistently put the check on the next line
2022-01-26 12:18:26 +01:00
Martin Diehl
96fed368ad
name adjustments
2022-01-21 14:51:46 +01:00
Martin Diehl
292cbdee30
consistent name
2022-01-20 14:56:21 +01:00
Martin Diehl
7bd8452bf8
set return value
2022-01-20 07:56:45 +01:00
Martin Diehl
7b1080fdb7
better and consistent variable name
2022-01-20 07:42:16 +01:00
Martin Diehl
1f86111f57
call SNESSetDM after DMDASNESSetFunctionLocal
...
following example ex5f.F90, seems to resolve segmentation fault
2022-01-19 22:57:22 +01:00
Martin Diehl
fe094939e6
better to understand
2022-01-19 19:43:54 +01:00
Martin Diehl
0f4f2b6717
use only grid, not (x/y/z) start and end
2022-01-19 19:38:07 +01:00
Martin Diehl
89cb018189
polishing
2022-01-19 18:58:46 +01:00
Martin Diehl
3d6dcad385
Merge remote-tracking branch 'origin/thermal-solver-improvements' into 146_grid-indexing+allocation
2022-01-19 18:50:55 +01:00
Martin Diehl
25ddec76e7
avoid (x/y/z)end and (x/y/z)start, same information is in grid
2022-01-19 17:41:16 +01:00
Martin Diehl
96ff3314a3
simplified
2022-01-19 17:10:47 +01:00
Martin Diehl
642df40634
one-based counting
2022-01-19 16:56:54 +01:00
Sharan Roongta
1ad537b60c
better to use global grid dimensions
...
also checking early allocation of Temperature field
2022-01-19 16:54:10 +01:00
Martin Diehl
b18483cc6e
simplify MPI debugging
...
needs manual modification in the source code
2022-01-19 16:45:14 +01:00
Martin Diehl
869fdc847a
Merge branch 'development' into misc-improvements
2022-01-18 11:02:18 +01:00
Martin Diehl
d1cd125a5b
direct array reversal, don't duplicate FFTW manual
2022-01-15 12:27:07 +01:00
Martin Diehl
29530da579
use correct kind of constants for calls to MPI/PETSc
2022-01-13 13:50:30 +01:00
Martin Diehl
91a3ea96ec
final MPI-DAMASK integer kind decoupling
...
bugfix: set error for openMP-calucations
2022-01-13 13:21:44 +01:00
Martin Diehl
a7417a7ad7
default integer, PETSc integer, and MPI integer might be different
2022-01-13 12:02:33 +01:00
Martin Diehl
a3a3388855
decouple DAMASK default integer from MPI default integer
2022-01-13 10:25:45 +01:00
Martin Diehl
8223dc7fa7
polishing
...
MPI, HDF5, PETSc, and DAMASK might have different integer kinds ..
2022-01-13 08:17:31 +01:00
Martin Diehl
3fb5bd459c
pInt leftovers
2022-01-13 07:44:15 +01:00
Sharan Roongta
236f0297ac
test added
2022-01-12 20:42:37 +01:00
Sharan Roongta
e80d91e30a
thermal restart (WIP)
2022-01-11 16:11:18 +01:00
Martin Diehl
1e965c42b7
don't rely on ML
...
avoid dependencies to external packages as much as possible
2021-12-27 17:44:22 +01:00
Martin Diehl
1ddf1e5694
support for PETSc with 64bit integers
...
compiles, but untested
2021-12-21 23:53:46 +01:00
Martin Diehl
6ba2a08e5a
easier to read
2021-12-11 11:50:40 +01:00
Martin Diehl
f51633d43a
forall is deprecated
...
do concurrent is the successor but ifort had problems and generated
faulty code
2021-12-11 09:01:42 +01:00
Martin Diehl
7d7d0c2659
only local variable are good variables
2021-12-11 08:49:30 +01:00
Martin Diehl
2f067b544e
use variables, not descriptors
2021-12-06 07:55:13 +01:00
Nikhil Prabhu
96e4cb591c
Merge branch 'integer-exponents' into 'development'
...
Using integer exponent
See merge request damask/DAMASK!467
2021-11-29 07:32:04 +00:00
Philip Eisenlohr
a531b7ccae
transitioned remaining real exponents to int
2021-11-28 12:46:26 -05:00
Martin Diehl
ccd6e44b6b
Merge remote-tracking branch 'origin/development' into 134-output_none
2021-11-27 19:17:27 +01:00
Martin Diehl
bfc6b69ee2
integer exponents: faster and shorter
2021-11-25 20:52:22 +01:00
Philip Eisenlohr
43ae4983ed
fixed misaligned/too short "writing..." statements
2021-11-15 12:58:59 -05:00
Philip Eisenlohr
69843d0833
Merge branch 'development' into pretty-print-init
2021-11-15 12:39:14 -05:00
Philip Eisenlohr
da9fdf53d2
consistent indentation and line-spacings in reporting
2021-11-15 12:35:44 -05:00
Nikhil Prabhu
64d70d9be3
user option to have no output
...
f_out = none
2021-11-15 14:39:29 +01:00
Martin Diehl
b7ad5b3167
'standard' style
2021-11-10 20:53:20 +01:00
Philip Eisenlohr
186b688b04
only look for opening part of <CellData> tag
2021-11-09 15:10:19 -05:00
Martin Diehl
256c48831e
better readable
2021-10-19 23:08:21 +02:00
Martin Diehl
29431eb8c5
same reporting as in python
2021-09-12 21:55:14 +02:00
Martin Diehl
949eea1624
bugfix: did not work with VTK 8
2021-09-01 11:07:39 +02:00
Martin Diehl
4160c4fdb4
fix for parallel HDF5
...
if filters are applied, writing from one process does not work if the
file is opened for parallel write
2021-08-15 13:26:15 +02:00
Philip Eisenlohr
f75235f6a9
Merge branch 'more-flexible-L' into 'development'
...
more flexibility for the L in the load case
See merge request damask/DAMASK!420
2021-08-09 21:27:13 +00:00
Martin Diehl
044a048944
taking care of corner cases (e.g. restart)
...
adjusting tests to take care of new 'setup' group
2021-08-01 22:46:11 +02:00
Martin Diehl
b9d4eb23cc
only rank 0 reads file for MPI
2021-07-27 08:54:17 +02:00
Martin Diehl
812b0f07f5
read file only once (per process)
2021-07-27 08:35:52 +02:00
Martin Diehl
ddb0429a1d
store load case (full reproducibility for grid solver)
2021-07-27 07:57:04 +02:00
Martin Diehl
e01d271ee4
store geometry (for full reproducibility)
2021-07-27 07:43:35 +02:00
Martin Diehl
574cfd7034
Merge remote-tracking branch 'origin/development' into more-flexible-L
2021-07-22 00:20:33 +02:00
Martin Diehl
9d349f8a7c
symbolic notation
2021-07-21 06:50:28 +02:00
Martin Diehl
6f19113072
L, P, F, etc. are second order tensors
2021-07-21 06:19:04 +02:00
Martin Diehl
85735605f8
more flexibility for the L in the load case
...
Note that mixed boundary conditions for L introduce an ambiguity.
Consider:
L = [[1.0, x, x],
[ 0, 0, 0],
[ 0, 0, 0]]
P = [[x, 0, 0],
[x, x, x],
[x, x, x]]
What we need is F^(n+1)=F_dot^(n+1) x Delta_t, where F_dot^(n+1) is
F_dot^(n+1)_ij = L_ik F^n_kj.
So component F_11 has contributions from L_12 and L_13. We first assume
L_12=L_13=0 and then choose F^(n+1)_12 and F^(n+1)_13 to get
P_12=P_13=0. This implicitly gives a solution for L_12 and L_13, which
is however only one out of infinitely many.
2021-07-20 07:10:28 +02:00
Martin Diehl
03b7532cc5
numpy.MaskedArray behavior
2021-07-19 23:27:10 +02:00
Martin Diehl
1c1dc9383e
symbolic names
2021-07-19 22:30:20 +02:00
Martin Diehl
f9edeb40a5
descriptive names
2021-07-17 11:50:21 +02:00
Martin Diehl
ed6b1be352
solver handles terminally ill
2021-07-16 20:43:08 +02:00
Martin Diehl
2a84aa7ae4
obvious, no need for comment
2021-07-16 20:32:21 +02:00
Martin Diehl
5f78f1753c
split up thermal
...
only for grid at the moment
2021-07-16 18:03:38 +02:00
Martin Diehl
3f0eafd640
first step towards separating of mechanics, thermal, and damage
2021-07-16 17:53:11 +02:00
Martin Diehl
2f1fa8292b
unify style to majority of occurences
2021-07-16 10:30:45 +02:00
Martin Diehl
136a4b1377
PETSc defines are rather complicated
...
now mpi_f08 can be used on newer PETSc installations if old MPI modules
are not exposed
2021-07-09 18:48:25 +02:00
Martin Diehl
637f78bd52
old name (for PETSc < 3.15)
2021-07-09 14:50:29 +02:00
Martin Diehl
8e75e87ad9
Merge branch 'MPI_F08' into polishing-for-beta
2021-07-09 11:32:32 +02:00
Martin Diehl
139f2c177a
use MPI_f08 if possible
...
most PETSc installations provide outdated MPI (f90 version)
MPI_COMM_WORLD is now of derived type (Fortran 08 style)
PETSC_COMM_WORLD is the plain integer (f90 style) alias.
Note that HDF5 is assumed to have f90 interfaces
2021-07-08 16:27:37 +02:00
Martin Diehl
58bc6e2ba6
avoid chained inclusions
2021-07-08 14:27:04 +02:00
Martin Diehl
a13e02da44
easier to follow
2021-07-06 22:33:12 +02:00
Martin Diehl
06e76c1a81
consistent default absolute tolerances
...
better use conservative values, users can easily relax if needed
2021-06-25 10:13:03 +02:00
Martin Diehl
ae9a48c124
polishing
2021-06-24 15:23:24 +02:00
Martin Diehl
1bfbd30ae2
polishing
2021-06-15 19:53:05 +02:00
Martin Diehl
218e6a79a8
VTK image data is the appropriate type, not VTK rectilinear grid
...
FFTs require constant spacing in all three directions, this is
guaranteed by the vtkImageData but not by vtkRectilinearGrid
2021-06-15 19:02:26 +02:00
Martin Diehl
3705f1d3a2
F,P, ... in loadcase are 2nd order tensors
2021-06-03 08:21:16 +02:00
Martin Diehl
5d0fc4fca3
more meaningful order
...
and intent(out) variables for read are at the front
2021-06-01 16:46:24 +02:00
Sharan Roongta
d1a6607782
Merge branch 'load2Dtensor' into 'development'
...
support for 2D tensor in load case
See merge request damask/DAMASK!391
2021-05-29 13:21:47 +00:00
Martin Diehl
adb1e51e24
support for 2D tensor in load case
...
currently optional, but should become mandatory after a transition
period
2021-05-26 08:04:14 +02:00
Martin Diehl
d2855913b5
new mappings
2021-05-22 11:48:42 +02:00