青岛大学传热学上机报告-@孟得明
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大学那些事儿:微信账号:college007 欢迎添加!
大学那些事儿:微信账号:college007 欢迎添加!
截图:
二维稳态导热的数值计算 2.1 物理问题
一矩形区域,其边长 L=W=1,假设区域内无内热源,导热系数为常数,三个边温度为 T1=0,一个边温度为 T2=1,求该矩形区域内的温度分布。
大学那些事儿:微信账号:college007 欢迎添加!
K K 显式差分格式: Ti K +1 = fTi+1 + (1 − 2 f )Ti K + fTi-1
(K=0,1,…,i=2,3…,N-1)
全隐式差分格式: Ti K +1 =
1 K +1 K +1 ( fTi+1 + fTi-1 + Ti K) 1+ 2 f
T =20 的流体介质中。平板的导热系数 =34.89W/(m ) ,密度 =7800kg/m3,比热 c=712J/ (kg ) ,平板与介质的对流换热系数为 h=233W/(m2 ) ,求平板内各点的温度分布。
3.2 数学描述
由于平板换热关于中心线是对称的, 仅对平板一半区域进行计算即可。 坐标 x 的原点选 在平板中心线上,因而一半区域的非稳态导热的数学描述为:
∞
n
2.3 数值离散
2.3.1 区域离散
区域离散 x 方向总节点数为 N,y 方向总节点数为 M,区域内任一节点用 I,j 表示。
2.3.2 方程的离散
对于图中所有的内部节点方程可写为: ⎜
⎛ ∂ 2t ⎞ ⎛ ∂ 2t ⎞ + ⎜ 2 ⎟ =0 2 ⎟ ⎝ ∂x ⎠i , j ⎝ ∂y ⎠i , j
1.3.5 代数方程组的求解及其程序
假定一个温度场的初始发布,给出各节点的温度初值: θ1 , θ 2 ,…., θ N 。将这些初 值代入离散格式方程组进行迭代计算,直至收敛。假设第 K 步迭代完成,则 K+1 次迭代计算 式为: θ1
K +1 0 0 0
= θw
θiK +1 =
1 +1 θ iK + θ iK 2 2 +1 −1 2+m x
∂T ∂ 2T =a 2 ,τ=0,T=T0 ∂τ ∂x
x=0,
∂T =0 ∂x ∂T x=L, − λ =h(T-T∞ ) ∂x
∞
该数学模型的解析解为: T = T∞ + (T0 − T∞ ) 其中 F0 =
∑µ
n =1
2 2sin µn ⎛ x⎞ cos ⎜ µn ⎟ e − µn F0 , ⎝ L⎠ n + sin µ n cos µ n
K K +1 K K
⎛ ∂ 2T ⎞ = a⎜ 2 ⎟ ⎝ ∂x ⎠ i
K +1
TiK +1 − Ti K ⎛ ∂T ⎞ 将上式的左端温度对时间的偏导数进行差分离散为: ⎜ ⎟ = τ ⎝ ∂τ⎠i ⎛ ∂T ⎞ ⎜ ⎟ ⎝ ∂τ⎠i
K +1
=
TiK +1 − Ti K τ
大学那些事儿:微信账号:college007 欢迎添加!
其中 K=0,1,2……
3.4 程序及截图
程序: #include"math.h" #include"stdio.h" #define N 10 #define M 11 #define f 6.2824114e-2 #define Bi 6.6781312e-2 void main()
大学那些事儿:微信账号:college007 欢迎添加!
(i=1,2,3,…,N-1)
T1K +1 = T2K +1
TNK +1 =
1 h x 1 (TNK−+ T∞ ) 1 + h x λ +1 λ
其中 K=0,1,2……。 隐式: Ti = T0
0
T1K +1 = T2K +1
Ti K +1 = TNK +1 =
1 K +1 K +1 K ( fTi+ 1 + fTi −1 + Ti ) 1+ 2 f 1 h x 1 (TNK−+ T∞ ) 1 + h x λ +1 λ
大学那些事儿:微信账号:college007 欢迎添加!
大学那些事儿:微信账号:college007 欢迎添加!
{ for(j=0;j<M-1;j++) T[i][j]=0; T[i][M-1]=1; } for(;;) { m=T[N-2][M-2]; for(i=1;i<N-1;i++) for(j=1;j<M-1;j++) T[i][j]=(T[i+1][j]+T[i-1][j]+T[i][j+1]+T[i][j-1])/4; if(fabs(T[N-2][M-2]-m)<1e-6) break; } printf("\nx\t\ty\t\tT"); for(i=1;i<N;i++) { x=0; y=0; for(j=1;j<M;j++) printf("\n%.2f\t\t%.2f\t\t%.3f",x+=0.25,y+=0.25,T[j][i]); } } 截图:
右边界为第二类边界条件,边界节点 N 的向后差分得: 迭代形式,得: θ N = θ N −1
θ N − θ N −1 = 0 ,将此式整理为 x
1.3.4 最终离散格式
θ1 = θ w = 1 θi =
1 (θi +1 + θi −1 ) 2 + m2 x 2
(i=2,3……,N-1)
θ N = θ N −1
用 I,j 节 点 的 二 阶 中 心 差 分 代 替 上 式 中 的 二 阶 导 数 , 得 :
Ti +1, j − 2Ti , j +Ti -1, j x
2
+
Ti , j +1 − 2Ti , j +Ti , j -1 y2
=0
y2 x2 上式整理成迭代形式: Ti , j = (Ti+1, j + Ti-1, j ) + 2( x 2 + y 2 ) (Ti, j +1 + Ti, j -1 ) 2( x 2 + y 2 )
a τ hL ,μn 为方程 ctgμ=μ/Bi 的根, Bi = 。 2 L λ
3.3 数值离散
3.3.1 计算区域的离散
以 X 和 T 为坐标的计算区域的离散, 时间从 T=0 开始, 经过一个个时层增加到 K 时层和 K+1时层。
3.3.2 微分方程的离散 ⎛ ∂ 2T ⎞ ⎛ ∂T ⎞ 对于 I 节点,在 K 和 K+1 时刻可将微分方程写成下面式子: ⎜ = a ⎜ 2⎟ ⎟ ⎝ ∂τ⎠i ⎝ ∂x ⎠i ⎛ ∂T ⎞ ⎜ ⎟ ⎝ ∂τ⎠i
大学那些事儿:微信账号:college007 欢迎添加!
{ printf("\t 一维非稳态导热----------孟得明 学号:201040502074 \n"); printf(" 一块无限大平板的一半厚度为 L=0.1m,初始温度 T0=1000 ,流体介质温度 T∞ =20 ,平板导热系数λ=34.89,密度ρ=7800,比热 c=712,对流换热系数为 h=233\n\n"); float a[N][M],m; int i,k,t,j,s=0; for(i=0;i<N;i++) { for(k=0;k<M;k++) a[i][k]=1000.0; } for(k=0;;k++) { m=a[N-1][M-1]; for(i=1;i<N-1;i++) for(j=1;j<M;j++) { a[i][j]=f*a[i+1][j-1]+f*a[i-1][j-1]+(1-2*f)*a[i][j-1]; a[0][j]=a[0][j-1]*(1-2*f)+2*f*a[1][j-1]; a[N-1][j]=(1-2*f-2*f*Bi)*a[N-1][j-1]+2*f*a[N-2][j-1]+2*f*Bi*20; } if(fabs(a[N-1][M-1]-m)<0.00001) break; } printf("时间\t 温度"); for(i=1;i<M;i++) printf("\n%d\t%.2f\t",s+=1,a[9][i]); } 截图:
(i=2,3……,N-1),(j=2,3……,M-1) 补充四个边界上的第一类边界条件得: T1, j = T1 (j=1,2,3……,M) (j=1,2,3……,M) (i=1,2,3……,N) (i=1,2,3……,N)
TN , j = T1 Ti , j = T1 Ti , M = T2
2.4 程序及截图
(K=0,1,…,i=2,3…,N-1)
aτ x2 3.3.3 边界条件的离散
其中 f = 边界节点的差分方程: T1K +1 = T2K +1
TNK +1 =
3.3.4 最终离散格式
显式:Ti=T0 (i=1,2,3,…,N)
1 h x 1 (TNK−+ T∞ ) 1 + h x λ +1 λ
K K K Ti K +1 = ( fTi+ 1 + fTi −1 + (1 − 2 f )Ti )
∅=
hp (tw − t∞ )th( mH ) m
1.3 数值离散
1.3.1 区域离散
计算区域总节点数取 N。
1.3.2 微分方程的离散
对任一借点 i 有: ⎜
⎛ d 2θ 2 ⎝ dx
⎞ 2 ⎟ − m θi = 0 ⎠
用θ在节点 i 的二阶差分代替θ在节点 i 的二阶导数,得: 整理成迭代形式: θi =
程序 #include"math.h" #include"stdio.h" #define N 5 #define M 5 void main() { printf("\t 二维稳态导热----------孟得明 学号:201040502074\n"); printf("矩形区域,边长 L=W=1,假设区域内无内热源,导热系数为常熟,三个边温度为 T1=0,一个边温度为 T2=1。\n"); double T[N][M],m=0,x,y; int i,j; for(i=0;i<N;i++)
2.2 数学描述
对上述问题的微分方程及其边界条件为:
∂2T ∂2T + =0 ∂x 2 ∂y 2
x=0,T=T1=0 x=1,T=T1=0 y=0,T=T1=0 y=1,T=T2=1
Biblioteka Baidu
大学那些事儿:微信账号:college007 欢迎添加!
大学那些事儿:微信账号:college007 欢迎添加!
⎛ nπ ⎞ sh ⎜ ⋅ y⎟ T − T1 2 1 − (−1) ⎛ nπ ⎞ ⎝ L ⎠ 该问题的解析解: = ∑ sin ⎜ ⋅x⎟ n π T2 − T1 π n=1 n L ⎛ ⎞ ⎝ ⎠ sh ⋅W ⎟ ⎜ ⎝ L ⎠
(
)
(i=2,3……,N-1)
K +1 K +1 θN =θN −1
程序: #include"stdio.h" #include"math.h" #define N 11 #define p 8.1818182e-3 void main() { printf("\t 一维稳态导热----------孟得明 学号:201040502074\n"); printf("已知:h=45,t∞=80, tw=300, λ=110, δ=0.01, H=0.1\n"); double t1=300.0,t2=80.0,T[N+1]={1,1,1,1,1,1,1,1,1,1,1,1},k=0,b=0; int i,j; for(i=0;;i++) { k=T[N-1]; for(j=2;j<=N-1;j++) T[j]=(T[j+1]+T[j-1])/(2+p); T[N]=T[N-1]/(1+0.5*p); if(fabs(T[N-1]-k)<=1e-6) break; } printf("坐标\t\t 温度\n"); for(i=1;i<=N;i++) printf("%.2f\t\t%.2f\n",b+=0.01,T[i]*(t1-t2)+t2); }
θi +1 − 2θi + θi−1 − m 2θi = 0 2 x
1 (θi+1 + θi−1 ) 2 + m2 x2
(i=2,3……,N-1)
1.3.3 边界条件离散
补充方程为: θ1 = θ w = 1
大学那些事儿:微信账号:college007 欢迎添加!
大学那些事儿:微信账号:college007 欢迎添加!
大学那些事儿:微信账号:college007 欢迎添加!
大学那些事儿:微信账号:college007 欢迎添加!
一维非稳态导热的数值计算
非稳态导热问题由于有时间变量,其数值计算出现了一些新的特点。
3.1 问题
一块无限大平板,其一半厚度为 L=0.1m ,初始温度 T0=1000 ,突然将其插入温度
大学那些事儿:微信账号:college007 欢迎添加!
一维稳态导热的数值计算 1.1 物理问题
一个等截面直肋,处于温度=80 的流体中。肋表面与流体之间的对流换热系数为,肋基处温 度,肋端绝热。肋片由铝合金制成,其导热系数为,肋片厚度为,高度为 H=0.1m。试计算 肋内的温度分布及肋的总换热量。
1.2 数学描述及其解析解
引入无量纲过余温度,则无量纲温度 描述的肋片导热微分方程及其边界条件:
d 2θ − m 2θ = 0 2 dx
x=0,θ=θw=1 x=H,
∂θ =0 ∂x
其中 m =
hp λA ch[ m( x − H )] ch(mH )
上述数学模型的解析解为: t − t∞ = (tw − t∞ ) ⋅
大学那些事儿:微信账号:college007 欢迎添加!
截图:
二维稳态导热的数值计算 2.1 物理问题
一矩形区域,其边长 L=W=1,假设区域内无内热源,导热系数为常数,三个边温度为 T1=0,一个边温度为 T2=1,求该矩形区域内的温度分布。
大学那些事儿:微信账号:college007 欢迎添加!
K K 显式差分格式: Ti K +1 = fTi+1 + (1 − 2 f )Ti K + fTi-1
(K=0,1,…,i=2,3…,N-1)
全隐式差分格式: Ti K +1 =
1 K +1 K +1 ( fTi+1 + fTi-1 + Ti K) 1+ 2 f
T =20 的流体介质中。平板的导热系数 =34.89W/(m ) ,密度 =7800kg/m3,比热 c=712J/ (kg ) ,平板与介质的对流换热系数为 h=233W/(m2 ) ,求平板内各点的温度分布。
3.2 数学描述
由于平板换热关于中心线是对称的, 仅对平板一半区域进行计算即可。 坐标 x 的原点选 在平板中心线上,因而一半区域的非稳态导热的数学描述为:
∞
n
2.3 数值离散
2.3.1 区域离散
区域离散 x 方向总节点数为 N,y 方向总节点数为 M,区域内任一节点用 I,j 表示。
2.3.2 方程的离散
对于图中所有的内部节点方程可写为: ⎜
⎛ ∂ 2t ⎞ ⎛ ∂ 2t ⎞ + ⎜ 2 ⎟ =0 2 ⎟ ⎝ ∂x ⎠i , j ⎝ ∂y ⎠i , j
1.3.5 代数方程组的求解及其程序
假定一个温度场的初始发布,给出各节点的温度初值: θ1 , θ 2 ,…., θ N 。将这些初 值代入离散格式方程组进行迭代计算,直至收敛。假设第 K 步迭代完成,则 K+1 次迭代计算 式为: θ1
K +1 0 0 0
= θw
θiK +1 =
1 +1 θ iK + θ iK 2 2 +1 −1 2+m x
∂T ∂ 2T =a 2 ,τ=0,T=T0 ∂τ ∂x
x=0,
∂T =0 ∂x ∂T x=L, − λ =h(T-T∞ ) ∂x
∞
该数学模型的解析解为: T = T∞ + (T0 − T∞ ) 其中 F0 =
∑µ
n =1
2 2sin µn ⎛ x⎞ cos ⎜ µn ⎟ e − µn F0 , ⎝ L⎠ n + sin µ n cos µ n
K K +1 K K
⎛ ∂ 2T ⎞ = a⎜ 2 ⎟ ⎝ ∂x ⎠ i
K +1
TiK +1 − Ti K ⎛ ∂T ⎞ 将上式的左端温度对时间的偏导数进行差分离散为: ⎜ ⎟ = τ ⎝ ∂τ⎠i ⎛ ∂T ⎞ ⎜ ⎟ ⎝ ∂τ⎠i
K +1
=
TiK +1 − Ti K τ
大学那些事儿:微信账号:college007 欢迎添加!
其中 K=0,1,2……
3.4 程序及截图
程序: #include"math.h" #include"stdio.h" #define N 10 #define M 11 #define f 6.2824114e-2 #define Bi 6.6781312e-2 void main()
大学那些事儿:微信账号:college007 欢迎添加!
(i=1,2,3,…,N-1)
T1K +1 = T2K +1
TNK +1 =
1 h x 1 (TNK−+ T∞ ) 1 + h x λ +1 λ
其中 K=0,1,2……。 隐式: Ti = T0
0
T1K +1 = T2K +1
Ti K +1 = TNK +1 =
1 K +1 K +1 K ( fTi+ 1 + fTi −1 + Ti ) 1+ 2 f 1 h x 1 (TNK−+ T∞ ) 1 + h x λ +1 λ
大学那些事儿:微信账号:college007 欢迎添加!
大学那些事儿:微信账号:college007 欢迎添加!
{ for(j=0;j<M-1;j++) T[i][j]=0; T[i][M-1]=1; } for(;;) { m=T[N-2][M-2]; for(i=1;i<N-1;i++) for(j=1;j<M-1;j++) T[i][j]=(T[i+1][j]+T[i-1][j]+T[i][j+1]+T[i][j-1])/4; if(fabs(T[N-2][M-2]-m)<1e-6) break; } printf("\nx\t\ty\t\tT"); for(i=1;i<N;i++) { x=0; y=0; for(j=1;j<M;j++) printf("\n%.2f\t\t%.2f\t\t%.3f",x+=0.25,y+=0.25,T[j][i]); } } 截图:
右边界为第二类边界条件,边界节点 N 的向后差分得: 迭代形式,得: θ N = θ N −1
θ N − θ N −1 = 0 ,将此式整理为 x
1.3.4 最终离散格式
θ1 = θ w = 1 θi =
1 (θi +1 + θi −1 ) 2 + m2 x 2
(i=2,3……,N-1)
θ N = θ N −1
用 I,j 节 点 的 二 阶 中 心 差 分 代 替 上 式 中 的 二 阶 导 数 , 得 :
Ti +1, j − 2Ti , j +Ti -1, j x
2
+
Ti , j +1 − 2Ti , j +Ti , j -1 y2
=0
y2 x2 上式整理成迭代形式: Ti , j = (Ti+1, j + Ti-1, j ) + 2( x 2 + y 2 ) (Ti, j +1 + Ti, j -1 ) 2( x 2 + y 2 )
a τ hL ,μn 为方程 ctgμ=μ/Bi 的根, Bi = 。 2 L λ
3.3 数值离散
3.3.1 计算区域的离散
以 X 和 T 为坐标的计算区域的离散, 时间从 T=0 开始, 经过一个个时层增加到 K 时层和 K+1时层。
3.3.2 微分方程的离散 ⎛ ∂ 2T ⎞ ⎛ ∂T ⎞ 对于 I 节点,在 K 和 K+1 时刻可将微分方程写成下面式子: ⎜ = a ⎜ 2⎟ ⎟ ⎝ ∂τ⎠i ⎝ ∂x ⎠i ⎛ ∂T ⎞ ⎜ ⎟ ⎝ ∂τ⎠i
大学那些事儿:微信账号:college007 欢迎添加!
{ printf("\t 一维非稳态导热----------孟得明 学号:201040502074 \n"); printf(" 一块无限大平板的一半厚度为 L=0.1m,初始温度 T0=1000 ,流体介质温度 T∞ =20 ,平板导热系数λ=34.89,密度ρ=7800,比热 c=712,对流换热系数为 h=233\n\n"); float a[N][M],m; int i,k,t,j,s=0; for(i=0;i<N;i++) { for(k=0;k<M;k++) a[i][k]=1000.0; } for(k=0;;k++) { m=a[N-1][M-1]; for(i=1;i<N-1;i++) for(j=1;j<M;j++) { a[i][j]=f*a[i+1][j-1]+f*a[i-1][j-1]+(1-2*f)*a[i][j-1]; a[0][j]=a[0][j-1]*(1-2*f)+2*f*a[1][j-1]; a[N-1][j]=(1-2*f-2*f*Bi)*a[N-1][j-1]+2*f*a[N-2][j-1]+2*f*Bi*20; } if(fabs(a[N-1][M-1]-m)<0.00001) break; } printf("时间\t 温度"); for(i=1;i<M;i++) printf("\n%d\t%.2f\t",s+=1,a[9][i]); } 截图:
(i=2,3……,N-1),(j=2,3……,M-1) 补充四个边界上的第一类边界条件得: T1, j = T1 (j=1,2,3……,M) (j=1,2,3……,M) (i=1,2,3……,N) (i=1,2,3……,N)
TN , j = T1 Ti , j = T1 Ti , M = T2
2.4 程序及截图
(K=0,1,…,i=2,3…,N-1)
aτ x2 3.3.3 边界条件的离散
其中 f = 边界节点的差分方程: T1K +1 = T2K +1
TNK +1 =
3.3.4 最终离散格式
显式:Ti=T0 (i=1,2,3,…,N)
1 h x 1 (TNK−+ T∞ ) 1 + h x λ +1 λ
K K K Ti K +1 = ( fTi+ 1 + fTi −1 + (1 − 2 f )Ti )
∅=
hp (tw − t∞ )th( mH ) m
1.3 数值离散
1.3.1 区域离散
计算区域总节点数取 N。
1.3.2 微分方程的离散
对任一借点 i 有: ⎜
⎛ d 2θ 2 ⎝ dx
⎞ 2 ⎟ − m θi = 0 ⎠
用θ在节点 i 的二阶差分代替θ在节点 i 的二阶导数,得: 整理成迭代形式: θi =
程序 #include"math.h" #include"stdio.h" #define N 5 #define M 5 void main() { printf("\t 二维稳态导热----------孟得明 学号:201040502074\n"); printf("矩形区域,边长 L=W=1,假设区域内无内热源,导热系数为常熟,三个边温度为 T1=0,一个边温度为 T2=1。\n"); double T[N][M],m=0,x,y; int i,j; for(i=0;i<N;i++)
2.2 数学描述
对上述问题的微分方程及其边界条件为:
∂2T ∂2T + =0 ∂x 2 ∂y 2
x=0,T=T1=0 x=1,T=T1=0 y=0,T=T1=0 y=1,T=T2=1
Biblioteka Baidu
大学那些事儿:微信账号:college007 欢迎添加!
大学那些事儿:微信账号:college007 欢迎添加!
⎛ nπ ⎞ sh ⎜ ⋅ y⎟ T − T1 2 1 − (−1) ⎛ nπ ⎞ ⎝ L ⎠ 该问题的解析解: = ∑ sin ⎜ ⋅x⎟ n π T2 − T1 π n=1 n L ⎛ ⎞ ⎝ ⎠ sh ⋅W ⎟ ⎜ ⎝ L ⎠
(
)
(i=2,3……,N-1)
K +1 K +1 θN =θN −1
程序: #include"stdio.h" #include"math.h" #define N 11 #define p 8.1818182e-3 void main() { printf("\t 一维稳态导热----------孟得明 学号:201040502074\n"); printf("已知:h=45,t∞=80, tw=300, λ=110, δ=0.01, H=0.1\n"); double t1=300.0,t2=80.0,T[N+1]={1,1,1,1,1,1,1,1,1,1,1,1},k=0,b=0; int i,j; for(i=0;;i++) { k=T[N-1]; for(j=2;j<=N-1;j++) T[j]=(T[j+1]+T[j-1])/(2+p); T[N]=T[N-1]/(1+0.5*p); if(fabs(T[N-1]-k)<=1e-6) break; } printf("坐标\t\t 温度\n"); for(i=1;i<=N;i++) printf("%.2f\t\t%.2f\n",b+=0.01,T[i]*(t1-t2)+t2); }
θi +1 − 2θi + θi−1 − m 2θi = 0 2 x
1 (θi+1 + θi−1 ) 2 + m2 x2
(i=2,3……,N-1)
1.3.3 边界条件离散
补充方程为: θ1 = θ w = 1
大学那些事儿:微信账号:college007 欢迎添加!
大学那些事儿:微信账号:college007 欢迎添加!
大学那些事儿:微信账号:college007 欢迎添加!
大学那些事儿:微信账号:college007 欢迎添加!
一维非稳态导热的数值计算
非稳态导热问题由于有时间变量,其数值计算出现了一些新的特点。
3.1 问题
一块无限大平板,其一半厚度为 L=0.1m ,初始温度 T0=1000 ,突然将其插入温度
大学那些事儿:微信账号:college007 欢迎添加!
一维稳态导热的数值计算 1.1 物理问题
一个等截面直肋,处于温度=80 的流体中。肋表面与流体之间的对流换热系数为,肋基处温 度,肋端绝热。肋片由铝合金制成,其导热系数为,肋片厚度为,高度为 H=0.1m。试计算 肋内的温度分布及肋的总换热量。
1.2 数学描述及其解析解
引入无量纲过余温度,则无量纲温度 描述的肋片导热微分方程及其边界条件:
d 2θ − m 2θ = 0 2 dx
x=0,θ=θw=1 x=H,
∂θ =0 ∂x
其中 m =
hp λA ch[ m( x − H )] ch(mH )
上述数学模型的解析解为: t − t∞ = (tw − t∞ ) ⋅