Diffusion in Thin Slits
with Variable Aperture
!
!!
!
!
!
!
HELEN WINBERG
! !Master of Science Thesis in Chemical Engineering Stockholm, Sweden 2012
Diffusion in Thin Slits with
Variable Aperture
by
Helen Winberg
Master Thesis CHE Report 2012:9 KTH Chemical Engineering and Technology
! C!
!"#$%&'(&)'*+%*+,&
!! "#$%&'()$"&#*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*,! -! ."/0*.#'*0)&12*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*,! 3! 4.)56%&(#'*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*,!
U;A! RO>X`!NOEcdEX`!O>!EeKNOEJ!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!B!
U;P! 89K8fO_X`K>"!gd>gKc"!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!AM!
7! $82&%9*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*!!!
Q;A! X>X`h"OgX`!Ed`f"Od>!RdY!AN!NORRfEOd>!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!AA!
Q;P! K8fO_X`K>"!R`de!YX"KI!8K8!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!AP!
Q;U! gdZcf"X"Od>X`!EOZf`X"Od>E!dR!NORRfEOd>!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!AU!
Q;Q! gYX>F9>Ogd`Ed>!ZK"JdN!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!AL!
:! 2;12%"/2#$.<*02$(1*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*!,!
L;A! EK"fc!Ai!E"X"Od>XYh!EK"fc!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!AB!
L;P! EK"fc!Pi!EK"fc!eO"J!XN_Kg"O_K!R`de!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!PA!
L;U! gX`OGYX"Od>!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!PU!
L;Q! NhKE!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!PU! !"#"$! %&''()*+,-'./0(*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*12! !"#"1! %/)34546*7648*"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*1#! !"#"2! 9)/545(*:;-,&)(<6(45=*"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*1#! L;L! EKX`O>^!ZK"JdNE!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!PQ! L;W! cfZc!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!PL! L;C! gXE"O>^!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!PW! !">"$! ;/6(*?&@5*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*1>! !">"1! ;/6(*9'*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*1A! =! 2;12%"/2#$0*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*-,! W;A! KjKgf"Od>!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!PB! W;P! Yf>E!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!UA!
W;U! cYdG`KZEbNK_OX"Od>E!X>N!Ed`f"Od>EbcYK_K>"Od>!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!UP!
B"2"$! C)(/D45E*&F*;4-0()<*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*21!
B"2"1! 74)*G50),<4&5HI/0()*J(/D/E(*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*21!
B"2"2! 9)/545(*%&56(50)/04&5*K)&F4-(*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*21!
B"2"#! ?('-(04&5*:@40.*K,3'=*"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*22!
W;Q! OZX^O>^!cYdgKEEO>^!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!UU!
B"#"$! 7'()0,)(*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*22!
B"#"1! %&56(50)/04&5*"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*2!!
W;L! EOZf`X"Od>E!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!UW!
W;W!! gdZcf"X"Od>!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!UC!
>! ?.%".4<2*.12%$(%2*?0+*)�$.#$*.12%$(%2*++++++++++++++++++++++++++++++++++++++++++++++++++++++*3@!
C;A!! "KE"O>^!OZcXg"!dR!NORRfEOd>!O>!"JK!k9NOYKg"Od>!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!Ul!
C;P! cXYXZK"KYE!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!QM!
C;U! gXEKE!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!QA!
@! %20(<$0*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*77! l;A! NhK!GKJX_OdfY!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!QQ! A"$"$! %&''()*+,-'./0(*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*##! A"$"1! %/)34546*7648*"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*##! A"$"2! 9)/545(*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*##! l;P! KjcKYOZK>"X`!YKEf`"E!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!QL!
! l! l;Q! gXE"O>^!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!LU! ,! '"0)(00"&#*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*:7! B;A! NhK!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!LQ! B;P! KjcKYOZK>"E!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!LQ! L"1"$! +(0,'*$M*+0/04&5/)N*+(0,'*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*!#! L"1"1! +(0,'*1M*+(0,'*@40.*78O(604O(*;-&@*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*!!!
B;U! EOZf`X"Od>!K_X`fX"Od>!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!LW!
B;Q! gXE"E!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!LW!
B;L! gd>"O>fX"Od>!X>N!Rf"fYK!edYF!;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!LW!
! AA!
F!
G?61&H!
! "#*!.-%%!,'-2%&(',!(5!%(01,*%!5'(.!,#*!<155*'!,(!,#*!%**&$24!H-,*'!$%!4(/*'2*3! <=!3$551%$(2;!!"(!3*%+'$<*!3$551%$(2!(5!-!%(01,*!$2!0$:1$3!R$+?S%!0-H%!(5!3$551%$(2! +-2!<*!-&&0$*3;!"#*!3'$/$24!5('+*!$%!+-1%*3!<=!,#*!%(01,*%!+(2+*2,'-,$(2!4'-3$*2,I! $2!,#$%!'*&(',!,#*!<*2,(2$,*!<155*'!#-/*!-!#$4#!+(2+*2,'-,$(2I!gMI!-23!,#*!H-,*'!$%! -,!,M!5'**!5'(.!%(01,*;!@G$'3!*,!-0;I!PMMCD! ! R$+?S%!5$'%,!0-H!(5!3$551%$(2!@g'-2?I!ABCLDi! ! ! ! !!!!! ! !!!!!!!!! ! ! ! ! ! ! ! @AD! ! R$+?m%!%*+(23!0-H!(5!3$551%$(2!@g'-2?I!ABCLDi! ! !" !" ! !!!!!!!!!!!!!!!!!!!!!!! ! ! ! ! ! ! ! @PD! !! R$+?S%!%*+(23!0-H!$%!,#*!.-%%!,'-2%&(',!*:1$/-0*2,!,(!,#*!#*-,!*:1-,$(2! @"-22*#$00!*,!-0;I!ABBCDi! ! !" !" ! !!!!!!! ! ! ! ! ! ! ! ! ! @UD! ! F:/! "+'<H%-('<!)1<3%-1+!,1&!/=!=-,,3$-1+! ! R$+?S%!%*+(23!0-H!$2!(2*!3$.*2%$(2!+-2!<*!%(0/*3!-2-0=,$+-00=;!"#*!5(00(H$24! -2-0=,$+-0!%(01,$(2!5('!3$551%$(2!-0(24!,#*!69-6$%!$%!,-?*2!5'(.!Z-,#*.-,$+%!$2! N$551%$(2!@g'-2?I!ABWCD;!"#*!$2$,$-0!+(23$,$(2%!$%!,#-,!-,!,nMI!gnM;!G(123-'=! +(23$,$(2%!-,!6nM!-23!6n`!-'*!g@MDngA!-23!g@`DngP;! ! R$+?S%!%*+(23!0-H!$2!(2*!3$.*2%$(2i! ! !" !" ! ! !!! !!!! ! ! ! ! ! ! ! ! ! @QD! ! X2-0=,$+-0!%(01,$(2!@g'-2?I!ABWCDi! ! ! ! ! !!! !!! !! !!!!! !!!!!!!"#!!"!!!! !!"# !"#! !!!"!!!! !!!!! ! @LD! ! !"#*!-2-0=,$+-0!%(01,$(2!5('!`nM;UA!o.pI!NnLqAM9AMo.Pb%pI!gAn!AI!gPnAI!2nAMMM!
-23!,nPIQIlIAW!-23!UP!oH**?%p!$%!&'*%*2,*3!$2!R$41'*!P!H$,#$2!,#*!$2,*'/-0!(5i! `nMiM;AL!o.p;!"#$%!$2,*'/-0!$%!.*-2,!,(!3*%+'$<*!,#*!3$551%$(2!$2!-!M;AL!.!3**&! 5'-+,1'*;!g(.&1,-,$(2%!%**!X&&*23$6i!U;!
! AP!
*
BDEFGH*-I*.OMJ^LDRMJ*KNJFLDNO*NP*BDRW_K*KHRNOZ*JM`*`DLQ*M*ZDPPFKDNO*RNHPPDRDHOL*NP** :a!Ab!A*UY-VK]*
! AC! E*&-'-,*!g%rA!,(!,#*!0*5,!-23!g%!,(!,#*!'$4#,!#-23!%$3*i!
! ! ! !!!!!!!!!!!!@PQD! ! Y*-''-24$24!@PQD!4$/*%i! !!!!!!@PLD! ! ! R1',#*'!%$.&0$5$+-,$(2%!(5!+(2%,-2,%i! !!! ! ! !!! ! ! ! ! ! ! ! ! !!!!!!!!!!!!@PWD! ! !!! ! ! !!! ! ! ! ! ! ! ! ! !!!!!!!!!!!!@PCD! ! ! ! !!! !! ! !!!!!! ! ! ! ! ! ! ! !!!!!!!!!!!!@PlD! ! ! ! !!! !! ! !!!! ! ! ! ! ! ! ! !!!!!!!!!!!!@PBD! ! "#*!5(00(H$24!*6&'*%%$(2!#-%!,(!<*!%(0/*3!21.*'$+-00=!5('!-00!5$/*!+(2+*2,'-,$(2%! -,!,#*!2*H!,$.*!%,*&!%rA!1%$24!,#*!+(2+*2,'-,$(2!-,!,$.*!%i! ! ! ! !!!!!!!!! ! ! ! ! !!!!!!!! ! !!!!! !!!!!!!! ! ! !!!!!!!!! ! ! ! !!!!!!!!! n! ! ! ! ! !!!!!!! ! ! ! ! !!!!!! ! !!! !!!!! ! ! ! !!!!!!! ! ! ! !!!!!!! ! ! !!!!!!!!!!!@UMD! ! ! "(!%(0/*!,#*!*6&'*%%$(2!.-,'$6*%!.!-23!4!#-/*!,(!<*!4*2*'-,*3;!Z-,'$6!.!-23!4! $2+013*%!,#*!+(2%,-2,!5('!*-+#!%$3*I!5(00(H$24!,#*!*6*.&0$5=$24!.-,'$6!/!@/n.!('! /f4D!$%!.-3*!H$,#!5('!-!4'$3!(5!U6U!&($2,%!@>nUD!-%!3*%+'$<*3!<=!,#*!.*%#!$2! 5$41'*!C;!"#*!.*%#!#-%!(2*!<(123-'=!H$,#!-!+(2%,-2,!+(2+*2,'-,$(2!gM!-23!U! +0(%*3!<(123-'$*%!H#*'*!-,!,#*!+(2+*2,'-,$(2!$%!%*,!*:1-0!,(!,#-,!(5!,#*!2*-'*%,! $2,*'2-0!&($2,;!"#$%!*2%1'*%!,#-,!,#*!<(123-'=!+(23$,$(2!%,-,*%!,#-,!,#*'*!$%!2(! 5016!,#'(14#!,#*%*!<(123-'$*%;!R('!-!4'$3!(5!U6U!&($2,%!-!%*,!(5!B!*:1-,$(2%!2**3%! ,(!<*!%(0/*3!%$.10,-2*(1%0=;!!! ! + + + + + + + + ! + ! + ! + ! ! " ! " + ! " ! " + = = + " ! " + + " ! " + ! ! ! ! ! ! ! " !" " !" " ! " " ! " !" " !" " ! " " ! # $ % # $ % $ $ # $ % # $ % $ $ ! " ! ! ! # ! ! ! $ % $ % $ % $ % $ % $ % $ % ! " ! ! ! # ! ! ! $ % $ % $ % $ % $ % $ % $ % & & ' ' ' ' ' ' ' & & ' ' ' ' ' ' ' + + + + + ! ! + + ! ! + + " # " # " # " # ! $ + ! $ + + + $ + ! $ + ! $ =
% & % & % & % &
' ( ' ( ' ( ' (
" # " # " # " #
= !% &$ + !% &$ + ! ! $ + !% &$ + !% &$
' ( ' ( ' ( ' ( ! ! ! ! ! " ! !" " !" " ! " ! !" " !" " ! #! $ % % % % #! $ % % % % ! ! ! ! ! " # # " $ % $ % # " $ % $ % $ % ! ! ! ! ! " # # " $ % $ % # " $ % $ % $ %
& ' & ' & & ' & ' & '
& & & &
! Al! ! BDEFGH*>I*2\MYSJH*EGDZ*`DLQ*3\3*SNDOLT*NOH*XNFOZMG^*`DLQ*M*RNOKLMOL*RNORHOLGMLDNO*)A*MOZ* 3*RJNKHZ*XNFOZMGDHK* ! X!%*&-'-,*!/*+,('!Z*H$00!-++(12,!5('!,#*!(&*2!+(2%,-2,!+(2+*2,'-,$(2!<(123-'=I! -23!,#*!.-,'$6!.!-23!4!H$00!$2+013*!,#*!*55*+,%!(5!,#*!+0(%*3!<(123-'$*%;! O5! ,#*!.*%#!+(2%$%,*3!(5!(20=!+(2%,-2,!+(2+*2,'-,$(2!<(123-'$*%!,#*!.-,'$6*%! H(103!<*!0$?*!5(00(H$24!@*:;!UAD!$5!-00!+(2%,-2,!+(2+*2,'-,$(2!%$3*%!H#*'*! 4(/*'2*3!<=!/*+,('!Zi!!! ! !!!!!!!!! !!!!!!!!!!!!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !!!!!! ! !! ! ! ! ! ! !!!!! ! !! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !!!!!! ! !! ! ! ! ! ! !!!!! ! !! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !!!!!! ! !! ! ! ! ! ! !!!!! ! !! ! ! ! ! ! ! ! ! ! !!!!!!!!!!!!@UAD! ! e#*2!,-?*2!,#*!+0(%*3!<(123-'$*%!$2!,(!-++(12,!,#*!/-01*%!(5!+!+-2!.*!.(3$5$*3! 5'(.!+%rAnAr'6r'7!@PlD!-23!+%nA9!'69'7!!@PBD!,(i!
!
@.I2D! +%rA! +%!
@AIAD! Ar'6r'7bP! A9'69'7bP!
@PIAD! Ar'6r'7bP! A9'69'7bP!
@UIAD! Ar'6bPr'7bP! A9'6bP9'7bP!
@PIAD! Ar'6r'7! A9'69'7!
@PIPD! Ar'6r'7! A9'69'7!
@PIUD! Ar'6bPr'7bP! A9'6bP9'7bP!
@UIAD! Ar'6r'7bP! A9'69'7bP!
@UIPD! Ar'6r'7bP! A9'69'7bP!
@UIUD! Ar'6bPr'7bP! A9'6bP9'7bP!
$MXJH*!I*/NZDPDHZ*RbRNOKLMOLK*
! AB! Z9/*+,('!+(/*'!5('!,#*!0*5,!#-23!%$3*!H$,#!+(2%,-2,!+(2+*2,'-,$(2I!gMi! ! ! ! ! ! !!! !! ! ! !!! !! ! ! !!! !! ! ! ! ! ! ! ! ! ! ! ! !!!!!!!!!!!!@UPD! ! !
e#*2!.I!4!-23!3!$%!3*5$2*3I!,#*!%(01,$(2!,(!g%rA!+-2!<*!5(123!<=!%(0/$24i!
! PQ! ! M:F:4! E'&*-+-(!"(-2! P(8*6&-&,)* @G(14#,!$2!,#*!5('.!(5!<-?$24!+(0(1'!5'(.!Y3;!d*,?*'D! gPPJPMdAU! ZnQBPIQ!1!@c*''=!Y;!-23!^'**2!N;!@ABBCD!P9UPD! N*nU;WqAM9AM!.Pb%!oE**!X&&*23$6!Pp!
E(01<$0$,=!@$2!H-,*'Di!%(01<0*!@c*''=!Y;!-23!^'**2!N;!@ABBCD!P9UPD!! ! BDEFGH*!:I*.XKNGXMORH*NP*h*:!@*OY*MK*M*PFORLDNO*NP*RNORHOLGMLDNO*)V)A+*)AI*FOZDJFLHZ* RMGYDODR*MRDZ*PGNY*'G+*&HLWHG* M:F:7! P&'+-+6!Q;<31&6$(6-+R! Q(--&@*6&-&,)* gPMJAPdL! ZnUUP;UM!1!@c*''=!-23!^'**2I!ABBCI!P9UlD! N*nL;QqAM9AM!.Pb%!@R**0!*,!-0;I!ABBAD!
! QL! [:4! BN56&-*6+%'<!I6$3<%$! ! "#*!5(00(H$24!$%!,#*!'*%10,!(5!,#*!%,-,$(2-'=!*6&*'$.*2,%!,#-,!#-/*!<**2! +(.&0*,*3!-23!-2-0=%*3I!(2*!H$,#!+-'.$2$+!-+$3I!'12!2(;PI!-23!(2*!H$,#!1'-2$2*I! '12!2(;Q;!"#*!'12!H$,#!+(&&*'!%10&#-,*!4-/*!2(!1%-<0*!3-,-!-%!.*2,$(2*3!-<(/*;!! !
&& 7'4&/& 7'4&8& 9-%& )":;<*<=&>=<?& @:"*<*%& A+":+& /6BC":=DB5EFG5& HBIJ$-B51FG8& )+'K'L:"KD-M)0&NOP& 6& G0&
C%"*&>K%:+J:%&N;;P& 045G& 04/6&
* $MXJH*7I*0SHRDPDRMLDNO*NP*GFO*#N+-*MOZ*GFO+*#N+7* ! "-<0*!L!<*0(H!3$%&0-=%!L!-2-0=%*3!&$+,1'*%!5'(.!*-+#!(5!,#*!'12%!P!-23!QI!-23! -0%(!5'(.!Q@'*%,'$+,*3DI!H#$+#!$%!(20=!,#*!%,-<0*!'$4#,!#-23!&-',!(5!'12!>(;!Q;!O,! %#(H%!,#*!,$.*!"!$,!#-%!3$551%*3!-5,*'!%*-0$24I!,#*!+(.&1,*3!3$551%$(2!+(*55$+$*2,! 5('!,#*!%.-00*%,!%1.!(5!%:1-'*%!-23!-0%(!,#-,!/-01*;!@R('!&$+,1'*%!%**!X&&*23$6i! AD! ! >(;! c#(,(!"$.*! "!@.$2D! >-.*! N*!@.Pb%D! y!
P! W9X&'9AUiAL! AAPQQ! P-;)&4! BILMK9MAA! M;MLU!
!! AW9X&'9AUiAW! PLWQL! P<;)&4! LIUMK9MAA! M;MQW!
!! W9Z-=9AUiAC! LQQQW! P+;)&4! QIAMK9MAA! M;MLl!
!! PW9Z-=9AWiAL! lUQPQ! P3;)&4! UIMMK9MAA! M;MLl!
!! AU9v129AWiAW! AMBUQL! P*;)&4! PIPMK9MAA! M;MLQ!
Q! Q9v109AliLB! AQQL! Q-;)&4! BIWMK9MAM! M;MWW!
!! AA9v109AliLB! AALPL! Q<;)&4! LIBMK9MAM! M;MlC!
!! Al9v109AliLB! PAWML! Q+;)&4! LIWMK9MAM! M;MBl!
!! Pl9v109AliLB! UWMML! Q3;)&4! lIMMK9MAM! M;AQP!
!! C9X149AliLB! LMQML! Q*;)&4! AIAMK9MMB! M;PPP!
Q! Q9v109AliLB! AQQL! Q-;)&4! CIMMK9MAM! M;MLl!
@Y*%,'$+,*3D! AA9v109Ali!LB! AALPL! Q<;)&4! UIAMK9MAM! M;MLl!
!! Al9v109AliLB! PAWML! Q+;)&4! UIUMK9MAM! M;MCA!
!! Pl9v109AliLB! UWMML! Q3;)&4! WICMK9MAM! M;AWL!
!! C9X149AliLB! LMQML! Q*;)&4! lILMK9MAM! M;PBL!
$MXJH*:I*%HKFJLK*PGNY*GFO*#N+-*MOZ*GFO+*#N+7*
! QW! ! R('!*6&*'$.*2,!>(;!W!H$,#!-3/*+,$/*!50(HI!H#$+#!$%!%,$00!'122$24I!,#*!*5501*2,! %(01,$(2!#-%!<**2!-2-0=%*3!H$,#!-!%&*+,'(&#(,(.*,*'I!,#*!%,'(24*%,!&*-?%!-'*!-,! zLAl!2.!-23!zLLP!2.I!,#*!+(2+*2,'-,$(2!$%!+-0+10-,*3!H$,#!#*0&!(5!R$41'*!ALi! !
9"+%& C<=:'Q& R%"S& >TA&N"P& >TA&N#P& >TA&N>U%P& )'*=4&'(&)0&
GBA%K& VEG0& G51& 0& 0& 0& 0& &&
& GG/& 0& 0& 0& &&
1BA%K& 5//E0& G51& 040HV& 04055& 040/HG& 0400050& &&
& GG/& 0& 0& 0& &&
5VBA%K& /V5V0& G51& 04518& 04/51& 04/05& 040006V& &&
& GG/& 045/1& 045V5& 04588G& &&
/6BA%K& 81V60& G51& 040VH& 0406E& 0401& 04000H1& &&
& GG/& 040GG& 040VE8& 040V5/& &&
8BW=+& GEEHH& G51& 04//1& 04/8H& 04/HGG& 040055/& &&
& GG/& 045V5& 045E/& 045VVG& &&
5/BW=+& E0E50& G51& 04H01& 04H05& 04H08G& 040058G& &&
& GG/& 04//& 04/0VG& 04/5H/G& &&
/0BW=+& 18660& G51& 04856& 0488/& 048H0G& 0400/0V& &&
& GG/& 04/66& 04H5& 04H08G& &&
H5BW=+& 50HE50& G51& 04G58& 04G8G& 04G/6G& 0400/G8& &&
& GG/& 04HE/& 048& 04H1V& &&
6B7'U& 556VE0& G51& 04G65& 04G6/& 04G65G& 0400/1H& &&
& GG/& 048/1& 048H8& 048H5& &&
51B7'U& 5H8VE0& G51& 04V5& 04V5& 04V5& 0400/6/& &&
& GG/& 048H/& 0488G6& 048H16G& &&
/GB7'U& 58EH00& G51& 04VGE& 04V8V& 04VG5G& 0400H5/& &&
& GG/& 048E6& 048E5& 048EG& &&
VB9%=& 5VV/E0& G51& 04V58& 04V88& 04V/6& 0400H05& &&
& GG/& 0488E6& 048V6& 048G18G& &&
5GB9%=& 51/0E0& G51& 04VH& 04VG& 04V8& 0400H0E& && && GG/& 048V08& 048E5& 048VGE& &&
! WC! Pi! Z-,0-<!&'(4'-.!+(.&1,$24!3$551%$(2!+(*55$+$*2,!5('!+-'.$2$+!-+$3!
!function diffusionCoeffApproximation
% Approximation of the Diffusion Coefficient of Carminic Acid in Water
% Hayduk & Laudie Perry's handbook (1997) eq 2-159
% Carminic Acid Particle volume data from J. P. Rasimas and G. J. Blanchard (1995)
% Viscosity data from Coulson & Richardson's Vol 1, 4ed (1990)
clear all
clc
%Dye (1)=Carminic Acid, (2)=Uranine dye=1;
my=1.0299e-3; % Water Viscosity @292 K [Pa*s]
% Molar Volume [m^3/kmol]
if dye==1
molec=730*1e-30;% [?^3*10^30]=[m^3]
elseif dye ==2
molec=2;
else
disp('Dye Not Specified')
! Wl! Ui!! Z-,0-<!&'(4'-.!%$.10-,$24!3$551%$(2!$2!A!12$,!H$3*!2-''(H!5'-+,1'*! c'(4'-..*3!<=!J*0*2!e$2<*'4! ! ! function VarificationWithCN_old clc clear all close all
global halfAp Diff C0 QMx QMtime QMC tTot dx dz dt QM CN CNx CNtime
CNC L Diffq BC tTime xBC CBC timeBC l Dim2 LL apMed crackOn test crackAp Cave Ap ux
QM=0;CN=0;
% Comparing the Qeq-model with Crank-Nicolson % x-constant, z-varible aperture, y-no diffusion dz=0.00001; % 1 mm
dx=0.01; % 10 mm dt=3600; % 1 h
tTime=24*7*32; % Time
L=0.15/dx %0.125/dx % points
crackLength=L*dx; % length of crack LL=L;
crackOn=1;
% Constant inlet concentration C0=1; % 1 mol/m3)
Diff=5e-10; % m^2/s % Approx. Diffusion coefficient between De for carminic acid and uranine
Diffq=Diff*100^2*3600; % cm^2/h
% Compute crack
apMed=0.00004; % Medium aperture in crack [m]
% Constant aperture (Case 1) nonCrack
%If nonCrack used, use: crackAp=round(halfAp/dz)+2; %get2Dfract (Case 5) %crackOn=1; %crackAp=[2 6 3 5 4 6 2 2 2 5 4 4 6 5 4 6 2];
% Concave (Expansion Case2)
%crackAp=[5 5 5 5 5 9 9 9 9 9 9 5 5 5 5 5 5];
%crackAp=[10 10 10 10 10 40 10 10 10 10 40 10 10 10 10 10 40 10 10 10 10 10 10 10 10 10 10];
%crackAp=[5 5 9 5 9 5 5];
% Convex (Contraction Case2)
%crackAp=[9 9 9 9 9 5 5 5 5 5 5 9 9 9 9 9 9]; % S-shaped (Case3) %crackAp=[9 9 9 9 5 5 5 5 9 9 9 9 5 5 5 5 5]; halfAp=crackAp*dz; x=(0:dx:(crackLength+dx)); stop=max(halfAp); size(x); size(halfAp);
%%%figure; plot(x,halfAp); grid on; axis([0 crackLength 1*dz stop]); xlabel('Crack Length [m]'); ylabel('Crack Aperture [m]')
! WB!
%nonCrack=round(theCrack)
% Choose BC-model: 1=Dirichlet:1D, 2=Neuman:1D BC=2; % Compute QeqModel QeqModelTest % Compute C-N model
% CNModel2D only awailible with Neuman CNModel2D % Analytical comparisons if BC==1 analyticalDirichletBC1D elseif BC==2 analyticalNeumanBC1D else
disp('No Analytical Method Choosen')
end tmed=tTime; %QM=0; %CN=0; ett=QMx(1:(end-1),2:end)'; tva=ux; tre=QMC(1:(end-1),2:end)';
% Plot Model and Analytical solutions %whos;
if QM==1
figure; plot(QMx(1,:)*dx,QMC(end,:))*dx; xlabel('Crack Length
[m]'); ylabel('Concentration [mol/dm^3]'); axis([0 crackLength 0
C0]);title('Q-equvivalent');
%figure; mesh(QMx',QMtime,QMC'); xlabel('x [m]'); ylabel('t [h]'); axis([0 15 0 tTot 0 C0]);
%figure; mesh(QMx(1:(end-1),2:end)',ux,QMC(1:(end-1),2:end)');
end
if CN==1
figure; plot(CNx(1,:)'*dx,CNC(:,end)); xlabel('x [m]'); ylabel('C
[mol/dm^3]'); axis([0 crackLength 0 C0]); hold on;title('CN');
%figure; mesh(CNx',CNtime,CNC); xlabel('x [m]'); ylabel('t [h]'); axis([1 LL 0 tTot 0 C0]);
figure; plot(CNx(1,:)'*dx,CNC(:,tmed),xBC(1,:)'*dx,CBC(:,tmed));
title('Comparison of CN with the Analytical Solution'); xlabel('x
[m]'); ylabel('C [mol/dm^3]'); axis([0 crackLength 0 C0]);
figure; plot(CNx(1,:)'*dx,Cave(:,end)); title('cave');
%figure; mesh(CNx',CNtime,test) end if QM==1 & CN==1 Cave(:,tmed); CNC(:,tmed); figure;
plot(QMx(1,:)*dx,QMC(tmed,:),'*',CNx(1,:)'*dx,CNC(:,tmed),'o',CNx(1,:
)'*dx,Cave(:,tmed),'x',xBC(1,:)'*dx,CBC(:,tmed),'-');
title('Case 5 After 32 Weeks'); xlabel('Crack Length [m]');
ylabel('Concentration [mol/dm^3]'); axis([0 crackLength 0 C0]);
end
%figure; plot(xBC(1,:)',CBC(:,end)); xlabel('x [m]'); ylabel('C [mol/dm^3]'); axis([0 15 0 C0]);
%figure; mesh(xBC',timeBC,CBC); xlabel('x [m]'); ylabel('t [h]'); axis([0 15 0 tTime 0 C0]);
! CM!
if Dim2 == true
zBC=xBC';
figure; mesh(xBC',timeBC,CBC); xlabel('x [m]'); ylabel('t [h]');
axis([0 crackLength 0 tTime 0 C0]);
end end
function crack
global apMed dx dz L halfAp crackAp
% Modelling a fictional crack (in experiment medium aperture:0.4mm and 0.8 set to maximum)
L
apMedHalf=apMed/2;
halfAp=random('Normal', apMedHalf, apMedHalf, 1, (L+2)) %
%halfAp=sqrt(halfAp.^2); for i=1:(L+2) if halfAp(i)>apMed halfAp(i)=apMed; elseif halfAp(i)<0 halfAp(i)=0; end end x=(0:dx:(0.15+dx)); crackAp=round(halfAp/dz)+2; crackAp(1)=crackAp(2); halfAp=crackAp*dz; stop=max(halfAp); size(x); size(halfAp);
figure; plot(x,halfAp); grid on; axis([0 0.15 1*dz stop]); xlabel('x
[m]'); ylabel('z [m]')
disp('Crack on')
%Crack Values halfAp; crackAp; end function get2Dfract
global dx dz L halfAp crackAp
if L~=25 disp('Requires L=25!') stop end %dx=0.001 %dz=0.00001 load fract125 size(rect125); % [126 126]
crack2D=rect125(:,75)'/(1e3*2); % Choose a middle row and convert to m
%crack2D(1)=crack2D(2);
%crack2D=[crack2D crack2D(end)];
%to use only every 5th: evFift=[]
for i=1:L
evFift=[evFift crack2D(i*5)]
! CA!
crack2D=evFift
crack2D=[crack2D(1) crack2D crack2D(end)] x=(0:dx:(0.125+dx)); crackAp=round(crack2D/dz);% crackAp(1)=crackAp(2); halfAp=crackAp*dz; stop=max(halfAp); size(x); size(halfAp);
figure; plot(x,halfAp); grid on; axis([0 0.125+dx 1*dz stop]);
xlabel('x [m]'); ylabel('z [m]');
disp('Crack Imported')
end
function nonCrack
global halfAp secHalfAp apMed L
% crack with constant aperture for test of calc. avr. 0.4 cm halfAp=apMed/2*ones(1,L+2); % choose half aperture
secHalfAp=-halfAp; x=1:1:L+2;
%figure; plot(x,halfAp, x,secHalfAp); grid on
disp('nonCrack on')
end
function QeqModelTest
global halfAp Diff C0 QMx QMtime QMC tTot dx dt QM tTime L dz Ap BC
% the Qeq-Model from a 1D perspective (x) (C1=C=C2), only valid for dx=dt. dt=1day.
Ap=halfAp-dz; % Aperture [m]
% Start values
tTot=tTime; % one month in hours; time for run [pause] mt=tTot+1;
xTot=L; % [cm] mx=xTot+1;
C=zeros(mt,mx); % Concentration with change in time and distance to origin
C(:,1)=C0;
for t=2:tTot
for x=2:xTot+1 %tm1=1:tTot-1
%for x=2:xTot
%for t=2:tTot %tm1=1:tTot-1 %t=tm1+1;
tp1=t+1; xm1=x-1; xp1=x+1; if x<(xTot+1)
! CP! end end X=0:1:xTot; t=0:1:tTot; time=[]; x=[]; for i=0:tTot x=[x; X]; end for i=0:xTot time=[time; t]; end QMx=x; QMtime=time; QMC=C; QM=1; end function CNModel2D
global halfAp secHalfAp Diff C0 tTot dx dz dt CN CNx CNtime CNC L
tTime Dim2 crackOn rx rz row rowSq LD Up Down Left Right LU RU RD crackAp test Cave ux
% Start with model only valid for const. aperture(eg. nonCrack), also % starting with a cartesian grid, later try to develop with a regular grid
% Modell: Crank-Nicholson Model (Crank,J.: Mathematics of Diffusion) % Needs to be solved simultaniously for all z
% John Tannehill, et al. :2ed Computaional Fliud Mechanics and heat % Transfere page 137- section 4.2.9
! CU! j=i+1; C(:,j)=A\(B*C(:,i)+dDoom); end N=L-2; C; test=C(1:N,:); xTot=L-1; [p tTot]=size(C); X=1:1:xTot-1; t=0:1:tTot-1; time=[]; x=[]; ux=[]; for i=1:tTot x=[x; X];
ux=[ux;(crackAp-1)]; %limit for Cave
end for i=1:xTot-1 time=[time; t]; end % Sorting C to a 3D-Matrix x-t-z for i=1:(L-2) s=i*(L-2)-(L-3); e=i*(L-2); C3D(:,:,i)=C(s:e,:); %x-t-z if i==1 C3Dxt=C(s:e,:,1); end end
% calculate the average C at a position x at a time t [a b c]=size(C3D); Cave=zeros(a,b); for ii=1:(L-2) Cave=Cave+C3D(:,:,ii); end ux=ux(:,1:(L)); ux=ux(:,2:end-1)'; size(Cave); size(ux); Cave=Cave./ux; % Sorting dDoom dDoomSq=[]; for i=1:row n=i*row-(row-1); b=i*row; part=dDoom(n:b); dDoomSq=[dDoomSq part]; end nu=dDoomSq';
! CQ!
global l C0 tTime xBC CBC timeBC LL
l=LL+1; C1=C0; C2=C0; C=[]; xend=l; tend=tTime; X=1:xend; T=1:tend; for x=X for t=T C(x,t)=C1+(C2-C1)*x/l+2/pi*sUm(x,t,C1,C2); end end time=[]; x=[]; for i=1:tend x=[x;0 X]; end for i=1:(xend+1) time=[time; T]; end extraLine1=ones(1,tend)*C1; extraLine2=ones(1,tend)*C2; C=[extraLine1;C]; xBC=x; CBC=C; timeBC=time; end function analyticalNeumanBC1D
global l C0 tTime xBC CBC timeBC LL dx
! CL! summation=0; for n=1:1000 del=(C2*cos(n*pi)-C1)/n*sin(n*pi*x/l)*exp(-Diffq*n^2*pi^2*t/l^2); summation=summation+del; end end function A=Amodifications global rx rz L crackAp N=L-2;
gridSize=(N)^2; % size of grid for A and B % Reconstruct! for the new dimensions aA=-rz/2; bA=-rx/2; cA=(1+rx+rz); dA=bA; eA=aA;
% A: the triagonal matrix A=zeros(gridSize);
crackAp
for i=1:1:gridSize % construction of the matrices
mL=i-(L-2); % Reconstruct! for the new dimensions m1=i-1; p1=i+1; pL=i+(L-2); if i>(L-2) A(i,mL)=aA; end if i>1 A(i,m1)=bA; end A(i,i)=cA; if i<gridSize A(i,p1)=dA; end if i<gridSize-L+3 A(i,pL)=eA; end end % insert zeroes for j=1:(L-3) n=j*(L-2); m=n+1; A(n,m)=0; A(m,n)=0; end
% starting with walls, buffer interface not included, will be introduced % with vector d for i=1:(N-1) A(i,i)=(1+rx+rz/2); end A(N,N)=(1+rx/2+rz/2); for i=(N+N):N:(N^2-N) A(i,i)=(1+rx/2+rz); end A(N^2,N^2)=(1+rx/2+rz/2); for i=(N^2-N+1):(N^2-1) A(i,i)=(1+rx+rz/2); end
% Change in boundrary condition changed by variation in aperture in % simulated rock fracture
! CW! for j=crackAp(i+1):N line=(j-1)*N+i; % j-1 A((line-N),(line))=0; %C2 A((line-N),(line-N))=A((line-N),(line-N))-rz/2; if i~=N % i+1 A((line+1),(line))=0; %B1 A((line+1),(line+1))=A((line+1),(line+1))-rx/2; end if i~=1 % i-1 A((line-1),(line))=0; %B2 A((line-1),(line-1))=A((line-1),(line-1))-rx/2; end end end
% fixing the wall
for i=1:N for j=crackAp(i+1):N; line=(j-1)*N+i; A(line,:)=0; A(line,line)=1; end end end function B=Bmodifications global rx rz L crackAp N=L-2;
gridSize=(N)^2; % size of grid for A and B % Reconstruct! for the new dimensions aB=rz/2; bB=rx/2; cB=(1-rx-rz); dB=bB; eB=aB;
% A: the triagonal matrix B=zeros(gridSize);
for i=1:1:gridSize % construction of the matrices
! CC! n=j*(L-2); m=n+1; B(n,m)=0; B(m,n)=0; end
% starting with walls, buffer interface not included, will be introduced % with vector d for i=1:(N-1) B(i,i)=(1-rx-rz/2); end B(N,N)=(1-rx/2-rz/2); for i=(N+N):N:(N^2-N) B(i,i)=(1-rx/2-rz); end B(N^2,N^2)=(1-rx/2-rz/2); for i=(N^2-N+1):(N^2-1) B(i,i)=(1-rx-rz/2); end
% Change in boundrary condition changed by variation in aperture in % simulated rock fracture
for i=1:N for j=crackAp(i+1):N; line=(j-1)*N+i; % j-1 B((line-N),(line))=0; %C2 B((line-N),(line-N))=B((line-N),(line-N))+rz/2; if i~=N % i+1 B((line+1),(line))=0; %B1 B((line+1),(line+1))=B((line+1),(line+1))+rx/2; end if i~=1 % i-1 B((line-1),(line))=0; %B2 B((line-1),(line-1))=B((line-1),(line-1))+rx/2; end end end
% fixing the wall
for i=1:N for j=crackAp(i+1):N; line=(j-1)*N+i; B(line,:)=0; B(line,line)=1; end end end function all %clear all %clc %close all
% When used, put first in program and turn off tTime in: VarificationWithCN_old, and its clear functions
global tTime dx CNC Cave QMx QMC CNx xBC CBC
tTime=[2 4 8 16 32]*24*7; j=0;
! Cl! for tTime=tTime j=j+1; VarificationWithCN_old %1 Qx=[Qx; QMx(1,:)*dx]; %2 Qc=[Qc; QMC(end,:)]; %3 Cx=[Cx CNx(1,:)'*dx]; %4 Cc=[Cc CNC(:,end)]; %5 xB=[xB xBC(1,:)'*dx]; %5 cB=[cB CBC(:,end)]; end whos %figure; plot(Qx(1,:),Qc(1,:),'b*',Cx(:,1),Cc(:,1),'go',xB(:,1),cB(:,1),'c-'); title('Comparison of CN with the Analytical Solution'); xlabel('x [m]'); ylabel('C [mol/dm^3]'); axis([0 0.15 0 1]); hold on
%plot(Qx(2,:),Qc(2,:),'b*',Cx(:,2),Cc(:,2),'go',xB(:,2),cB(:,2),'c-'); hold on %plot(Qx(3,:),Qc(3,:),'b*',Cx(:,3),Cc(:,3),'go',xB(:,3),cB(:,3),'c-'); hold on %plot(Qx(4,:),Qc(4,:),'b*',Cx(:,4),Cc(:,4),'go',xB(:,4),cB(:,4),'c-'); hold on %plot(Qx(5,:),Qc(5,:),'b*',Cx(:,5),Cc(:,5),'go',xB(:,5),cB(:,5),'c-'); hold on
%title('1D-Diffusion After 2,4,8,16 and 32 Weeks')
% For only Analytical solution
figure; plot(xB(:,1),cB(:,1),'b-'); title('Comparison of CN with the
Analytical Solution'); xlabel('x [m]'); ylabel('C [mol/dm^3]');
axis([0 0.15 0 1]); hold on
plot(xB(:,2),cB(:,2),'b-');
plot(xB(:,3),cB(:,3),'b-');
plot(xB(:,4),cB(:,4),'b-');
plot(xB(:,5),cB(:,5),'b-');