homogenization#

homogenization is a dictionary of arbitrarily labeled keys. Each of those entries requires a key N_constituents that specifies the number of homogenized constituents. At least the type of the employed homogenization scheme for each active field (mechanical, thermal, or damage) is required; any further configuration details depend on the selected homogenization scheme. It is recommended to construct homogenization entries based on the Reference Examples (also included in config.tar.xz) rather than from scratch.

Warning

Only a single homogenization entry is supported at the moment.

The basic layout is sketched in the following:

homogenization:

 label_A:
   N_constituents: N_A
   mechanical:
     type: tbd
     ...:
   thermal:
     type: tbd
     ...:
   damage:
     type: tbd
     ...:

 label_B:
   N_constituents: N_B
   mechanical:
     type: tbd
     ...:
   thermal:
     type: tbd
     ...:
   damage:
     type: tbd
     ...:

 label_:
   ...

Reference Examples#

8grains#

N_constituents: 8

bicrystal#

N_constituents: 2

direct#

N_constituents: 1

damage#

pass_direct#

# For single point calculations, requires N_constituents = 1
type: pass
output: ['T']

mechanical#

RGC_8grains#

# For Relaxed Grain Cluster homogenization, requires N_constituents = 8
type: RGC
D_alpha: [4.0e-06, 4.0e-06, 2.0e-06]
a_g: [0.0, 0.0, 0.0]
c_alpha: 2.0
cluster_size: [2, 2, 2]
output: [M, Delta_V, avg_dot_a, max_dot_a]
xi_alpha: 10.0

isostrain_polycrystal#

# For Taylor homogenization with N_constituents > 1
type: isostrain
output: ['F', 'P']

pass_direct#

# For single point calculations, requires N_constituents = 1
type: pass
output: ['F', 'P']

thermal#

isotemperature_polycrystal#

# For homogenization with N_constituents > 1
type: isotemperature
output: ['T']

pass_direct#

# For single point calculations, requires N_constituents = 1
type: pass
output: ['T']