DAMASK with grid solvers  Revision: v2.0.3-2204-gdb1f2151
The Düsseldorf Advanced Material Simulation Kit with Grid Solvers
CPFEM2.f90
Go to the documentation of this file.
1 # 1 "/home/damask_user/GitLabCI_Pipeline_4301/DAMASK/src/CPFEM2.f90"
2 # 1 "<built-in>"
3 # 1 "<command-line>"
4 # 1 "/home/damask_user/GitLabCI_Pipeline_4301/DAMASK/src/CPFEM2.f90"
5 !--------------------------------------------------------------------------------------------------
9 !--------------------------------------------------------------------------------------------------
10 module cpfem2
11  use prec
12  use numerics
13  use debug
14  use config
15  use fesolving
16  use math
17  use rotations
18  use material
19  use lattice
20  use io
22  use results
23  use discretization
24  use hdf5_utilities
25  use homogenization
26  use constitutive
27  use crystallite
28 
29 
30 
31 
32 
33 
34 
35  implicit none
36  public
37 
38 contains
39 
40 
41 !--------------------------------------------------------------------------------------------------
43 !--------------------------------------------------------------------------------------------------
44 subroutine cpfem_initall
45 
46  call damask_interface_init ! 1 and FEM interface to commandline
47  call prec_init
48  call io_init
49 
50 
51 
52  call numerics_init
53  call debug_init
54  call config_init
55  call math_init
56  call rotations_init
57  call lattice_init
59  call results_init
60 
61 
62 
63 
64 
65  call material_init
67  call crystallite_init
69  call cpfem_init
70 
71 end subroutine cpfem_initall
72 
73 
74 !--------------------------------------------------------------------------------------------------
76 !--------------------------------------------------------------------------------------------------
77 subroutine cpfem_init
78 
79  write(6,'(/,a)') ' <<<+- CPFEM init -+>>>'; flush(6)
80 
82 
83 end subroutine cpfem_init
84 
85 
86 !--------------------------------------------------------------------------------------------------
88 !--------------------------------------------------------------------------------------------------
89 subroutine cpfem_restartwrite
90 
92 
93 end subroutine cpfem_restartwrite
94 
95 
96 !--------------------------------------------------------------------------------------------------
98 !--------------------------------------------------------------------------------------------------
99 subroutine cpfem_forward
100 
102 
103 end subroutine cpfem_forward
104 
105 
106 !--------------------------------------------------------------------------------------------------
108 !--------------------------------------------------------------------------------------------------
109 subroutine cpfem_results(inc,time)
110 
111  integer, intent(in) :: inc
112  real(pReal), intent(in) :: time
113 
115  call results_addincrement(inc,time)
122 
123 end subroutine cpfem_results
124 
125 end module cpfem2
crystallite::crystallite_init
subroutine, public crystallite_init
allocates and initialize per grain variables
Definition: crystallite.f90:125
debug::debug_init
subroutine, public debug_init
reads in parameters from debug.config and allocates arrays
Definition: debug.f90:84
cpfem2
needs a good name and description
Definition: CPFEM2.f90:10
rotations
rotation storage and conversion
Definition: rotations.f90:53
cpfem2::cpfem_results
subroutine cpfem_results(inc, time)
Trigger writing of results.
Definition: CPFEM2.f90:110
crystallite::crystallite_restartwrite
subroutine, public crystallite_restartwrite
Write current restart information (Field and constitutive data) to file.
Definition: crystallite.f90:1757
crystallite::crystallite_forward
subroutine, public crystallite_forward
Forward data after successful increment.
Definition: crystallite.f90:1839
results::results_closejobfile
subroutine, public results_closejobfile
closes the results file
Definition: results.f90:102
cpfem2::cpfem_initall
subroutine cpfem_initall
call all module initializations
Definition: CPFEM2.f90:45
cpfem2::cpfem_forward
subroutine cpfem_forward
Forward data for new time increment.
Definition: CPFEM2.f90:100
crystallite::crystallite_restartread
subroutine, public crystallite_restartread
Read data for restart.
Definition: crystallite.f90:1798
homogenization::homogenization_init
subroutine, public homogenization_init
module initialization
Definition: homogenization.f90:146
io::io_init
subroutine, public io_init
does nothing.
Definition: IO.f90:49
results::results_init
subroutine, public results_init
Definition: results.f90:67
hdf5_utilities
Definition: HDF5_utilities.f90:11
material
Parses material config file, either solverJobName.materialConfig or material.config.
Definition: material.f90:11
homogenization::homogenization_results
subroutine, public homogenization_results
writes homogenization results to HDF5 output file
Definition: homogenization.f90:589
cpfem2::cpfem_init
subroutine cpfem_init
Read restart information if needed.
Definition: CPFEM2.f90:78
config
Reads in the material configuration from file.
Definition: config.f90:13
crystallite
crystallite state integration functions and reporting of results
Definition: crystallite.f90:15
prec
setting precision for real and int type
Definition: prec.f90:13
prec::prec_init
subroutine prec_init
reporting precision
Definition: prec.f90:101
lattice::lattice_init
subroutine, public lattice_init
Module initialization.
Definition: lattice.f90:457
discretization
spatial discretization
Definition: discretization.f90:9
crystallite::crystallite_results
subroutine, public crystallite_results
writes crystallite results to HDF5 output file
Definition: crystallite.f90:625
constitutive::constitutive_results
subroutine, public constitutive_results
writes constitutive results to HDF5 output file
Definition: constitutive.f90:844
damask_interface::damask_interface_init
subroutine, public damask_interface_init
initializes the solver by interpreting the command line arguments. Also writes information on computa...
Definition: DAMASK_interface.f90:56
io
input/output functions, partly depending on chosen solver
Definition: IO.f90:12
homogenization
homogenization manager, organizing deformation partitioning and stress homogenization
Definition: homogenization.f90:11
debug
Reading in and interpretating the debugging settings for the various modules.
Definition: debug.f90:12
results::results_addincrement
subroutine, public results_addincrement(inc, time)
creates the group of increment and adds time as attribute to the file
Definition: results.f90:112
hdf5_utilities::hdf5_utilities_init
subroutine hdf5_utilities_init
open libary and do sanity checks
Definition: HDF5_utilities.f90:91
numerics::numerics_init
subroutine, public numerics_init
reads in parameters from numerics.config and sets openMP related parameters. Also does
Definition: numerics.f90:1519
constitutive
elasticity, plasticity, internal microstructure state
Definition: constitutive.f90:10
lattice
contains lattice structure definitions including Schmid matrices for slip, twin, trans,
Definition: lattice.f90:13
damask_interface::interface_restartinc
integer, public, protected interface_restartinc
Increment at which calculation starts.
Definition: DAMASK_interface.f90:36
damask_interface
Interfacing between the 1-based solvers and the material subroutines provided by DAMASK.
Definition: DAMASK_interface.f90:22
results::results_openjobfile
subroutine, public results_openjobfile
opens the results file to append data
Definition: results.f90:92
rotations::rotations_init
subroutine, public rotations_init
doing self test
Definition: rotations.f90:98
results
Definition: results.f90:11
cpfem2::cpfem_restartwrite
subroutine cpfem_restartwrite
Write restart information.
Definition: CPFEM2.f90:90
results::results_finalizeincrement
subroutine, public results_finalizeincrement
finalize increment
Definition: results.f90:132
material::material_init
subroutine, public material_init
parses material configuration file
Definition: material.f90:217
math
Mathematical library, including random number generation and tensor representations.
Definition: math.f90:12
constitutive::constitutive_init
subroutine, public constitutive_init
allocates arrays pointing to array of the various constitutive modules
Definition: constitutive.f90:344
config::config_init
subroutine, public config_init
reads material.config and stores its content per part
Definition: config.f90:51
math::math_init
subroutine math_init
initialization of random seed generator and internal checks
Definition: math.f90:95
discretization::discretization_results
subroutine, public discretization_results
write the displacements
Definition: discretization.f90:85
numerics
Managing of parameters related to numerics.
Definition: numerics.f90:10
fesolving
global variables for flow control
Definition: FEsolving.f90:10