Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Constants_A2_B2.f90
Go to the documentation of this file.
1 !*********************************************************************
2 !* Illinois Open Source License *
3 !* *
4 !* University of Illinois/NCSA *
5 !* Open Source License *
6 !* *
7 !* Copyright@2008, University of Illinois. All rights reserved. *
8 !* *
9 !* Developed by: *
10 !* *
11 !* Center for Simulation of Advanced Rockets *
12 !* *
13 !* University of Illinois *
14 !* *
15 !* www.csar.uiuc.edu *
16 !* *
17 !* Permission is hereby granted, free of charge, to any person *
18 !* obtaining a copy of this software and associated documentation *
19 !* files (the "Software"), to deal with the Software without *
20 !* restriction, including without limitation the rights to use, *
21 !* copy, modify, merge, publish, distribute, sublicense, and/or *
22 !* sell copies of the Software, and to permit persons to whom the *
23 !* Software is furnished to do so, subject to the following *
24 !* conditions: *
25 !* *
26 !* *
27 !* @ Redistributions of source code must retain the above copyright *
28 !* notice, this list of conditions and the following disclaimers. *
29 !* *
30 !* @ Redistributions in binary form must reproduce the above *
31 !* copyright notice, this list of conditions and the following *
32 !* disclaimers in the documentation and/or other materials *
33 !* provided with the distribution. *
34 !* *
35 !* @ Neither the names of the Center for Simulation of Advanced *
36 !* Rockets, the University of Illinois, nor the names of its *
37 !* contributors may be used to endorse or promote products derived *
38 !* from this Software without specific prior written permission. *
39 !* *
40 !* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, *
41 !* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES *
42 !* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND *
43 !* NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR *
44 !* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER *
45 !* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, *
46 !* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
47 !* USE OR OTHER DEALINGS WITH THE SOFTWARE. *
48 !*********************************************************************
49 !* Please acknowledge The University of Illinois Center for *
50 !* Simulation of Advanced Rockets in works and publications *
51 !* resulting from this software or its derivatives. *
52 !*********************************************************************
53 SUBROUTINE constant_w(Gm, G2, K2, Km, a_eta, a_zeta, vm, v2, W)
54 
55 
56  IMPLICIT NONE
57 
58  REAL*8, DIMENSION(1:6,1:6) :: w
59 ! Poisson's ratio
60  REAL*8 :: vm, v2
61 ! Shear modulus
62  REAL*8 :: gm, g2
63 ! Bulk modulus
64  REAL*8 :: k2, km, a_eta, a_zeta
65 
66 
67  REAL*8 :: e, f, h
68  REAL*8 :: a2, b2
69 
70  REAL*8 :: intparam
71  REAL*8 :: upsilon
72  REAL*8 :: gamma
73 
74  integer :: i
75 
76 
77  e = g2/a_eta
78  f = g2/a_zeta
79  h = gm/g2
80 
81 
82  CALL constants_a2_b2(e, f, h, vm, v2, a2, b2)
83 
84  intparam = k2/(a_eta)
85 
86  upsilon = g2*(21.d0*a2 + 5.d0*b2)/(5.d0*gm)
87 
88  gamma = k2*(3.d0*km+4.d0*gm)/( 3.d0*km*(3.d0*k2 + 4.d0*gm*(1.d0+3.d0*intparam)) )
89 
90 ! W
91  w(:,:) = 0.d0
92 
93  w(1,1) = gamma + 2.d0/3.d0*upsilon
94  w(1,2) = gamma - 1.d0/3.d0*upsilon
95  w(1,3) = w(1,2)
96  w(2,1) = w(1,2)
97  w(2,2) = w(1,1)
98  w(2,3) = w(1,2)
99  w(3,1) = w(1,3)
100  w(3,2) = w(2,3)
101  w(3,3) = w(1,1)
102  w(4,4) = upsilon
103  w(5,5) = w(4,4)
104  w(6,6) = w(4,4)
105 
106 END SUBROUTINE constant_w
107 
108 
109 SUBROUTINE constants_a2_b2(e,f,h,vm,v2,A2,B2)
110 
111 
112  IMPLICIT NONE
113 
114  REAL*8 :: vm,v2
115  REAL*8 :: e, f, h
116 
117  REAL*8 :: a2,b2
118 
119 
120  a2 = -120.d0*(-f+f*vm+e-e*vm)/(-196.d0-196.d0*v2*h*e-224.d0*f*v2*e+166.d0*h*f*v2 &
121  -192.d0*v2*h**2*e+364.d0*h*e*vm-255.d0*v2*h*vm-190.d0*v2*h**2*vm+560.d0*f*e*vm+140.d0 &
122  *v2*h*e*vm-50.d0*h*f*v2*vm+240.d0*v2*h**2*e*vm-336.d0*h*f*v2*e+266.d0*f*h*vm &
123  -160.d0*v2*e*vm+80.d0*f*v2*vm-308.d0*e*h+224.d0*v2*e-273.d0*h-392.d0*e-392.d0*f-784.d0*f*e &
124  +112.d0*v2-56.d0*h**2-238.d0*h*f+152.d0*v2*h**2+261.d0*v2*h-112.d0*f*v2+140.d0*vm+315.d0*h &
125  *vm+160.d0*f*v2*e*vm+280.d0*f*vm+280.d0*e*vm+70.d0*h**2*vm-80.d0*v2*vm+240.d0*h*f*v2 &
126  *e*vm)
127 
128  b2 = 15.d0*(-24.d0*v2*h*e-7.d0*h+19.d0*v2*h-28.d0+16.d0*v2-56.d0*f+24.d0*v2*h*e*vm+16.d0*f* &
129  v2*vm+28.d0*vm+56.d0*f*vm+7.d0*h*vm-16.d0*f*v2-19.d0*v2*h*vm-16.d0*v2*vm)/(-196.d0-196.d0* &
130  v2*h*e-224.d0*f*v2*e+166.d0*h*f*v2-192.d0*v2*h**2*e+364.d0*h*e*vm-255.d0*v2*h*vm- &
131  190.d0*v2*h**2*vm+560.d0*f*e*vm+140.d0*v2*h*e*vm-50.d0*h*f*v2*vm+240.d0*v2*h**2*e &
132  *vm-336.d0*h*f*v2*e+266.d0*f*h*vm-160.d0*v2*e*vm+80.d0*f*v2*vm-308.d0*e*h+224.d0*v2* &
133  e-273.d0*h-392.d0*e-392.d0*f-784.d0*f*e+112.d0*v2-56.d0*h**2-238.d0*h*f+152.d0*v2*h**2+261.d0 &
134  *v2*h-112.d0*f*v2+140.d0*vm+315.d0*h*vm+160.d0*f*v2*e*vm+280.d0*f*vm+280.d0*e*vm+70.d0* &
135  h**2*vm-80.d0*v2*vm+240.d0*h*f*v2*e*vm)
136 
137 
138 END SUBROUTINE constants_a2_b2
139 
140 
141 !!$
142 !!$ t1 = e*h
143 !!$ t3 = 56*e
144 !!$ t4 = v2*e
145 !!$ t5 = 32*t4
146 !!$ t6 = f*e
147 !!$ t7 = 112*t6
148 !!$ t8 = v2*h
149 !!$ t9 = t8*e
150 !!$ t11 = f*v2
151 !!$ t12 = t11*e
152 !!$ t13 = 32*t12
153 !!$ t14 = h**2
154 !!$ t15 = v2*t14 !
155 !!$ t16 = t15*e
156 !!$ t17 = 24*t16
157 !!$ t18 = h*f !
158 !!$ t19 = t18*t4
159 !!$ t20 = 48*t19
160 !!$ t21 = t18*v2
161 !!$ t23 = 21*h
162 !!$ t24 = 14*t18
163 !!$ t25 = 7*t14
164 !!$ t26 = 16*v2
165 !!$ t27 = 56*f
166 !!$ t28 = 19*t15
167 !!$ t29 = 3*t8
168 !!$ t30 = 16*t11
169 !!$ t31 = -28*t1+t3-t5+t7+28*t9+t13-t17+t20+28-58*t21-t23-t24-t25-t26+
170 !!$ #t27+t28-t29+t30
171 !!$ t36 = e*vm !
172 !!$ t38 = t4*vm !
173 !!$ t44 = f*vm
174 !!$ t47 = v2*vm
175 !!$ t48 = t18*t47
176 !!$ t50 = t8*t36
177 !!$ t58 = -196-392*e-273*h+112*v2-392*f+280*t36+240*t18*t38+152*t15-56
178 !!$ #*t14-308*t1+280*t44-336*t19-50*t48+140*t50+160*t11*t36+240*t15*t36
179 !!$ #+140*vm-238*t18 !
180 !!$ t64 = t11*vm
181 !!$ t68 = t18*vm
182 !!$ t72 = t8*vm
183 !!$ t74 = t1*vm
184 !!$ t76 = h*vm
185 !!$
186 !!$ t85 = 166*t21-192*t16-224*t12-196*t9-160*t38+80*t64-190*t15*vm+266 &
187 !!$ *t68+560*t6*vm-255*t72+364*t74+315*t76-80*t47+70*t14*vm-112*t11-784 &
188 !!$ *t6+261*t8+224*t4
189 !!$
190 !!$ t87 = 1/(t58+t85) !
191 !!$ t91 = 28+t27-t17-t25-56*t1+t28+t3-t23-t29-t26+t30
192 !!$ t98 = t24+t20-20*t48+20*t50+28*t74-28*t68+t7-t5+8*t9-38*t21+t13
193 !!$ t115 = -24*t9-7*h+19*t8-28+t26-t27+24*t50+16*t64+28*vm+56*t44+7*t76 &
194 !!$ -t30-19*t72-16*t47
195 !!$
196 !!$ A2 = -120*(-f+t44+e-t36)*t87
197 !!$ B2 = 15*t115*t87
198 
199 
200 
201 
subroutine constant_w(Gm, G2, K2, Km, a_eta, a_zeta, vm, v2, W)
blockLoc i
Definition: read.cpp:79
subroutine constants_a2_b2(e, f, h, vm, v2, A2, B2)