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
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
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
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
Martin Diehl
63f9078f04
don' hardcode output unit
...
replaced remaining write(6,..), flush(6) with write(OUTPUT_UNIT,...),
flush(OUTPUT_UNIT)
2020-09-22 12:15:36 +02:00
Martin Diehl
9ed9278183
polishing
2020-09-20 19:46:33 +02:00
Martin Diehl
329cc1c953
tighter tolerance for stress
2020-09-20 17:36:11 +02:00
Martin Diehl
c4d0ac71a9
silences GNU10 compilation warning
...
only for 'DEFENSIVE'. Does not cause any harm
2020-09-20 17:15:39 +02:00
Martin Diehl
0a7d4f61ac
Need only logical mask
...
'merge' substitutes multiplication with float mask
2020-09-20 16:54:58 +02:00
Martin Diehl
6367cb8fcb
consistent handling of boundary conditions
...
A stress boundary condition 'P' indicates the stress at the end of the
load case (same as for 'F') 'Pdot' for given increase of (technical)
strain is not implemented.
Does not change anything for the most common case of zero-stress
boundary conditions, but simplifies the specification of stress ramps
2020-09-20 15:48:41 +02:00
Martin Diehl
d584207e0a
same layout for easy diff
2020-09-20 13:01:56 +02:00
Martin Diehl
8dfb972ac1
private is already default (module wide)
2020-09-20 11:49:20 +02:00
Martin Diehl
593a40b392
Merge branch 'Fortran-simplifications' into stress-ramp-loadcase
2020-09-20 11:42:04 +02:00
Martin Diehl
053c3f39ea
solution completely relies on state defined by 'forward'
2020-09-19 23:40:17 +02:00
Martin Diehl
42186b9f87
fixed typo
2020-09-19 22:08:38 +02:00
Martin Diehl
c108b4df66
concise description
2020-09-19 11:41:16 +02:00
Martin Diehl
d0b5905544
remaining write(6,...) without advance='no'
2020-09-19 11:02:40 +02:00
Martin Diehl
139eecec0a
polishing
2020-09-19 10:56:41 +02:00
Martin Diehl
1d2e9324f1
do not rely on 6=STDOUT, 0=STDERR
2020-09-19 10:51:07 +02:00
Martin Diehl
c34bf83e35
variable names better reflect their content
2020-09-19 10:27:15 +02:00
Martin Diehl
201303f35f
clarified logic
2020-09-19 10:00:49 +02:00
Martin Diehl
c4ce28e63f
untangling
2020-09-19 09:41:48 +02:00
Martin Diehl
51f43ddc09
small polishing
2020-09-19 09:24:27 +02:00