-
Notifications
You must be signed in to change notification settings - Fork 1k
/
cosserat04.i
116 lines (109 loc) · 2.21 KB
/
cosserat04.i
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
[Mesh]
type = GeneratedMesh
dim = 3
[]
[GlobalParams]
disp_z = disp_z
disp_y = disp_y
disp_x = disp_x
wc_z = wc_z
wc_y = wc_y
wc_x = wc_x
[]
[Variables]
[./disp_x]
[../]
[./disp_y]
[../]
[./disp_z]
[../]
[./wc_x]
[../]
[./wc_y]
[../]
[./wc_z]
[../]
[]
[Kernels]
active = 'cx_elastic cy_elastic cz_elastic x_couple y_couple z_couple x_moment y_moment z_moment'
[./cx_elastic]
type = CosseratStressDivergenceTensors
variable = disp_x
component = 0
[../]
[./cy_elastic]
type = CosseratStressDivergenceTensors
variable = disp_y
component = 1
[../]
[./cz_elastic]
type = CosseratStressDivergenceTensors
variable = disp_z
component = 2
[../]
[./x_couple]
type = StressDivergenceTensors
variable = wc_x
disp_z = wc_z
disp_y = wc_y
disp_x = wc_x
component = 0
appended_property_name = _couple
[../]
[./y_couple]
type = StressDivergenceTensors
variable = wc_y
disp_z = wc_z
disp_y = wc_y
disp_x = wc_x
component = 1
appended_property_name = _couple
[../]
[./z_couple]
type = StressDivergenceTensors
variable = wc_z
disp_z = wc_z
disp_y = wc_y
disp_x = wc_x
component = 2
appended_property_name = _couple
[../]
[./x_moment]
type = MomentBalancing
variable = wc_x
component = 0
[../]
[./y_moment]
type = MomentBalancing
variable = wc_y
component = 1
[../]
[./z_moment]
type = MomentBalancing
variable = wc_z
component = 2
[../]
[]
[Materials]
[./cosserat]
type = CosseratLinearElasticMaterial
block = 0
B_ijkl = '1 2.2 2.333 1.988 1 2.1 2.2 2.3 2.4 1 2.2 2.333 1.988 1 2.1 2.2 2.3 2.4 2.2 2 1.6'
fill_method_bending = 'symmetric21'
C_ijkl = '1.07 1.2 1.333 0.988 1.123 1.1 1.25 1.3 1.4 1 1.2 1.333 0.9 1.11 1.16 1.28 1.35 1.45 1.03 1 0.6'
fill_method = 'symmetric21'
[../]
[]
[Preconditioning]
[./andy]
type = SMP
full = true
#petsc_options = '-snes_test_display'
petsc_options_iname = '-ksp_type -pc_type -snes_atol -snes_rtol -snes_max_it -snes_type'
petsc_options_value = 'bcgs bjacobi 1E-15 1E-10 10000 test'
[../]
[]
[Executioner]
type = Transient
solve_type = Newton
[]