cleaning up example files
This commit is contained in:
parent
b9f273099d
commit
452da977b0
2
PRIVATE
2
PRIVATE
|
@ -1 +1 @@
|
||||||
Subproject commit 79929319c0756bdff58dd69cf4969774a880c1bf
|
Subproject commit c6536a004dcd9bd883e1dbd38a3a1265b0eda53d
|
|
@ -1,2 +0,0 @@
|
||||||
(kinematics) thermal_expansion
|
|
||||||
thermal_expansion11 0.0000231
|
|
|
@ -1,16 +0,0 @@
|
||||||
Aluminum:
|
|
||||||
lattice: cF
|
|
||||||
mechanical:
|
|
||||||
output: [F, P, F_e, F_p, L_p, O]
|
|
||||||
elastic: {C_11: 106.75e9, C_12: 60.41e9, C_44: 28.34e9, type: Hooke}
|
|
||||||
plastic:
|
|
||||||
N_sl: [12]
|
|
||||||
a_sl: 2.25
|
|
||||||
dot_gamma_0_sl: 0.001
|
|
||||||
h_0_sl-sl: 75e6
|
|
||||||
h_sl-sl: [1, 1, 1.4, 1.4, 1.4, 1.4, 1.4]
|
|
||||||
n_sl: 20
|
|
||||||
output: [xi_sl, gamma_sl]
|
|
||||||
type: phenopowerlaw
|
|
||||||
xi_0_sl: [31e6]
|
|
||||||
xi_inf_sl: [63e6]
|
|
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 375 KiB |
|
@ -0,0 +1,22 @@
|
||||||
|
epsilon sigma
|
||||||
|
0.0 0.0
|
||||||
|
0.0031774515415435856 1.3241572946800098
|
||||||
|
0.007632690314496565 1.8769627028448532
|
||||||
|
0.012710579645127867 2.398519561282736
|
||||||
|
0.01965255325402597 2.7954689602895897
|
||||||
|
0.02846634593072725 3.1295345203656986
|
||||||
|
0.03852543972278516 3.4011029809878863
|
||||||
|
0.05046408737218261 3.671511223179614
|
||||||
|
0.062387265442507306 3.8184722243707725
|
||||||
|
0.0730612750027072 3.9970685147657115
|
||||||
|
0.08749052488281794 4.142482558049593
|
||||||
|
0.10065900406849931 4.226946459786829
|
||||||
|
0.11382748325418066 4.311410361524061
|
||||||
|
0.12824899834475503 4.395100784307658
|
||||||
|
0.14705227170768684 4.4452222205033785
|
||||||
|
0.16774283371749454 4.555907058768929
|
||||||
|
0.1834173847129619 4.638824002598888
|
||||||
|
0.19846541775598284 4.722127685905665
|
||||||
|
0.21288693284655721 4.805818108689262
|
||||||
|
0.23107142304657893 4.918049904862087
|
||||||
|
0.24674984143681447 5.031828658942189
|
|
@ -0,0 +1,21 @@
|
||||||
|
epsilon sigma
|
||||||
|
0.0 0.0
|
||||||
|
0.0014874000278452676 2.8375462153674764
|
||||||
|
0.004705072474977964 3.514572343486533
|
||||||
|
0.008549262874557206 4.191211732128767
|
||||||
|
0.013023838621351133 4.898326191544326
|
||||||
|
0.016871896415698542 5.605827390436705
|
||||||
|
0.022599508067385504 6.312168370898625
|
||||||
|
0.028327119719072452 7.018509351360548
|
||||||
|
0.036556935785777275 7.692441563665051
|
||||||
|
0.0454171371996968 8.396848846742879
|
||||||
|
0.0555187723342048 9.00789722011664
|
||||||
|
0.06562040746871278 9.6189455934904
|
||||||
|
0.07697894590288198 10.260082298160665
|
||||||
|
0.08831814736321025 10.746909951580216
|
||||||
|
0.09964187924446577 11.110290363999194
|
||||||
|
0.112849032377829 11.503372368237859
|
||||||
|
0.12291199356465513 11.805802639110189
|
||||||
|
0.13548489395603547 12.137547762325386
|
||||||
|
0.1461666383057717 12.37786767322061
|
||||||
|
0.15810141856040097 12.617414105162197
|
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 364 KiB |
|
@ -0,0 +1,20 @@
|
||||||
|
epsilon sigma
|
||||||
|
0.0 0.0
|
||||||
|
0.7843137254901968 12.379237409249356
|
||||||
|
1.5686274509803937 24.900436365022188
|
||||||
|
2.1568627450980387 35.38463004249314
|
||||||
|
2.9411764705882355 46.15655786123972
|
||||||
|
3.5294117647058805 55.766115970197575
|
||||||
|
4.313725490196077 66.8295889784485
|
||||||
|
5.196078431372548 77.30806608357625
|
||||||
|
5.980392156862745 86.03917757579222
|
||||||
|
6.862745098039216 94.47683835438937
|
||||||
|
8.235294117647054 105.23733302844946
|
||||||
|
9.411764705882355 113.6692772347034
|
||||||
|
10.686274509803923 121.22468034832983
|
||||||
|
12.352941176470587 127.89782579698544
|
||||||
|
14.215686274509803 134.2756150079079
|
||||||
|
16.176470588235293 140.65149869471597
|
||||||
|
18.235294117647054 145.2762057203834
|
||||||
|
20.392156862745093 148.4412812744145
|
||||||
|
22.843137254901958 150.72600468758932
|
|
@ -0,0 +1,22 @@
|
||||||
|
epsilon sigma
|
||||||
|
0.0 0.0
|
||||||
|
0.39215686274509665 11.803769126698228
|
||||||
|
0.6862745098039191 24.33449570304316
|
||||||
|
1.2745098039215677 38.02568646506222
|
||||||
|
1.6666666666666679 50.262962327788216
|
||||||
|
2.0588235294117645 62.50023819051427
|
||||||
|
2.5490196078431353 77.35951523466525
|
||||||
|
3.0392156862745097 91.92724708931189
|
||||||
|
3.6274509803921546 109.11698012538346
|
||||||
|
4.313725490196077 128.34562396387125
|
||||||
|
5 144.65881590731527
|
||||||
|
5.882352941176471 160.09356123401741
|
||||||
|
6.666666666666664 174.94712170582517
|
||||||
|
7.6470588235294095 191.8376874559347
|
||||||
|
8.627450980392155 208.14516282703556
|
||||||
|
9.6078431372549 222.70336706111016
|
||||||
|
10.784313725490193 236.0915794889384
|
||||||
|
12.549019607843139 251.21762990910648
|
||||||
|
14.803921568627448 265.4595171401894
|
||||||
|
16.862745098039216 276.498218334953
|
||||||
|
20.098039215686274 284.01551096629123
|
|
@ -0,0 +1,68 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from pathlib import Path
|
||||||
|
import os
|
||||||
|
|
||||||
|
import numpy as np
|
||||||
|
from scipy import interpolate
|
||||||
|
from matplotlib import pyplot as plt
|
||||||
|
|
||||||
|
import damask
|
||||||
|
|
||||||
|
|
||||||
|
# material.yaml
|
||||||
|
example_dir = Path.home()/'DAMASK/examples/config/phase'
|
||||||
|
|
||||||
|
phase = damask.ConfigMaterial.load(example_dir/'Al.yaml')
|
||||||
|
phase['mechanical'] = {'output': ['F','P']}
|
||||||
|
phase['mechanical']['elastic'] = damask.ConfigMaterial.load(example_dir/'mechanical/elastic/Hooke_Al.yaml')
|
||||||
|
phase['mechanical']['plastic'] = damask.ConfigMaterial.load(example_dir/'mechanical/plastic/phenopowerlaw_Al.yaml')
|
||||||
|
|
||||||
|
mat = damask.ConfigMaterial()
|
||||||
|
mat['phase']['Al'] = phase
|
||||||
|
mat['homogenization']['SX'] = {'N_constituents': 1,'mechanical': {'type': 'pass'}}
|
||||||
|
|
||||||
|
# load
|
||||||
|
load = damask.Config()
|
||||||
|
load['solver'] = {'mechanical': 'spectral_basic'}
|
||||||
|
load['loadstep'] = [{'boundary_conditions': {'mechanical': {'dot_F': [[4.5e-3,'x','x'],[0,'x','x'],[0,0,'x']],
|
||||||
|
'P': [['x',0,0],['x',0,0],['x','x',0]]}},
|
||||||
|
'discretization': {'t': 65, 'N': 100}}]
|
||||||
|
|
||||||
|
# grid
|
||||||
|
grid = damask.Grid(np.zeros([2,2,2],int),np.ones(3)*1e-5)
|
||||||
|
|
||||||
|
# crystallographic directions
|
||||||
|
samples = {'001':[[0,0,1],[0,1,0]],'111':[[1,1,1],[0,1,-1]]}
|
||||||
|
|
||||||
|
# reference results
|
||||||
|
reference = {}
|
||||||
|
for label,directions in samples.items():
|
||||||
|
ref_data = damask.Table.load('HosfordEtAl1960_Fig5_'+label+'.txt')
|
||||||
|
reference[label] = [ref_data.get('epsilon')[:,0],ref_data.get('sigma')[:,0]*6894.76e3] # kpsi to Pa
|
||||||
|
|
||||||
|
results = {}
|
||||||
|
for label,directions in samples.items():
|
||||||
|
|
||||||
|
os.makedirs(label, exist_ok=True)
|
||||||
|
|
||||||
|
grid.save('/'.join([label,'2x2x2.vti']))
|
||||||
|
load.save('/'.join([label,'tensionX.yaml']))
|
||||||
|
|
||||||
|
ori = damask.Orientation.from_directions(directions[0],directions[1],lattice='cF')
|
||||||
|
mat_c = mat.material_add(O=ori,phase='Al',homogenization='SX')
|
||||||
|
mat_c.save('/'.join([label,'material.yaml']))
|
||||||
|
|
||||||
|
damask.util.execute(f'DAMASK_grid -l tensionX.yaml -g 2x2x2.vti --wd {label}')
|
||||||
|
|
||||||
|
r = damask.Result('/'.join([label,'2x2x2_tensionX.hdf5']))
|
||||||
|
r.add_strain()
|
||||||
|
r.add_stress_Cauchy()
|
||||||
|
results[label] = [np.array([np.average(epsilon[:,0,0]) for epsilon in r.get('epsilon_V^0.0(F)').values()]),
|
||||||
|
np.array([np.average(sigma[:,0,0]) for sigma in r.get('sigma').values()])]
|
||||||
|
|
||||||
|
|
||||||
|
color = 'tab:blue' if label == '111' else 'tab:orange'
|
||||||
|
plt.plot(results[label][0],results[label][1],label=label+'_sim',color=color,linestyle=':')
|
||||||
|
plt.plot(reference[label][0],reference[label][1],label=label+'_exp',color=color,linestyle='-')
|
||||||
|
plt.savefig('HosfordEtAl1960_Fig5.pdf')
|
|
@ -0,0 +1,15 @@
|
||||||
|
type: phenopowerlaw
|
||||||
|
references:
|
||||||
|
- W.F. Hosford et al.,
|
||||||
|
Acta Metallurgica, 8(3), 187-199, 1960,
|
||||||
|
10.1016/0001-6160(60)90127-9,
|
||||||
|
fitted from Fig. 5
|
||||||
|
output: [xi_sl, gamma_sl]
|
||||||
|
N_sl: [12]
|
||||||
|
h_sl-sl: [1, 1, 1.4, 1.4, 1.4, 1.4, 1.4]
|
||||||
|
n_sl: 20
|
||||||
|
a_sl: 3.1
|
||||||
|
h_0_sl-sl: 1.7e8
|
||||||
|
xi_0_sl: [5.0e6]
|
||||||
|
xi_inf_sl: [37.5e6]
|
||||||
|
dot_gamma_0_sl: 4.5e-3
|
|
@ -0,0 +1,65 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from pathlib import Path
|
||||||
|
import os
|
||||||
|
|
||||||
|
import numpy as np
|
||||||
|
from scipy import interpolate
|
||||||
|
from matplotlib import pyplot as plt
|
||||||
|
|
||||||
|
import damask
|
||||||
|
|
||||||
|
|
||||||
|
# material.yaml
|
||||||
|
example_dir = Path.home()/'DAMASK/examples/config/phase'
|
||||||
|
|
||||||
|
phase = damask.ConfigMaterial.load(example_dir/'Cu.yaml')
|
||||||
|
phase['mechanical'] = {'output': ['F','P']}
|
||||||
|
phase['mechanical']['elastic'] = damask.ConfigMaterial.load(example_dir/'mechanical/elastic/Hooke_Cu.yaml')
|
||||||
|
phase['mechanical']['plastic'] = damask.ConfigMaterial.load(example_dir/'mechanical/plastic/phenopowerlaw_Cu.yaml')
|
||||||
|
|
||||||
|
mat = damask.ConfigMaterial()
|
||||||
|
mat['phase']['Cu'] = phase
|
||||||
|
mat['homogenization']['SX'] = {'N_constituents': 1,'mechanical': {'type': 'pass'}}
|
||||||
|
|
||||||
|
# load
|
||||||
|
load = damask.Config()
|
||||||
|
load['solver'] = {'mechanical': 'spectral_basic'}
|
||||||
|
load['loadstep'] = [{'boundary_conditions': {'mechanical': {'dot_F': [[3e-3,'x','x'],[0,'x','x'],[0,0,'x']],
|
||||||
|
'P': [['x',0,0],['x',0,0],['x','x',0]]}},
|
||||||
|
'discretization': {'t': 100, 'N': 100}}]
|
||||||
|
|
||||||
|
# grid
|
||||||
|
grid = damask.Grid(np.zeros([2,2,2],int),np.ones(3)*1e-5)
|
||||||
|
|
||||||
|
|
||||||
|
# crystallographic directions
|
||||||
|
samples = {'001':[[0,0,1],[0,1,0]],'111':[[1,1,1],[0,1,-1]]}
|
||||||
|
|
||||||
|
# reference results
|
||||||
|
reference = {}
|
||||||
|
for label,directions in samples.items():
|
||||||
|
ref_data = damask.Table.load('Takeuchi1975_Fig3b_'+label+'.txt')
|
||||||
|
reference[label] = [ref_data.get('epsilon')[:,0]*.01,ref_data.get('sigma')[:,0]*1e6]
|
||||||
|
|
||||||
|
results = {}
|
||||||
|
for label,directions in samples.items():
|
||||||
|
os.makedirs(label, exist_ok=True)
|
||||||
|
|
||||||
|
grid.save('/'.join([label,'2x2x2.vti']))
|
||||||
|
load.save('/'.join([label,'tensionX.yaml']))
|
||||||
|
|
||||||
|
ori = damask.Orientation.from_directions(directions[0],directions[1],lattice='cF')
|
||||||
|
mat_c = mat.material_add(O=ori,phase='Cu',homogenization='SX')
|
||||||
|
mat_c.save('/'.join([label,'material.yaml']))
|
||||||
|
|
||||||
|
damask.util.execute(f'DAMASK_grid -l tensionX.yaml -g 2x2x2.vti --wd {label}')
|
||||||
|
|
||||||
|
r = damask.Result('/'.join([label,'2x2x2_tensionX.hdf5']))
|
||||||
|
results[label] = [np.array([np.average(F[:,0,0]-1) for F in r.get('F').values()]),
|
||||||
|
np.array([np.average(P[:,0,0]) for P in r.get('P').values()])]
|
||||||
|
|
||||||
|
color = 'tab:blue' if label == '111' else 'tab:orange'
|
||||||
|
plt.plot(results[label][0],results[label][1],label=label+'_sim',color=color,linestyle=':')
|
||||||
|
plt.plot(reference[label][0],reference[label][1],label=label+'_exp',color=color,linestyle='-')
|
||||||
|
plt.savefig('Takeuchi1975_Fig3b.pdf')
|
|
@ -0,0 +1,15 @@
|
||||||
|
type: phenopowerlaw
|
||||||
|
references:
|
||||||
|
- T Takeuchi,
|
||||||
|
Transactions of the Japan Institute of Metals 16(10), 629-640, 1975,
|
||||||
|
10.2320/matertrans1960.16.629,
|
||||||
|
fitted from Fig. 3b
|
||||||
|
output: [xi_sl, gamma_sl]
|
||||||
|
N_sl: [12]
|
||||||
|
h_sl-sl: [1, 1, 1.4, 1.4, 1.4, 1.4, 1.4]
|
||||||
|
n_sl: 20
|
||||||
|
a_sl: 1.0
|
||||||
|
h_0_sl-sl: 2.4e8
|
||||||
|
xi_0_sl: [1.5e6]
|
||||||
|
xi_inf_sl: [112.5e6]
|
||||||
|
dot_gamma_0_sl: 3e-3
|
Loading…
Reference in New Issue