isat_dqmom

28

Upload: sudip-adhikari

Post on 21-Jul-2016

5 views

Category:

Documents


0 download

DESCRIPTION

Manual for in situ adaptation in MFIX

TRANSCRIPT

Page 1: isat_dqmom

������������������� ��������� ����� � � ��� � �� �� �� �� ��

������������������

�������� �� �

���� ��!�� " #�

���$#�� %�&&��'#������� ( �)

*�+� ,&�&� -�#.��/#&�01�/ 2 *�+�

($&�� �� 3 2 4556

789:;<=>? @A B8CD E?D?F GH<IF;J<?:K LMMN O P QQ ;<=>?J ;FJF;IFR O

Page 2: isat_dqmom

��������

� �� �� ������ ��������� �� � � ���� ���� �� !"# � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

��$ �%&' % ()*)+!( !, ���� +( -.�/ � � � � � � � � � � � � � � � � � � � � � � � � 0��$ �� 123*)+!(4 4!'5 6 +( -.�/ � � � � � � � � � � � � � � � � � � � � � � � � 0��$ �$ 7 8!3&'+(9 8� % +8*' 4!3"8 ) "% 4 +( -.�/ � � � � � � � � � � � � � � � :

; < =�>� ?���=���=� @ ��A�� �B @ �C���D �<?@ E@ � F$ �� 7G-H- �� !"# � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � I

$ ���� J!&3'*)+!( K*'*(8 23*)+!(4 � � � � � � � � � � � � � � � � � � � � � � I$ ���$ -!% () )"*(4,!"% � � � � � � � � � � � � � � � � � � � � � � � � � � � � L$ ���0 �99" 9*)+!( *(6 K" *M*9 23*)+!( � � � � � � � � � � � � � � � � � � � ��

$ �$ �%&' % ()*)+!( !, 7G-H- +( -.�/ � � � � � � � � � � � � � � � � � � � � � � �$$ �$ �� 123*)+!(4 4!'5 6 +( -.�/ � � � � � � � � � � � � � � � � � � � � � � � � �$$ �$ �$ �!'3)+!( ) 8�(+23 � � � � � � � � � � � � � � � � � � � � � � � � � � � � �0

N�B�=��>�D �O

�����P QD�= N�B�=��>� B�= � � ��� <?@ E@ �R� �� �(&3) ,!" ���� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �S

� ���� T #U!"64 ,!" +(&3) 6*)* V ' � � � � � � � � � � � � � � � � � � � � � � � �S� ���$ � '9!"+)�% ,!" ���� � � � � � � � � � � � � � � � � � � � � � � � � � � � � �S� ���0 1W*%&' 34+(9 ���� � � � � � � � � � � � � � � � � � � � � � � � � � � � �X

� �$ �(&3) ,!" 7G-H- � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � $ �� �$ �� T #U!"64 ,!" +(&3) 6*)* V ' � � � � � � � � � � � � � � � � � � � � � � � $ �� �$ �$ � '9!"+)�% ,!" 7G-H- � � � � � � � � � � � � � � � � � � � � � � � � � $ �� �$ �0 1W*%&' 34+(9 7G-H- � � � � � � � � � � � � � � � � � � � � � � � � � $ �

+

Page 3: isat_dqmom

� �� ���� ����� �� ������ ��� ������� ���� �������( * 9*4�4!'+64 % +W)3" � )� )� "%!8� % +8*' 4)*) 8*( K 6 ) "% +( 6 K# �� 5*"+*K' 4 438� *45!+6 ,"*8)+!( � %*44 ,"*8)+!( *(6 ()�*'&# ��� � !U 5 " � +, !)� " 6 & (6 (8+ 4 W +4) K )U ()� 4 5*"+*K' 4 � )� 6 9" 4 !, ," 6!% 6 8" *4 )! ! � �� 8!%&!4+)+!( 5 8)!" " +4 6 V( 6)! +(8'36 ! 5*"+*K' 4 � U�+8� +4 * 43K4 ) !, �� � �� )"*(4& !") 23*)+!( ,!" )� 8!%&!4+)+!(5 8)!" �*4 )� ,!"% #

6"6$ % & '"( ) * '"( '�(

U� " " �*4 8!%&!( ()4 '" + � ", � - - - � ". ( � *(6 & '"( *(6 * '"( *" )� 8�*(9 4 +( " 63 )!8� % +8*' " *8)+!(4 *(6 )"*(4&!") � " 4& 8)+5 '#� �� 8!%&!4+)+!( !, " *8)+5 /!U 4 +4 *0 8) 6K# " *8)+!(4 *(6 )"*(4&!") U�+8� +(8'36 4 8!(5 8)+!( *(6 6+034+!( �1 � ( 2.7 8!6 4 34 ,"*8)+!(*' )+% 4) &&+(9 ,!" " *8)+5 /!U 8*'83'*)+!(4 � 4&'+))+(9) 8�(+23 4 8*( K *&&'+ 6 4! )�*) )� 6+0 " () &"!8 44 4 *" )" *) 6 +( 4 &*"*) ,"*8)+!(*'4) &4 � �( )� V"4) ,"*8)+!(*' )+% 4) & � )� 8�*(9 63 )! 8!(5 8)+!( *(6 6+034+!( +4 4!'5 6,!" 5 "# (!6 34+(9 #

6"6$ % * '"( '$(

U +)� )� +(+)+*' 8!(6+)+!( " '$( � �� 4!'3)+!( !, 12 � '$( +4 6 (!) 6 *4 "3 '$ ) 4$( � �( )� ( W),"*8)+!(*' )+% 4) & � )� 8�*(9 63 )! 8� % +8*' " *8)+!(4 +4 4!'5 6 34+(9 #

6"6$ % & '"( '0(

U +)� )� +(+)+*' 8!(6+)+!( "3 '$ ) 4$( � �� 8!%&!4+)+!( !, *'' (!6 4 *" )� ( *&&"!W +% *) 6 )!" '$ ) 4$( � �� !5 "*'' ,"*8)+!(*' )+% 4) &&+(9 +4 " &" 4 () 6 *4 #

" '$( 5678�9:65;< "3 '$ ) 4$( 6=7>5?:8;< " '$ ) 4$( @ ':(

�� 8� % +8*' 4!3"8 ) "% 4 *" 6 8!3&' 6 ,"!% )� )"*(4&!") ) "% 4 *(6 8*( K )" *) 6U +)� A 8+ () (3% "+8*' % )�!64 438� *4 ���� � ��34 � 4!'5 +(9 ,!" 8� % +8*' 4!3"8 ) "% 4+4 K*4 6 !( * 9+5 ( 8� % +8*' 8!%&!4+)+!( *) )+% $ )! 6 ) "% +( )� 8!%&!4+)+!( *) )+% $ ) 4$ " 43')+(9 ,"!% 8� % +8*' " *8)+!(4 � �( * )+% �6 & (6 () V(+) �5!'3% 8!6 � 12 � '0( +4+() 9"*) 6 " & )+)+5 '# ,!" *8� (!6 *) 5 "# )+% 4) & U +)� *8� ( U 4 ) !, +( +)+*' 8!(6+)+!(4 �

�� 44 ()+*' +6 *4 *(6 +(9" 6+ ()4 !, )� ���� *&&"!*8� �� �$� *" 43%%*"+B 6 *4 ,!''!U 4*(6 )� /!U 8�*") +4 4�!U( +( .+9 � � #

�� � 4&'+))+(9 48� % +4 %&'!# 6 4! )�*) )� &"!K' % +4 " 638 6 )! 6 ) "% +(+(9 )� " *8)+!( %*&&+(9 C '"(� U�+8� +4 )� 4!'3)+!( )! 12 � '0( *,) " * )+% 4 $ ,"!% )� +(+)+*'8!(6+)+!( "3 �

$ � � )*K' +4 K3+') +( 4+)3 *4 )� " *8)+5 /!U 8*'83'*)+!( +4 & ",!"% 6 4! )�*) !('# )� *88 44 6 " 9+!( !, )� 8!%&!4+)+!( 4&*8 +4 )*K3'*) 6 �

Page 4: isat_dqmom

Perform DIReturn Exact Values

Start Tabulation

YES

Binary TreeTraverse

EOAPoint inside Perform DI

Check if error

Toleranceless than Error

Growth Addition

Return IntegratedValue

Update Tabulation

Interpolation(Retrieve)

Perform Linear

Check if Query

NEXT QUERY

FIRST QUERY

NO

YES NO

.+93" � # �� /!U 8�*") !, )� M # 4) &4 +( ���� �

0 � � )*K' ()"# '!" " 8!"6 ( 8!(4+4)4 !, '+( * " , " (8 8!%&!4+)+!( 5 8)!" "� � '++( )� " �*8)+!( % *&&+(9 5*'3*) 6 *) )� " , " (8 8!%&!4+)+!( 5 8)!" C '"� ( � '+++( )� �*8!K+*(%*)"+W ,!" )� " *8)+!( %*&&+(9 5*'3*) 6 *) )� " , " (8 8!%&!4+)+!( 5 8)!" � '"� ( �*(6 '+5 ( +(,!"% *)+!( ( 6 6 )! 6 V( )� ''+&4!+6 !, *883"*8# '1H� ( � �� " *8)+!(%*&&+(9 *(6 +)4 �*8!K+*( 8*( )� ( K 34 6 )! !K)*+( * '+( *" *&&"!W +% *)+!( )! )� " *8)+!( %*&&+(9 5*'3*) 6 *) * �( *"K#� 23 "# 8!%&!4+)+!( "� #

C '"� ( � C '"� ( ) � '"� ( '"� ; "� ( '�(�� 1H� +4 *( ''+&4!+6*' " 9+!( � 8 () " 6 *) "� � U +)�+( U�+8� 12 � '�( +4 M(!U( )! K *883"*) �

: � �� 1H� +4 6 V( 6 +( ) "% 4 !, )� 4+(93'*" 5*'3 4 !, )� �*8!K+*( % *)"+W *(6 * 34 "�4& 8+V 6 ""!" )!' "*(8 � �( 1H� +4 +(+)+*'+B 6 *(6 9"!U( )! (43" )�*) 'U +)� �+9�&"!K*K+'+)# ( )� ""!" +(5!'5 6 +( 12 � '�( +4 U +)�+( )� 34 "�4& 8+V 6 ""!" )!' "*(8 �

� � �� " 8!"64 *" 4)!" 6 +( * K+(*"# )" U�+8� � 9+5 ( * 23 "# 8!%&!4+)+!( "� � 8*( K )"*5 "4 6 )! !K)*+( * )*K' ()"# "� U�+8� +( 4!% 4 (4 +4 8'!4 )! "� �

S � 1*8� 8*'' )! ���� +4 " , "" 6 )! *4 * ��� � �, )� ( U 23 "# & !+() +4 U +)�+( )� 1H� �)� ( 12 � '�( +4 %&'!# 6 )! 4)+% *) )� " *8)+!( % *&&+(9 � ��+4 4) & +4 M(!U( *4 *� ����

$

Page 5: isat_dqmom

X � �, )� 23 "# +4 (!) ,3 'V '' 6 K# * � ���� )� ( )� " *8)+!( % *&&+(9 +4 8!%&3) 6 K#7� � �*4 6 !( )� " 43') � )� 1H� +4 W*% +( 6 )! 6 ) "% +( +, )� '+( *" *&&"!W +% *)+!(+4 43A 8+ ()'# *883"*) � �, +) +4 � )� ( )� 1H� +4 �9"!U(� )! +(8'36 )� 23 "# & !+() ���+4 +4 " , "" 6 )! *4 * � ��� � �, )� 23 "# +4 (!) 4*)+4V 6 K# * 9"!U )� ( )� &!+() +4)*K3'*) 6 *4 * ( U 6*)* & !+() � " , "" 6 )! *4 ����

I � � 4 )� 8*'83'*)+!( &"!8 64 � U +)� +(8" *4+(9 &"!K*K+'+)#� )� 23 "# 8!%&!4+)+!( "� '+ 4U +)�+( )� 1H� !, * )*K' ()"# "� � 4! )�*) )� % *&&+(9 +4 A 8+ ()'# " )"+ 5 6 34+(912 � '�( � �( * )#&+8*' 8*'83'*)+!( � )� )*K' +4 %&)# *) )� V"4) )+% 4) & � ��34 * ( U '#8" *) 6 )*K' +4 6!% +(*) 6 K# ���� � ,!''!U 6 K# *( +() "% 6+*) & "+!6 6!% +(*) 6 K#� ���� � . +(*''#� )� )*K' " *8� 4 % *)3"+)# U� " *'% !4) 5 "# 23 "# &!+() ' *64 )! *� ���� �� !5 "*'' 8!%&3)*)+!(*' A 8+ (8# +(8" *4 4 6"*% *)+8*''# !(8 )� )*K' +4% *)3" 4+(8 )� " )"+ 5 4) & +4 8!%&3)*)+!(*''# +( W& (4+5 *4 8!%&*" 6 )! 7� �

������ +4 * .!")"*( '+K"*"# U�+8� +%&' % ()4 )� ���� *'9!"+)�% ,!" * 5 8)!"�5*'3 69 ( "*' ,3(8)+!( B 'P ( �0� � �� 34 " %34) &"!5+6 * 43K"!3)+( )! 5*'3*) B 'P ( 9+5 ( )� 5 8)!" P *(6 +)4 6 "+5*)+5 4 � �� ,3(8)+!( B 'P ( *(6 5 8)!" P 6 (!) C '"( *(6 " � " 4& 8)+5 '#��( ������ )� )+% 4) & 4$ +4 *'4! )*K3'*) 6 *(6 )�34 ( 6 (!) K * VW 6 5*'3 ,!" )� ()+" 4+%3'*)+!( �0� ���� ���� ��� ���� � � ���� �� �� ��� �; �� �������D D����� � @� ��� & *) 6 � " *" )� 23*)+!(4 4!'5 6 +( -.�/ � +(8'36+(9 8!()+(3+)#� 4& 8+ 4 � *(6 ( "9#,!" 9*4 *(6 4!'+64 &�*4 4 �: � #��� ��� ������ ��� ��� �

�� $ '�� � ( ) ! - '�� �" � ( %

#$%&' +

C �& ( 'S(�� $ '��) �) ( ) ! - '��) �)" �) ( %

#*+%&' +

C �)& @ 'X(

��� ��� ������ �, ����� $ '�� �- �& ( ) ! - '�� �- �&" � ( % C �& ( 'I(

�� $ '��) �)- �)& ( ) ! - '��) �)- �)&" �) ( % C�)& @ 'L(

0

Page 6: isat_dqmom

Calculate species mass fractionsCalculate temperaturesCalculate volumetric fractions

Calculate velocities

NoYes

Go to the next time step

convergence

Check for

Time marching loop

.+93" $ # �� /!U 8�*") !, -.�/ �

��� ��� ������ � ���

�� �� 9� ��* �� $ ) "� - !* �� % ; ! -�� ) ���) '*�� ; * � ( ; �� 6�)��7�� '*�7�� ; * � ( ( '�(

��) �)� 9�) ��*�)� $ ) " �) - !*�)� % ; ! -� �) ; ���) '*�) ; * � ( ; �� 6�) @

'��(�� 43K48"+&)4 9 *(6 4 +(6+8*) )� 9*4 *(6 4!'+64 &�*4 4 " 4& 8)+5 '# *(6 � 6 (!) 4* 3(+23 4& 8+ 4 � H)� " 5*"+*K' 4 +(8'36 )� &�*4+8 5!'3% ,"*8)+!( � � 6 (4+)# � 5 '! 8+)#5 8)!" " � %*44 ,"*8)+!( - � "*) !, ,!"% *)+!( C *(6 (3%K " !, 8� % +8*' 4& 8+ 4 � � . +93" $4�!U 4 )� /!U 8�*") !, -.�/ �

� �; �; <�>��� ��� >A�C >�� D��=>� ��=C D � @� ���� 23*)+!(4 4�!U( *4 'S ��( *" +() 9"*) 6 !5 " * 8!%&3)*)+!(*' 8 '' +( )� V(+) �5!'3% % )�!6 � � 43*''# )� 8� % +4)"# +4 4)+0 � ,!" W*%&' � 63 )! )� '*"9 "*(9 !, )+% 48*' 4 �� )+% �4&'+))+(9 % )�!6 ��� 8*( K %&'!# 6 )! 4!'5 )� 8!()+(3+)#� 4& 8+ 4 *(6 ( "9# 23*)+!(4 � �� 8� % +8*' 4!3"8 ) "% 4 U�+8� *&& *" +( )� 8!()+(3+)#� 4& 8+ 4 *(6 ( "9# 23*)+!(4 *" 6 8!3&' 6 4! )�*) )� # 8*( K 4!'5 6 34+(9 ���� �

�&&'#+(9 )+% �4&'+))+(9 ) 8�(+23 4 )! -.�/ � )� 8*'83'*)+!( !, 4& 8+ 4 % *44 ,"*8)+!(4 �5!'3% )"+8 ,"*8)+!(4 *(6 ) %& "*)3" 4 " 23+" 4 )U! 4) &4 #

:

Page 7: isat_dqmom

�� �( )� V"4) ,"*8)+!(*' )+% 4) & � )� 8�*(9 63 )! 8!(5 8)+!( +4 4!'5 6 ,!" 5 "# (!6 34+(9 124 � 'S( '��( K# 4 ))+(9 )� % *44 *(6 � *) 9 ( "*)+!( 63 )! " *8)+!(4 23*' )!B "! � �� " 43')+(9 23*)+!(4 �*5 )� ,!"% #

�� $ '�� � ( ) ! - '�� �" � ( % ( '�$(

�� $ '��) �) ( ) ! - '��) �)" �) ( % ( '�0(

�� $ '�� �- �& ( ) ! - '�� �- �&" � ( % ( '�: (

�� $ '��) �)- �)& ( ) ! - '��) �)- �)&" �) ( % ( '��(

�� �� 9� ��* �� $ ) "� - !* �� % ; ! -�� ) ���) '*�) ; * � ()��7�� '*�7�� ; * � ( ( '�S(

��) �)� 9�) ��*�)� $ ) " �) - !*�)� % ; ! -� �) ; ���) '*�) ; * � ( @

'�X(U +)� )� +(+)+*' 8!(6+)+!(4 -�& '$( � - �)& '$( � ��) '$( � � '$( � * � '$( *(6 *�) '$( � �� 4!'3)+!(4!, 124 � '�$( '�X( *" - 3�& '$ ) 4$( � - 3�)& '$ ) 4$( � �3�) '$ ) 4$( � 3� '$ ) 4$( � * 3� '$ ) 4$( *(6* 3�) '$ ) 4$( � .!" 8'*"+)#� )� 4&*)+*' 6 & (6 (8# !, *8� ) "% +4 43&&" 44 6 � !U 5 " �)� " *6 " 4�!3'6 M & +( % +(6 )�*) )� 5*"+*K' 4 %34) K 3&6*) 6 +( )+% *) 5 "#9"+6 8 '' �

$ � �( )� ( W) ,"*8)+!(*' )+% 4) & � )� 8�*(9 63 )! )� 8� % +8*' 4!3"8 ) "% 4 ,!" % *44,"*8)+!(4 *" #

66$ '�� �- �& ( % C �& ( '�I(

66$ '��) �)- ��& ( % C�)& @ '�L(

7+0 " ()+*)+(9 124 � '�I( *(6 '�L( *(6 " *""*(9+(9 ) "% 4 # + '64 #66$ '-�& ( %

C �&�� �

; -�&�� �

66$ '�� � ( ( '$(

66$ '- �)& ( %

C�)&��) �) ; - �)&

��) �)66$ '��) �) ( ( '$�(

Page 8: isat_dqmom

U� " )� 8�*(9 !, 5!'3% )"+8 ,"*8)+!(4 �� *(6 ��) *" 8*'83'*) 6 ,"!% )� 8!()+(3+)# 23*)+!( ,!" )� 4!'+64 &�*4 #

66$ '��) �) ( %

#*+%&' +

C �)& '$$(

U +)� �� ) ��)' + ��) % �� 123*)+!( '$$( 8*( K " *""*(9 6 *4 #66$ '��) ( %

� �)

#*+%&' +

C �)& '$0(4+(8 �) +4 8!(4)*() � � 9+((+(9 U +)� )� 8!()+(3+)# 23*)+!( ,!" )� 9*4 &�*4 #

66$ '�� � ( %

#$%&' +

C �& '$: ()� 23*)+!( 8*( K " U "+)) ( #

��6 �6$ ; �

�%)' +

6 ��)6$ %#$%&' +

C �& @ '$�(

�� ( � )� 8�*(9 !, 9*4 6 (4+)# +4 #66$ ' � ( %

���

� #$%&' +

C �& ) ��%)' +

6 ��)6$ � @ '$S(

."!% )� ( "9# 23*)+!(4 ,!" )� 9*4 *(6 4!'+64 &�*4 � )� 8�*(9 63 )! )� 8� % +8*'4!3"8 ) "% 4 *" U "+)) ( *4 #

�� �� 9� 66$ '* � ( % ; � � 6� ( '$X(

��) �)� 9�) 66$ '*�) ( % ; � � 6�) '$I(

*(6 124 � '$X( *(6 '$I( 8*( K " *""*(9 6 *4 #

66$ '* � ( % ; � � 6�

�� �� 9� ( '$L(66$ '*�) ( % ; � � 6�)

��) �)� 9�) @ '0(��34 124 � '$( *(6 '$�( ,!" % *44 ,"*8)+!(4 � 12 � '$0( ,!" 5!'3% )"+8 ,"*8)+!(4 � 12 � '$S(,!" 9*4 6 (4+)# *(6 124 '$L( *(6 '0( ,!" ) %& "*)3" 4 *" +() 9"*) 6 U +)� )� +(+)+*'

S

Page 9: isat_dqmom

Calculate change in volumetric fractions, species mass

fractions and temperatures due to transport

Calculate velocities

due to chemcial reaction (using ISAT)fractions, gas density and temperaturesCalculate change in volumetric fractions, species mass

Go to the next time step

NoYes

convergence

Check for

Time marching loop

.+93" 0 # �� /!U 8�*") !, -.�/ U +)� ���� �

8!(6+)+!(4 - 3�& '$ ) 4$( � - 3�)& '$ ) 4$( � �3�) '$ ) 4$( � 3� '$ ) 4$( � * 3� '$ ) 4$( *(6 * 3�) '$ ) 4$( ��� %*44 ,"*8)+!(4 � 5!'3% )"+8 ,"*8)+!(4 � 9*4 6 (4+)# *(6 ) %& "*)3" 4 *) *'' (!6 4 *" 3&6*) 6 )! -�& '$ ) 4$( � - �& '$ ) 4$( � �� '$ ) 4$( � � '$ ) 4$( � * � '$ ) 4$( *(6 *�) '$ ) 4$(*(6 &" 443" +4 3&6*) 6 34+(9 )� +6 *' 9*4 '*U � �( !"6 " )! 34 *( H71 4!'5 " �)� 34 " %34) &"!5+6 )� � � !, 124 '$( � '$�( � '$0( � '$S( � '$L( *(6 '0( *(6 )� +"8!"" 4&!(6+(9 �*8!K+*( %*)"+W �

1 +)� )� )+% �4&'+))+(9 % )�!6 )� 8� % +8*' " *8)+!(4 ,!" )� 9*4 *(6 4!'+64 &�*4 4 *" +4!'*) 6 ,"!% )� )"*(4& !") ) "% 4 *(6 8*( K )" *) 6 U +)� A 8+ () (3% "+8*' % )�!64 438�*4 ���� � �� &"!K' % 4)*) % () ,!" 4!'5 +(9 )� 8� % +8*' 4!3"8 ) "% 4 +4 K*4 6 !( * 9+5 (8� % +8*' 8!%&!4+)+!( *) )+% $ )! 6 ) "% +( )� 8!%&!4+)+!( *) )+% $ ) 4$ " 43')+(9 ,"!%8� % +8*' " *8)+!(4 � 73"+(9 )� 8!3"4 !, * 4+%3'*)+!( � 124 � '$( � '$�( � '$0( � '$S( � '$L( *(6'0( *" +() 9"*) 6 " & )+)+5 '# ,!" *8� (!6 *) 5 "# )+% 4) & U +)� *8� ( U 4 ) !, +( +)+*'8!(6+)+!(4 �

� 4 4�!U( +( .+9 � 0 � )� 8� % +8*' 4!3"8 ) "% 4 *" 4!'5 6 34+(9 ���� *(6 )� )"*(4&!")) "% 4 *" 8*'83'*) 6 34+(9 -.�/ *) *8� ,"*8)+!(*' )+% 4) & � �� 8�*(9 4 +( 4& 8+ 4 % *44,"*8)+!(4 � 5!'3% )"+8 ,"*8)+!(4 � 9*4 6 (4+)# *(6 ) %& "*)3" 4 63 )! )"*(4&!") *" 8*'83'*) 6U +)� !)� " 23*)+!(4 +) "*)+5 '# +( )� -.�/ 8!6 � �, )� 23*)+!(4 8!(5 "9 � )� 8�*(9 +(4& 8+ 4 % *44 ,"*8)+!(4 � 5!'3% )"+8 ,"*8)+!(4 � 9*4 6 (4+)# *(6 ) %& "*)3" 4 63 )! 8� % +8*'" *8)+!(4 *" 8!%&3) 6 34+(9 ���� � �� ( )� 8*'83'*)+!( %!5 4 )! )� ( W) )+% 4) & � �(!"6 " )! (43" "*&+6 8!(5 "9 (8 � -.�/ *6*&)4 )� )+% 4) & 4$� !( 5 "# +) "*)+!( �

X

Page 10: isat_dqmom

t = t + t δM M M

M I I

t = t + t δI I I

I END

density and volumetric fraction using MFIX

density and volumetric fraction using ISAT

START

Is ?t > t + t δ

Is t > Simulation Time ?

Calculate change in mass fractions, gas

Calculate change in mass fractions, gas

NO Yes

Yes

NO

It

.+93" : # .'!U 8�*") !, -.�/ U +)� ���� ,!" VW 6 )+% 4) & �

."!% (3% "+8*' 4)36+ 4 ��� � )� 6"*4)+8*''# 5*"#+(9 )+% 4) & +( -.�/ 8*34 6 &!!" & "�,!"% *(8 !, ���� � �+(8 ������ 6 ) "% +( 4 )� 1H� K*4 6 K!)� !( )� 6+4)*(8 +( )� 8!%&!4+)+!( 4&*8 *(6 )� 6+0 " (8 +( )� )+% 4) & � * 5*"+*K' )+% 4) & +( ���� U +)�4+% +'*" % *44 ,"*8)+!(4 � 5!'3% )"+8 ,"*8)+!(4 *(6 ) %& "*)3" 4 U +'' &"!638 * ( U " 8!"6 !"9"!U)� +(4) *6 !, 3)+'+B +(9 )� '+( *" +() "&!'*)+!( &"! 8 63" � �) *&& *"4 )�*) * 2.7 8!6 U +)� * "*&+6'# 5*"#+(9 )+% 4) & ( 64 '!(9 " )+% *(6 %!" % %!"# )! K3+'6 *(6 4)!" )� ���� )*K' � H( &!44+K ' " % 6# +4 )! 8*'' ���� ,"!% -.�/ *) * VW 6 )+% 4) & 4 $� 63"+(9)� 8*'83'*)+!( *4 4�!U( +( .+9 � : � �) )� K 9+((+(9 � $� +4 23*' )! $� � � +% 4) &4 +( -.�/'4$� ( 5*"# 63"+(9 )� 4+%3'*)+!( *(6 ���� +4 !('# 8*'' 6 U� ( )� )+% +( -.�/ *65*(8 4%!" )�*( 4 $� � �� ( � ���� 3&6*) 4 )� 6*)* 5 "# 4 $� � U�+8� +4 � '6 8!(4)*() 3()+' $� +49" *) " )�*( $� �

� � ����� ���������� � ����� � � � � ���� ���� �� �� ��� � ������; �� �� ��������� �����>� �������D�� &!&3'*)+!( K*'*(8 23*)+!(4 'J�1 ( ,!" )� &*")+8' 4+B 6+4)"+K3)+!( 'J�7 ( U +)� (3%K "6 (4+)# ,3(8)+!( � '� � P ( $( 8*( K U "+)) ( +( ) "% 4 !, !( +() "(*' 5*"+*K' � &*")+8' 4+B ' (9)�� � *4 ,!''!U 4 �S� #

�� '� � P ( $(� $ ) � - ��� � �� �� '� � P ( $(� % & '� � P ( $( ( '0 �(U� " & '� � P ( $( " &" 4 ()4 )� ( ) "*) !, +()"!638)+!( !, ( U &*")+8' 4 +()! )� 4#4) % ' �9 ��63 )! )� 8� % +8*' " *8)+!( � *99" 9*)+!( *(6 K" *M*9 ( *(6 �� � �� � +4 )� % *( 5 '! 8+)#

I

Page 11: isat_dqmom

8!(6+)+!( 6 !( )� &*")+8' ' (9)� � � �# 6 V(+)+!( � �� � �� % �� � % � �� � P +4 )� 4&*)+*'8!!"6+(*) *(6 $ +4 )� )+% �� 4+(9 7G-H- � � '� � P ( $( 8*( K *&&"!W +% *) 6 +( ) "% 4 !, * 43%%*)+!( !, � 7+"*86 ')* ,3(8)+!(4 '&" 43% 6 V(+) �%!6 J�7 ( #

� '� � P ( $( %#%�' + �� 'P ( $(4 �� ; �� 'P ( $(� ( '0$(

U� " �� +4 )� � ��� !, )� 6 ')* ,3(8)+!( 8 () " 6 *) )� ������ ��� �� ��� � �� � �,12 � '0$( +4 43K4)+)3) 6 +()! 12 � '0 �( � +) +4 & !44+K' )! 6 "+5 )"*(4&!") 23*)+!(4 ,!" )� �U +9�)4 �� *(6 )� � 8�*"*8) "+4)+8 ' (9)�4 �� ��� & !&3'*)+!( K*'*(8 +( ) "% 4 !, )� &" 43% 6 V(+) �%!6 J�7 K 8!% 4 #

#%�' + 4 '�;�� ( ����� $ ) � - '��� �� (�; #%�' + 4 � '�;�� ( ��� '���� $ ) � �� - ��� (� % & '� ( * ( '00(

U� " 4 � '� ; �� ( +4 )� V"4) 6 "+5*)+5 !, )� 7 +"*8 6 ')* ,3(8)+!( 4 '� ; �� ( *(6 *,) " 4!% %*(+&3'*)+!( � 12 � '00( K 8!% 4 #

#%�' + 4 '� ; �� (�� ;#%�' + 4 � '� ; �� ( ��� ; �� �� � % & '� ( * ( ( '0: (

U� " ���� $ ) � - '��� �� ( % �� ( '0�(� '���� (� $ ) � - '����� �� ( % �� @ '0S(

; �� �; @ �C��� �=��DB�=C-!% () )"*(4,!"% 4 8*( K *&&'+ 6 )! 6 ) "% +( )� ,3(8)+!(*' ,!"% 4 !, �� *(6 �� ,!" 4!'5 +(9)� J�1 � �� � 5 %!% () !, )� J�7 +4 6 V( 6 *4 #

'P ( $( % � �� � '� � P ( $(� � �

#%�' + ���� @ '0X(

� +5 ( )�*) #

� �� 4 '� ; �� (� � % �� (

� �� 4 � '� ; �� (� � % ;�� � +� (

� �� 4 �� '� ; �� (� � % � '� ; �(� �,� ( '0I(

L

Page 12: isat_dqmom

)� ( )� %!% () )"*(4,!"% !, 12 � '0: ( #+ '64 ##%�' + ���

� '� ; � ( ) ���� � +� % & ( '0L(

U� "

& % � �� & '� (� � @ ':(

�� ,!"% !, 12 � '0L( 4�!U 4 )� 4!3"8 ) "% 4 !, )� )"*(4&!") 23*)+!(4 !, )� � U +9�)4�� *(6 8�*"*8) "+4)+8 ' (9)�4 �� *" 6 V( 6 )�"!39� * '+( *" 4#4) % +(5!'5 +(9 )� V"4) $�%!% ()4 !, )� &!&3'*)+!( K*'*(8 23*)+!( ' �9 �� � % ( - - - ( $� ; �( � ��+4 '+( *" 4#4) %8*( K U "+)) ( +( % *)"+W ,!"% *4 #

P % � ( ': �(U� " )� $� � $� 8! A 8+ () % *)"+W % � + ,� +4 6 V( 6 K# #

+ %

�������

� @ @ @ � @ @ @ ;� ,+ @ @ @ ;� ,#��� � � � ���

$ '� ; � (�,# � ++ @ @ @ $ '� ; � (�

,# � +#

�������

':$(

*(6

, %

�������

@ @ @ � @ @ @ �

$� + @ @ @ $�#��� � � � ���'$� ; �(�

,# �,+ @ @ @ '$� ; �(�,# �,#

�������@ ':0(

P % �� + - - - �# � + - - - �# � % ���� ( ':: (� % �& � - - - & ,# � +� @ ':�(

�, � % � )� J�7 +4 " &" 4 () 6 K# !('# !( 6 ')* ,3(8)+!( *(6 +4 )� +6 ()+)# % *)"+W ��� 4!3"8 ) "% 4 *" # �� +� +� % �& �

& +� @ ':S(

�, � % $ )� J�7 +4 6 48"+K 6 K# )U! 6 ')* ,3(8)+!(4 � *(6

%����

� � � �;� ,+ ;� ,, $� + $� ,;$� + ;$� , 0�

,+ 0�,,

����@ ':X(

Page 13: isat_dqmom

�# +(5 ")+(9 � � U 8*( 9 ) )� 4!3"8 ) "% #����

� +�,� +�,���� %

����'0� + ; � , (�

,, ;S� +� , 0 '� + ) � , ( ;$'� + ; 0� , (� ,+ S� +� , ;0 '� + ) � , ( $

$�,,� ,+ ; ':� ,+ ) � +� , ) � ,, (� , $ '� ,+ ) � +� , ) � ,, ( ;� + ; � ,;$�,,�,+ '�

,+ ) � +� , ) :�,, (� , ;$ '�

,+ ) � +� , ) �,, ( � + ) � ,

�����

�'� + ; � , (

����& �& +& ,&

����@ ':I(

; �� �� ��=������ ��� �=������ ��������� %!% () )"*(4,!"% !, )� 4!3"8 ) "% !('# U +)� *99" 9*)+!( *(6 K" *M*9 ')� %!' 83'*"9"!U)� "*) +4 B "! ( �X� +4 #

& 'P ( $( % �� 'P ( $( ; ! � 'P ( $( ) �

� 'P ( $( ; ! � 'P ( $( ( ':L(U� "

�� % �

$ � �� � '� � P ( $( � �� � '� ( �( '� ) � ( �� '� � P ( $( � � ( '�(

! � % � �� �� '� � P ( $( � �� � '� ( � (� '� � P ( $( � � ( '��(

�� % � �� �

� �� � '�(� '� �� (� '� � P ( $( � � ( '�$(! � % � �� �

� '� (� '� � P ( $( � ( '�0(*" " 4& 8)+5 '# )� % !% ()4 !, )� K+")� *(6 6 *)� "*) 4 ,!" *99" 9*)+!( *(6 K" *M*9 � �� 5*"+*K' � '� ( �( +4 )� *99" 9*)+!( M "( ' )�*) +4 )� ," 23 (8# !, 8!''+4+!( !, )U! &*")+8' 4 U +)�' (9)� � *(6 � � � '� ( +4 )� K" *M*9 M "( ' )�*) +4 )� ," 23 (8# !, 6+4"3&)+!( !, * &*")+8' !, ' (9)� � � *(6 � '� �� ( +4 )� ,"*9% () 6+4)"+K3)+!( ,3(8)+!( )�*) 8!()*+(4 +(,!"% *)+!( !()� ,"*9% ()4 &"!638 6 K# * K" *M*9 5 () �

�&&'#+(9 )� 23*6"*)3" *&&"!W +% *)+!( " &!") 6 +( 12 � '0X( � )� 4!3"8 ) "% K 8!% 4 #

& % �$

#%' +

� #% ' +

� '� ) � ( �� ;

#%' + �

#% ' +

�� )#%' +

� � � �� ;#%' + �

� � ( '�: (

U� " � % � '� ( � ( � � % � '� ( � *(6

� � � % � ��� � � '� �� ( � @ '��(

��

Page 14: isat_dqmom

�� *99" 9*)+!( *(6 K" *M*9 M "( ' 6 5 '!& 6 ,"!% M+( )+8 )� !"# *" 34 6 � " #� % � ��

�0�� � �

+�,'� ) � (

, � ��

) �� �

+�,( '�S(

� % � �#% ' +

� � �0��

� �+�,

'� ) � (, � �

� ) �� �

+�,( '�X(

U� " � � *(6 � � *" )� 4388 44�,*8)!"4 ,!" *99" 9*)+!( *(6 K" *M*9 *(6 �� +4 )� *5 "*9 9"*(3'*" ) %& "*)3" � 123*)+!(4 '�S( *(6 '�X( *443% 23*' 6 (4+)# +( )� 6 "+5*)+!(4 �

� �� ���� ��� ���� � � ��� � �� � � ��; �; �� �������D D����� � @� ���( !"6 " )! K 8!(4+4) () U +)� )� 5*"+*K' 4 34 6 +( )� %3')+�/3+6 %!6 ' � )� U +9�)4 �� *(6*K48+44*4 �� *" *44! 8+*) 6 U +)� )� 4!'+6 5!'3% ,"*8)+!( � �� *(6 )� 0 8)+5 ' (9)� � ����,!" *8� 4!'+6 &�*4 �I� � �� 5!'3% ,"*8)+!( !, *8� 4!'+6 &�*4 +4 " '*) 6 )! )� *K48+44*4�� *(6 U +9�)4 �� K# #

� �� % ��� ��� % �� � �� ,� ( '�I(*(6 )� 0 8)+5 ' (9)� !, )� 4!'+6 &�*4 +4 #

� ���� % ��� ��� � % �� � ��� � ( '�L(U� " �� +4 * 5!'3% )"+8 4�*& ,*8)!" ' �9 �� ,!" 4&� "+8*' &*")+8' 4 �� % � �S( *(6 � � % ���� ��, 12 � '�I( *(6 12 � '�L( *" 43K4)+)3) 6 +()! )� )"*(4&!") 23*)+!( ,!" � �� *(6 � ���� � )� ,!''!U +(9 23*)+!(4 8*( K !K)*+( 6 #

� '� �� �� (� $ ) � - '� �� ��� �� ( % 0�� ��� ,� �� ; $�� ��� � �� @ 'S(� '� ���� �� (� $ ) � - '� ���� ��� �� ( % :�� ��� � �� ; 0�� ��� �� �� @ 'S �(

�� V"4) )"*(4& !") 23*)+!( '12 � 'S(( " &" 4 ()4 )� 8!()+(3+)# 23*)+!( ,!" )� 54!'+6 &�*4 +( )� &" 4 (8 !, *99" 9*)+!( *(6 K" *M*9 � K3) U +)�!3) % *44 )"*(4, " K )U (9*4 *(6 4!'+64 � 123*)+!( 'S�( +4 34) * ( U 48*'*" 23*)+!( ,!" &*")+8' ' (9)� �� ,!" *8�4!'+6 &�*4 � �!U 6 V(+(9 ��� *(6 ��� )! K )� 4!3"8 ) "% 4 !, )� )"*(4&!") 23*)+!( ,!"5!+6 ,"*8)+!( � �� *(6 8�*"*8) "+4)+8 ' (9)� �� � )� ( )� 4!3"8 ) "% 4 8*( K " '*) 6 U +)�4!3"8 ) "% 4 P K# #

P � % �P 'S$(U� "

P � % ���+ - - - ��# ��+ - - - ��# � % �� �� �� ( 'S0(�$

Page 15: isat_dqmom

� %

���������

;$�� �+� + 0�� �+� ,+ � � � � � � ;$�� �# � # 0�� �# � ,#;0�� �+� �+ :�� �+� + � � � � � � ;0�� �# � �# :�� �# � #

���������

@ 'S: (

�, � % � )� ( # ���+��+� % �;$�� �+� + 0�� �+� ,+;0�� �+� �+ :�� �+� +� �� +� +� 'S�(�, � % $ )� (

����

��+��,��+��,���� %

����;$�� �+� + 0�� �+� ,+ ;$�� �,� , 0�� �,� ,,;0�� �+� �+ :�� �+� + ;0�� �,� �, :�� �,� ,

����

����

� +�,� +�,���� 'SS(

; �; �; ������ ��>A������ 4!'3)+!( ) 8�(+23 )�*) U +'' K 8!6 6 +( -.�/ +4 4�!U( *4 .+9 � � � �, � % $ � *) )+% $ % � )� +( +)+*' 8!(6+)+!(4 ,!" )� 5!+6 ,"*8)+!(4 � �+ ( � �, *(6 &*")+8' ' (9)�4 � + ( � , *" 9+5 ( +( )� %VW �6*) V ' � ."!% )� 4 +(+)+*' 5*'3 4 � )� U +9�)4 8*( K 8*'83'*) 6 ,"!%12 � '�I( *(6 12 � '�L( � �!3"8 ) "% 4 *" " '*) 6 U +)� U +9�)4 *(6 ' (9)�4 K# )� %!6 ',!" 8� % +8*' " *8)+!( � *99" 9*)+!( *(6 K" *M*9 � � 4+(9 12 � ':I( � )� 4!3"8 ) "% 4 ,!" )� )"*(4& !") 23*)+!(4 ,!" U +9�)4 *(6 U +9�) 6 8�*"*8) "+4)+8 ' (9)�4 8*( K 4!'5 6 � �� ( 34+(912 � 'SS( � +) +4 *4# )! 9 ) )� 4!3"8 ) "% 4 ,!" )� )"*(4&!")*)+!( 23*)+!(4 ,!" 5!+6 ,"*8)+!(4*(6 ' (9)�4 � � 4 '!(9 *4 U 9 ) )� 4!3"8 4 ) "% 4 ,!" )� 4 )U! )"*(4&!")*)+!( 23*)+!(4 �U 8*( 34 -.�/ )! 4!'5 )� 4 )U! )"*(4&!") 23*)+!(4 � ')"*(4&!")*)+!( 23*)+!( ,!" 5!+6,"*8)+!( +4 *'" *6# +( )� 8!6 � U ( 6 4!'5 )U! %!" 48*'*" )"*(4&!") 23*)+!( ,!" *8�' (9)� �( � �� ( 34+(9 12 � '�I( *(6 12 � '�L( � )� &*")+8' ' (9)�4 *(6 U +9�)4 ,!" )� ( W))+% 4) & 8*( K 8*'83'*) 6 �

�0

Page 16: isat_dqmom

.+93" � # �� 4!'3)+!( ) 8�(+23 34 6 +( -.�/ �

�:

Page 17: isat_dqmom

�� ��������

��� J!& � � � � � '�LLX( � 2!%&3)*)+!(*''# A 8+ () +%&' % ()*)+!( !, 8!%K34)+!( 8� % +4)"#34+(9 +( 4+)3 *6*&)+5 )*K3'*)+!( � ����� ��� �� ��� ��� � ��� ���� � �� : � S0 �

�$� .!W � � � H � '$0( � 2!%&3)*)+!(*' -!6 '4 ,!" �3"K3' () � *8)+(9 .'!U 4 � �������� �� �� �� � � � ��� �

�0� J!& � � � � � '$( � ���� � 4 " 4 �3+6 *(6 � , " (8 4 -*(3*' ��: � �#*% '*' � - �� �!9 "4 � 1 � *(6 H � "+ ( � � � '�LL0( � -.�/ 7!83% ()*)+!( # �� !"# �3+6 �

���� ���� � � � �� ������ ���� ���� / + � � �� �*))*9'+* � . � *(6 .!W � � � H � '$:( � �+%3'*)+!(4 !, %3')+&�*4 " *8)+5 /!U 4

+( /3+6+B 6 K 64 34+(9 +( 4+)3 *6*&)+5 )*K3'*)+!( � ����� ��� �� ��� ��� � ��� ���� �� � �L� $L �

�S� � *(6!'&� � � � 7 � *(6 �*"4!( � - � � � '�LX�( � �� !"# !, J*")+83'*) J"!8 44 4 � � ���� ��� ��� �

�X� -*"8�+4+! � 7 � � � *(6 .!W � � � H �� �!'3)+!( !, & !&3'*)+!( K*'*(8 23*)+!(4 34+(9 6+" 8)23*6"*)3" % )�!6 !, %!% ()4 � ������ �� ���, � ����� ���� ��� � 43K% +)) 6 �

�I� .*( � � �� -*"8�+4+! � 7 � � � *(6 .!W � � � H � '$: ( � �&&'+8*)+!( !, )� 6+" 8) 23*6"*)3" % )�!6 !, % !% ()4 )! & !'#6+4& "4 9*4�4!'+6 /3+6+B 6 K 64 � � ���� ��������� � ����X $ �

��

Page 18: isat_dqmom

Appendix A User Reference for ISAT and DQMOM A.1 Input for ISAT A.1.1 Keywords for input data file The following are parameters set by the user to invoke ISAT calculations.

Keyword(dimension) Type Description CALL_DI [F]

L Variable to decide if chemical reactions are solved using direct integration (DI) with ODE solver.

CALL_ISAT [F]

L Variable to decide if chemical reactions are solved using ISAT.

CALL_GROW [F]

L Variable to decide if particle growth is calculated.

ISATdt DP Time step for ISAT simulations (usually the value is less than the average time step in MFIX).

A.1.2 Algorithm for ISAT If “CALL_DI=.TRUE.” or “CALL_ISAT=.TRUE.”, MFIX uses DI or ISAT to calculate the chemical reactions using the time-splitting method. The ODE solver used here is ODEPACK. The user can download the files from the website (www.netlib.org/odepack) and compile using the same compile option as other files of MFIX. Then ODEPACK should be linked as a library in the make_mfix file. The algorithm of MFIX using ODEPACK (CALL_DI = .TRUE.) is shown in Fig. 6. By this call, the ODEs will be solved every ISATdt if provided, or every time step of MFIX if ISATdt is not provided by DI. If “CALL_ISAT=.TRUE.”, user must provide the ISATAB library and link it in the make_mfix file. Figure 7 shows the flow of MFIX using ISAT. The user must provide ISATdt to keep the high performance of ISAT. The following is a list of files for the chemical reaction calculations:

check_data_chem.f Checks user input in mfix.dat mchem_mod.f Defines the global variables. mchem_init.f Assigns the initial values. misat_table_init.f Assigns the values for the controlling parameters for ISATAB

16

Page 19: isat_dqmom

(not needed if CALL_DI = .TRUE). mchem_odepack_init.f Assigns the values for controlling parameters for ODEPACK. mchem_time_march.f Interface between MFIX and ODE solver (assigns variables for

integration and transfers back the updated values). react.f Calculates the interface mass transfer, mass generations of gas

and solids phases and calls ODEPACK or ISATAB. usrfg.f Called by ISATAB to provide the values of direct integration

and mapping matrix. exponential.f dgpadm.f

Provides the mapping matrix for ISATAB. Called by exponential.f.

calc_jacobian.f Provides the Jacobian matrix for jac.f and usrfg.f. fex.f Provides the source terms for ODEPACK and source terms for

chemical reactions rates. jac.f Provides the Jacobian matrix for ODEPACK.

The following is a list of files that are usually modified to include the chemical reactions using ODE solver or ISAT:

mchem_mod.f Sets the global variables. misat_table_init.f Sets the controlling parameters for ISATAB. mchem_odepack_init.f Sets the controlling parameters for ODEPACK. fex.f The subroutine provides the source terms for equations in the

ODE solver and source terms of reactions rates. The source terms have the following order: [ρg, Tg, Xg], [εs1, Ts1, Xs1, d1], ···, [εsm, Tsm, Xsm, dm]. If the variables are constant during the simulations, the source terms should be set to zero. For example, for isothermal chemical reactions, the source terms of Tg and Tsm are zero.

calc_jacobian.f Provides the Jacobian matrix for ODE solver. transport_prop.f Provides transport properties. physical_prop.f Provides physical properties.

A.1.3 Example using ISAT The non-isothermal silane pyrolysis in a fluidized bed (FB) is used as a benchmark case, where detailed chemical reactions are considered. The FB reactor is fed with a mixture of silane (SiH4) and nitrogen (N2). First, a reversible gas phase reaction occurs:

SiH4 ↔ SiH2 + H2 . The highly reactive SiH2 undergoes a gas phase reaction to form Si2H6:

SiH2 + SiH4 ↔ Si2H6. Then the heterogeneous decomposition of SiH4 and SiH2 on alumina (Al2O3) particles is described by two irreversible reactions:

SiH4 → Si(s) + 2H2,

17

Page 20: isat_dqmom

18

SiH2 → Si(s) + H2. Thus there are five gaseous species and two solid species needed to describe this flow. The following files are modified to simulate this case:

mchem_mod.f Sets the global variables. misat_table_init.f Controlling parameters for ISATAB are set. mchem_odepack_init.f Controlling parameters for ODEPACK are set. fex.f The subroutine provides the source terms to ODE solver and

sources terms of reactions. For this case, the order of ODEs is [ρg, Tg, XSiH4, XSiH2, XH2, XSi2H6, XN2], [εs1, Ts1, XSi, XAl2O3, d1]. As written in the code, the user should provide the source terms of reactions, which is RXN_source_g(n) for gas phase species n and RXN_source_s(m,n) for solid phase m and species n. Then the source terms of the ODEs are calculated. Note that N2 and Al2O3 are inert species; therefore the source terms are set to zero.

calc_jacobian.f The subroutine provides the Jacobian matrix for ODE solver. The example case uses the Jacobian matrix generated by ADIFOR (g_derives.f). The ADIFOR can be downloaded from the website (http://www-unix.mcs.anl.gov/autodiff/ADIFOR).

transport_prop.f Provides the transport properties. physical_prop.f Provides the physical properties such as averaged molecular

weight.

Page 21: isat_dqmom

Module files

Nspec: number of ODEs solved Time_isat: starting time used in isat calculation

mchem_mod.f mchem_init.f

ODE solver

react.f

mchem_odepack_init.f

sets control parameters for ODEPACK in

Call_DI :flag to determine if calling ODEPACK Call_ISAT: flag to determine if calling to ISAT subroutines ISATdt: the time step used in ISAT calculation

Input Data File

mfix.dat

MFIX Code

Turn off the source terms in continuity, species, and energy equations of gas and solids phases

Call_DI = .TRUE.

Interface between MFIX and ODE solver

MFIX to ODE solver: mass fractions, temperatures, gas density, volumetric fractions ODE Solver to MFIX: mass fractions, volumetric fractions, temperatures, gas pressure, mass transfer between phases and mass generation

mchem_time_march.f

ODEPACK Provide the direct integration (DI) value

ODE Systems

provide the reaction rates and source terms of ODEs

provide the jacobian matrix

fex.f

jac.f(calc_jacobian.f)

ADIFOR Generate the jacobian matrix

Figure 6: The flow chart of MFIX using ODEPACK (CALL_DI = .TRUE.).

19

Page 22: isat_dqmom

20

ODE solver react.f l param

misat_table_init.f

usrfg.f

mchem_odepack_init.f

sets contro eters for ISAT calculations, such as scaled variables, error tolerances in

ISAT

sets control parameters for ODEPACK in Mapping Matrix

Provide the mapping matrix for ISAT

exponential.f dgpadm.f

Module Files

Nspec: number of ODEs solved Time_isat: starting time used in isat calculation

mchem_mod.f mchem_init.f

Call_DI :flag to determine if calling ODEPACK Call_ISAT: flag to determine if calling to isat subroutines ISATdt: the time step used in isat calculation

Input Data File

mfix.dat

MFIX Code

Turn off the source terms in continuity, species, and energy equations of gas and solids phases

Interface between MFIX and ODE solver

MFIX to ODE solver: mass fractions, temperatures, gas density, volumetric fractions ODE Solver to MFIX: mass fractions, volumetric fractions, temperatures, gas pressure, mass transfer between phases and mass generation

mchem_time_march.f

ODEPACK Provide the direct integration (DI) value for ISAT

ODE Systems

provide the reaction rates and source terms

bian.f

provide the jacobian matrix

ADIFOR Generate the jacobian matrix

fex.f

jac.fcalc_jaco

Figure 7: The flow chart of MFIX using ISAT (CALL_ISAT = .TRUE.).

Call_ISAT = .TRUE.

Page 23: isat_dqmom

A.2 Input for DQMOM A.2.1 Keywords for input data file The following are the parameters set by the user to invoke DQMOM calculations.

Keyword Type Description

CALL_DQMOM [F]

L Variable to decide if the population balance equations are solved.

Nscalar [0]

I Number of solid phases to solve the population balance equations.

D_P0(m) DP Initial particle diameters, same as the old one D_P(m).

Aggregation_eff [0.0]

DP Success-factor for aggregation.

Breakage_eff [0.0]

DP Success-factor for breakage.

A.2.2 Algorithm for DQMOM The new files added to MFIX are as follows:

odeint.f ODE solver using adaptive stepsize control for Runge-Kutta. rkck.f rkqs.f

Called by odeint.f. Called by odeint.f.

gaussj.f Provides matrix inversion. source_population_eq.f Calculates the source term due to aggregation and breakage for

the population balance equations, the main subroutine for the DQMOM method. If you want to use your own aggregation and breakage kernel, you can change in this subroutine. The detail explanation can be seen in the theory guide for the DQMOM method.

usr_dqmom.f Interface between DQMOM and MFIX (update solid void fractions and particle diameter due to aggregation and breakage).

The algorithm for the interface between MFIX and the DQMOM model flow is shown in Fig. 8. A.2.3 Example using DQMOM

21

Page 24: isat_dqmom

22

The example case is a fluidized bed simulation with two solid phases; each has its own particle size. In the code, the population balance equation is turned on. If aggregation dominates, the average particle size will increase. If breakage dominates, the average particle size will decrease. The user can turn off DQMOM by set “Call_ DQMOM =.FALSE.”. The ODE solver for the scalar in the MFIX code solves the population balance equation, so “Nscalar” has to be set as the number of solid phases. The initial values for the scalar are set as the initial particle diameter. The aggregation and breakage kernel from kinetic theory is used. The success factor of aggregation and breakage can be changed by setting different values for “Aggregation_eff” and “Breakage_eff”. An example mfix.dat file is included.

Page 25: isat_dqmom

Source_population_eq.

gaussj.f

f Calculate the source term due to aggregation breakage Source term: CA-1S

23

Figure 8: Flow chart for using DQMOM with MFIX.

Input Data File

Nscalar = M D_p0(M)=?

IC_Scalar(IJK, M)=? BC_Scalar(IJK,M)=? Call_DQMOM = .T.

mfix.dat MFIX code Change D_P(M) to D_P(IJK,M) D_P(IJK,M)=D_p0(M)

DQMOM

Update scalar due to aggregation breakage Update solid void fraction due to aggregation breakage

Usr_dqmom.f ODE Solver

odeint.f source_population_eq.f rkck.f rkqs.f

Phyical_prop.f Update D_P by the new value from Scalar

Page 26: isat_dqmom

Example mfix.dat ! ! ! Run-control section RUN_NAME = 'Binary2' DESCRIPTION = 'DQMOM Test Case' RUN_TYPE = 'new' UNITS = 'cgs' TIME = 0.0 !start time TSTOP = 10 ! stop time DT = 1.0E-5 CLOSE_PACKED = .TRUE. .TRUE. ENERGY_EQ = .FALSE. !do not solve energy eq SPECIES_EQ = .F. .F. .F. !do not solve species eq MAX_NIT=1000 DEF_COR =.TRUE. CALL_DQMOM=.T. ! solve population equation DISCRETIZE =7*2 DISCRETIZE(9) =2 ! Geometry Section COORDINATES = 'cartesian' XLENGTH = 10.1 !radius IMAX = 15 !cells in i direction YLENGTH = 50.0 !height JMAX = 50 !cells in j direction NO_K = .TRUE. !2D, no k direction ! Gas-phase Section MU_g0 = 1.8E-4 !constant gas viscosity MW_avg = 29.0 ! Scalar section Nscalar = 2 ! use scalar solver to solve PBE. phase4scalar(1) = 1 phase4scalar(2) = 2 ! Solids-phase Section MMAX = 2 RO_s(1) = 2.53d0 !solids density RO_s(2) = 2.53d0 NMAX(1) = 0 NMAX(2) = 0 C_f = 0.1 D_p0(1) = 0.0164536d0 !small particle diameter D_P0(2) = 0.0408151d0 !large particle diameter e = 0.80d0 !restitution coefficient Phi = 30.0 !angle of internal friction EP_star = 0.376d0!void fraction at minimum fluidization

24

Page 27: isat_dqmom

Segregation_slope_coefficient=2.0e+5 aggregation_eff =0.001 breakage_eff =0.0001 ! Initial Conditions Section ! 1. bed IC_X_w(1) = 0.0 !lower half of the domain IC_X_e(1) = 10.1 ! 0 < x < 7, 0 < y < 50 IC_Y_s(1) = 0.0 IC_Y_n(1) = 15.9 !initial values in the region IC_EP_g(1) = 0.37 !void fraction IC_ROP_s(1,1) = 0.6903 IC_ROP_s(1,2) = 0.9036 IC_Scalar(1,1) = 0.0164536d0 IC_Scalar(1,2) = 0.0408151d0 IC_U_g(1) = 0.0 !radial gas velocity IC_V_g(1) = @(20.0/0.37) !axial gas velocity IC_U_s(1,1) = 0.0 !radial solids velocity IC_V_s(1,1) = 0.0 !axial solids velocity IC_U_s(1,2) = 0.0 !radial solids velocity IC_V_s(1,2) = 0.0 IC_P_g(1) =1010000 IC_T_g(1) =298 ! 2. Freeboard IC_X_w(2) = 0.0 !upper half of the domain IC_X_e(2) = 10.1 IC_Y_s(2) = 15.9 IC_Y_n(2) = 50 IC_EP_g(2) = 1.0d0 IC_Scalar(2,1) = 0.0164536d0 IC_Scalar(2,2) = 0.0408151d0 IC_U_g(2) = 0.0 IC_V_g(2) = 20.0 IC_U_s(2,1) = 0.0 IC_V_s(2,1) = 0.0 IC_U_s(2,2) = 0.0 IC_V_s(2,2) = 0.0 IC_P_g(2) =1010000 IC_T_g(2) = 298 ! Boundary Conditions Section ! 1. Distributor flow BC_X_w(1) = 0.0 !gas distributor plate BC_X_e(1) = 10.1 BC_Y_s(1) = 0.0 BC_Y_n(1) = 0.0 BC_TYPE(1) = 'MI' !specified mass inflow BC_EP_g(1) = 1.0 BC_U_g(1) = 0.0

25

Page 28: isat_dqmom

BC_V_g(1) = 20.0 BC_P_g(1) = 1010000 BC_T_g(1) = 298 BC_Scalar(1,1) = 0 BC_Scalar(1,2) = 0 ! 2. Exit BC_X_w(2) = 0.0 !top exit BC_X_e(2) = 10.1 BC_Y_s(2) = 50 BC_Y_n(2) = 50 BC_TYPE(2) = 'PO' !specified pressure outflow BC_P_g(2) = 1010000 BC_T_g(2) = 298 BC_Scalar(2,1) = 0 BC_scalar(2,2) = 0 ! ! Output Control ! OUT_DT = 10. !write text file BUB02.OUT every 10 s RES_DT = 0.01 !write binary restart file !BUB02.RES every 0.01 s NLOG = 25 !write logfile BUB02.LOG !every 25 time steps FULL_LOG = .TRUE. !display residuals on screen !SPX_DT values determine how often SPx files are written. Here !BUB02.SP1, which contains void fraction (EP_g), is written every !0.01s, BUB02.SP2, which contains gas and solids pressure (P_g, !P_star), is written every 0.1 s, and so forth. SPX_DT = 0.1 0.1 0.1 0.1 0.1 100. 100. 0.1 0.1 ! Sweep Direction LEQ_SWEEP(1) = 'ISIS' LEQ_SWEEP(2) = 'ISIS' LEQ_SWEEP(3) = 'ISIS' LEQ_SWEEP(4) = 'ISIS' LEQ_SWEEP(5) = 'ISIS' LEQ_SWEEP(6) = 'ISIS' LEQ_SWEEP(7) = 'ISIS' LEQ_SWEEP(8) = 'ISIS' LEQ_SWEEP(9) = 'ISIS' NODESI=1 NODESJ=1 NODESK=1

26