04 Finite Volume
04 Finite Volume
S. Roller, [email protected],
Institute of Software Methods for Product Virtualization (SP), DLR
Agenda
@⇢(~x, t)
+ r · (⇢~v ) = 0
<latexit sha1_base64="rIqKqDdB5/3K6TvRh3MndGQBJak=">AAADFnichVHLahRBFD1pH3n4GnXppnAQJihDtwhmIwRfCCJEcJJAOoTqmppJMT3dTXXNYBz6P/wNf8CduHUnutL/cOGpsqNokFRTfW+de+6pe+tmVW5qF8dflqIzZ8+dX15ZXbtw8dLlK52r17brcmaVHqgyL+1uJmudm0IPnHG53q2sltMs1zvZ5JGP78y1rU1ZvHJHld6fynFhRkZJR+ig8zwdWakWaSWtMzIXqT0se+lcq8Xr5o5bb/5EXCNui7SQWS5TNSyd6HluoM6bdfFAxAedbtyPwxInnaR1umjXVtn5ihRDlFCYYQqNAo5+Doma3x4SxKiI7WNBzNIzIa7RYI25M7I0GZLohP8xT3stWvDsNeuQrXhLzm2ZKXCL+2lQzMj2t2r6Ne0P7jcBG//3hkVQ9hUe0WZUXA2KL4g7HJJxWua0ZR7Xcnqm78phhI3QjWF9VUB8n+q3zmNGLLFJiAg8CcwxNbJwnvMFCtoBK/CvfKwgQsdDWhmsDipFqyipZ2n967Mejjn5d6gnne27/STuJy/vdTcftgNfwQ3cRI9TvY9NPMMW61B4h8/4hu/R2+h99CH6+IsaLbU51/HXij79BF5lrQo=</latexit>
@t
@ m(~
~ x, t)
+ r · (m~ ~v + pI) = 0
<latexit sha1_base64="oQO8+ji2GV7U1LvvppEyUgrjk+E=">AAADPnichVFNaxRBEK0do+4mfqx69NJkCWxQlhkRzCUQjIo5CAm4SSATQk9v79pszwc9vYtxmP+WvxF/gDfJNQchvu5MDBokPfRU9atXr6q7kkKr0obhaSu4s3D33v12Z3HpwcNHj7tPnu6W+cwIORS5zs1+wkupVSaHVlkt9wsjeZpouZdMN118by5NqfLssz0u5GHKJ5kaK8EtoKNuGY8NF1VccGMV1yyeS1Gldd/br/VLZlfr66it2QsWZzzRPBaj3LJ+w4+FMsL7c0cpWJyjqmuquva26nqVrbPwqNsLB6Ff7KYTNU6PmrWdd79TTCPKSdCMUpKUkYWviVOJ74AiCqkAdkgVMANP+bikmhaROwNLgsGBTvGf4HTQoBnOTrP02QJVNLZBJqMV7A9eMQHbVZXwS9hf2N88Nvlvhcoruw6PYRModrziJ+CWvoBxW2baMK96uT3T3crSmNb8bRT6Kzzi7in+6LxDxACb+gij9545gUbiz3O8QAY7RAfula8UmL/xCJZ7K71K1ihy6BlY9/roB2OO/h3qTWf31SAKB9HO697G22bgbXpOy9THVN/QBn2kbfQh6JQuWu1WJzgJfgQ/g7NLatBqcp7RXys4/w3nX7wh</latexit>
@t
@e(~x, t)
+ r(e + p)~v = 0
@t
<latexit sha1_base64="5+0Kqp636VyWrt6Z1WTVQJXcXjE=">AAADDHichVHLahRBFD1pX0l8jWbppnAQJkSGHhHUhRDig2wCERwTSIdQXakZi6npbqprBuPQ3+Bv5AdciVuXbk3yLVl4uuwoGiTVVN9b55576t66aWFN6eP4eC66dPnK1WvzC4vXb9y8dbt15+67Mp84pfsqt7nbTmWprcl03xtv9XbhtBynVm+loxd1fGuqXWny7K0/KPTuWA4zMzBKekJ7rbVk4KSaJYV03kgrdCeZajX7UD30y9Uf2FdiRSSZTK0UHb1SLAfWtBLPRbzXasfdOCxx3uk1ThvN2sxbJ0iwjxwKE4yhkcHTt5Ao+e2ghxgFsV3MiDl6JsQ1Kiwyd0KWJkMSHfE/5GmnQTOea80yZCveYrkdMwUecL8OiinZ9a2afkl7yv0xYMP/3jALynWFB7QpFReC4gZxj/dkXJQ5bphntVycWXflMcDT0I1hfUVA6j7Vb52XjDhioxAReBWYQ2qk4TzlC2S0fVZQv/KZgggd79PKYHVQyRpFST1HW78+6+GYe/8O9bzTf9R91u29edxeXWvmPY97uI8Oh/oEq1jHJstQOMR3/MBR9Cn6HH2Jvv6iRnNNzhL+WtG3n/cGqJk=</latexit>
State Flux
2 3 2 3
⇢~v
<latexit sha1_base64="LPIW2pzSFEyfwJFF4P9q9htT4RI=">AAADTnichVHbahRBEK2ZeNmMl6z6ovjSuAgbhGU2eHsRgjf0QYjgJoF0CD29vZNm50ZP72Ic5skf9FX/wB/wSdHT7SSiQdJDT1WfOnWquiupMl3bOP4chCvnzl+42FuNLl2+cnWtf+36dl0ujFQTWWal2U1ErTJdqInVNlO7lVEiTzK1k8yfufjOUplal8U7e1Sp/VykhZ5pKSygg/5HvlSymbVDbxftOnvCeKJSXTRJLqzR79uIcXNY+viy5TzyXt5yqY3sUHaPVYyXKOT6aP54r9uWIWWoHGOddfSIq2J6os8O+oN4FPvFTjvjzhlQt7bK/hfiNKWSJC0oJ0UFWfgZCarx7dGYYqqA7VMDzMDTPq6opQi5C7AUGALoHP8Up70OLXB2mrXPlqiSYRtkMrqL/dIrJmC7qgp+Dfsd+4PH0v9WaLyy6/AINoHiqld8A9zSIRhnZeYd87iXszPdrSzN6LG/jUZ/lUfcPeWJznNEDLC5jzB64ZkpNBJ/XuIFCtgJOnCvfKzA/I2nsMJb5VWKTlFAz8C610c/GPP436GedrY3RuOHowdv7w82n3YD79FtukNDTPURbdIr2kIfkr4Ga8HN4Fb4KfwW/gh//qaGQZdzg/5aK71f3erAmQ==</latexit>
⇢(x, t)
~u(x, t) = 4m(x, t)5 f~(~u) = 4m
~ ~v + pI 5
e(x, t)
<latexit sha1_base64="F16TeNiI9lJEoBpVJDLtfVd3ahQ=">AAADE3ichVFNaxRBEK2MX8n4teoxl8FFiCDLrAjqQQh+hHgIRHBNIBNC92xl0uxMz9DTuyQu+zf8G/4BT+LVo4d4SP5IDr6pTAIaJD301OtXVa+runSVm9rH8eFccOXqtes35hfCm7du37nbuXf/U12OXcqDtMxLt6lVzbmxPPDG57xZOVaFznlDj940/o0Ju9qU9qM/qHi7UJk1uyZVHtRO530y4XQ6ni3tP/GPo1dRojkzdqoL5Z3Zn4WJ2ytPfUkSFoIAWECYsB2eh+50unEvlhVdBP0WdKld62XnNyU0pJJSGlNBTJY8cE6Kanxb1KeYKnDbNAXngIz4mWYUIneMKEaEAjvCP8Npq2Utzo1mLdkpbsmxHTIjeoS9Iooa0c2tDFzDnmB/Fi777w1TUW4qPIDVUFwQxTXwnvYQcVlm0Uae1XJ5ZtOVp116Id0Y1FcJ0/SZnuu8hceBG4knoncSmUFDy3mCF7CwA1TQvPKZQiQdD2GVWBYV2yoq6DnY5vVRD8bc/3eoF8Hgae9lr//hWXf5dTvveVqkh7SEoT6nZVqldZSR0lf6RUd0HHwJvgXfgx+nocFcm/OA/lrBzz93HKqP</latexit>
(e + p)~v
~ut + r · f~ = 0
<latexit sha1_base64="p0kFveUOIxADLvjG9S0rfRFQ2BU=">AAAC8HichVHRShtBFD1uWzVpa9P66MtgEAQhbEqrvhTEaulLIUJjAkkIs5NJumSzu8xOAhryBf2BvhVfffO1fkn7LX3o2elaUCnOMnvvnHvumXvnBmkUZtb3fy55jx4/WV5ZLZWfPnu+9qLy8tVplkyN0k2VRIlpBzLTURjrpg1tpNup0XISRLoVjN/n8dZMmyxM4s/2LNW9iRzF4TBU0hLqV7a6M63m00Xfih3RjWUQya4aJFY4fLgQ74RfLvcrVb/muyXuO/XCqaJYjaTyC10MkEBhigk0Ylj6ESQyfh3U4SMl1sOcmKEXurjGAmXmTsnSZEiiY/5HPHUKNOY518xctuItEbdhpsAW9wenGJCd36rpZ7S/uc8dNvrvDXOnnFd4RhtQseQUPxG3+ELGQ5mTgnlTy8OZeVcWQ+y7bkLWlzok71P90zlixBAbu4jAsWOOqBG484wvENM2WUH+yjcKwnU8oJXOaqcSF4qSeoY2f33WwzHX7w71vnP6ulbfrb09eVM9OCwGvooNbGKbU93DAT6iwToUvuIKP3DtGe+b9927+Ev1loqcddxa3uUfyfycsg==</latexit>
d
X
@~u(~x, t) @ f~i (~u)
+ =0
@t i=1
@xi
<latexit sha1_base64="BEByeRArX6YE2x0yFAvEyOoFYwU=">AAADPHichVFNaxRBEK0do9kkalZz9NJkCawoy0wQ1EMg+BG8CBGySSATh57e3k2z80VPz5I4zG/L31DvOYVcPYn4pp18GSU99FT1q3qvq7rCLFK5cd1vLefOzN17s+25+YX7Dx4udh493s7TQgs5EGmU6t2Q5zJSiRwYZSK5m2nJ4zCSO+HkbR3fmUqdqzTZMkeZ3I/5OFEjJbgBFHS0P9JclH7GtVE8Yv5UirKoetYeVs/N0+oyaCr2jPl5EQelWvOqz0P2L/aoClSv0bnKPgxUxdaYG3S6bt+1i910vMbpUrM208538mlIKQkqKCZJCRn4EXHK8e2RRy5lwPapBKbhKRuXVNE8uAWyJDI40An+Y5z2GjTBudbMLVvglghbg8loBXvDKobIrm+V8HPYn9hfLDb+7w2lVa4rPIINoThnFT8CN3SAjNuYcZN5XsvtzLorQyN6ZbtRqC+zSN2nuNB5h4gGNrERRu9t5hgaoT1P8QIJ7AAV1K98rsBsx0NYbq20KkmjyKGnYevXRz0Ys/f3UG86g9X+67736UV3/U0z7zY9oWXqYagvaZ0+0CbKEPSVfrVmW23n2DlxTp2zP6lOq+Es0bXl/PgNb0e8HQ==</latexit>
<latexit sha1_base64="bVaCW7wfRI3putCVbO82ylxUikk=">AAADSHichVFLT9wwEJ6EPtjQxxaOvURdIXFaJaivSyXUB+qlEpW6gETQys6aYG3iRI53VbraP9h/ANf+AW5VJQ58mQZQCwhb9oy/me/zjC2rXNcuio49f+He/QcPFzvB0qPHT552ny1v1+XEpmqQlnlpd6WoVa6NGjjtcrVbWSUKmasdOf7QxHemyta6NN/cUaX2C5EZfaBT4QANu/NkqtLZZB6+CxOpMm1mshDO6u/zILGHZZgkQTGMeV/HroJEmdFVzu0stlOmtu4N/GG3F/UjHuF1J26dHrVjq+yeUEIjKimlCRWkyJCDn5OgGnOPYoqoArZPM2AWnua4ojkF4E6QpZAhgI6xZzjttajBudGsmZ3ilhzLghnSKtYmK0pkN7cq+DXsGdYPxrJbb5ixclPhEayEYocVvwB3dIiMu5hFm3lRy93MpitHB/SWu9Gor2Kk6TO91PmIiAU25khInzgzg4bk8xQvYGAHqKB55QuFkDsewQq2ilVMqyigZ2Gb10c9+Ob4/0+97myv9+PX/VdfX/Y23rcfvkjP6QWt4Vff0AZ9pi3UkdIvr+Mteyv+T//U/+3/+Zvqey1nhf4ZC/45QB+70Q==</latexit>
2 3 2 3
⇢ ⇢
6m1 7 6⇢v1 7
~u = 6 7=6 7
4m2 5 4⇢v2 5
e e
2 3 2 3
<latexit sha1_base64="6jW4A773QmaDF1rxSOna0dWAcw8=">AAADNHichVFLaxRBEK6MjyTja6NHL42LsEFYZpYYvQSCL7wIEdwkkIlL92zvpNmZnqGndzEu+7f8G56V3IJXb95E/bqdDWqQ9FBT1V9VfV0PUeWqtlH0aSm4dPnK1eWV1fDa9Rs3b7XWbu/W5cSksp+WeWn2Ba9lrrTsW2VzuV8ZyQuRyz0xfur8e1NpalXqN/a4kocFz7QaqZRbQIOWGg3iTjKV6WwyX2dbLBEyU3omCm6NejcPWWKOSjYdxEkSLsy3PfaAVYz9AUF6HuhI51t3WJhIPTxjYoNWO+pG/rDzRtwYbWrOTtn6TAkNqaSUJlSQJE0Wdk6canwHFFNEFbBDmgEzsJT3S5pTiNwJoiQiONAx/hluBw2qcXectc9O8UoOMchkdB/ywjMKRLtXJewa+jvkvcey/74w88yuwmNoAcZVz/gKuKUjRFyUWTSRi1ouznRdWRrRY9+NQn2VR1yf6RnPM3gMsLH3MHruIzNwCH+fYgIauo8K3JQXDMx3PITmXkvPohtGDj4D7aaPerDm+N+lnjd2e914s/vw9UZ7+0mz8BW6S/eog60+om16STuoI6WP9I1+0M/gQ3ASnAZffocGS03OHfrrBF9/ARhktD0=</latexit> <latexit sha1_base64="MGUnf4BBoWLYAdaVmi03EMUQn50=">AAADNHichVFNb9QwEJ2GrzZ8LeXIxWKFtBXSKonKxwWpagFxQSoS21ZqysrOelNrEydyvKuW1f4t/gZnEDfElRs3BDybtAgqVEfOjN+8eZ7xiLpQjY2iD0vBhYuXLl9ZXgmvXrt+42bn1upOU01NJgdZVVRmT/BGFkrLgVW2kHu1kbwUhdwVky0X351J06hKv7bHtTwoea7VWGXcAhp21HiY9NKZzObTxRp7wlIhc6XnouTWqKNFyFJzWLHZMEnTsHVjd2TsD5C8Sdh9VnuoJ5275mhhKvXoVIkNO92oH/nFzjpx63SpXdtV5yOlNKKKMppSSZI0WfgFcWrw7VNMEdXADmgOzMBTPi5pQSFyp2BJMDjQCf45TvstqnF2mo3PznBLgW2Qyege9nOvKMB2t0r4Dex37Lcey/97w9wruwqPYQUUV7ziS+CWDsE4L7NsmSe1nJ/purI0pse+G4X6ao+4PrNTnaeIGGATH2H0zDNzaAh/nuEFNOwAFbhXPlFgvuMRLPdWehXdKnLoGVj3+qgHY47/HepZZyfpxw/7D16tdzc224Ev0x26Sz1M9RFt0AvaRh0Zvadv9IN+Bu+CT8Hn4MtvarDU5tymv1bw9RclxrRA</latexit>
⇢v1 ⇢v2
6 ⇢v12 + p 7 6 ⇢v1 v2 7
f1 (~u) = 6
4 ⇢v1 v2 5
7 f2 (~u) = 6 2
4 ⇢v2 + p 5
7
(e + p)v1 (e + p)v1
6 HPCFD01 - CFD - An Overview
Time Discretization
~ut + r · f~ = 0
<latexit sha1_base64="p0kFveUOIxADLvjG9S0rfRFQ2BU=">AAAC8HichVHRShtBFD1uWzVpa9P66MtgEAQhbEqrvhTEaulLIUJjAkkIs5NJumSzu8xOAhryBf2BvhVfffO1fkn7LX3o2elaUCnOMnvvnHvumXvnBmkUZtb3fy55jx4/WV5ZLZWfPnu+9qLy8tVplkyN0k2VRIlpBzLTURjrpg1tpNup0XISRLoVjN/n8dZMmyxM4s/2LNW9iRzF4TBU0hLqV7a6M63m00Xfih3RjWUQya4aJFY4fLgQ74RfLvcrVb/muyXuO/XCqaJYjaTyC10MkEBhigk0Ylj6ESQyfh3U4SMl1sOcmKEXurjGAmXmTsnSZEiiY/5HPHUKNOY518xctuItEbdhpsAW9wenGJCd36rpZ7S/uc8dNvrvDXOnnFd4RhtQseQUPxG3+ELGQ5mTgnlTy8OZeVcWQ+y7bkLWlzok71P90zlixBAbu4jAsWOOqBG484wvENM2WUH+yjcKwnU8oJXOaqcSF4qSeoY2f33WwzHX7w71vnP6ulbfrb09eVM9OCwGvooNbGKbU93DAT6iwToUvuIKP3DtGe+b9927+Ev1loqcddxa3uUfyfycsg==</latexit>
r · f~
<latexit sha1_base64="iRUcP1x8e9fvrjtTbfSjXbbitF8=">AAAC7XichVHBTttAEH24lCZpC2k59rIiqsSFyK5K20slBBRxQQoSASSCovVm41pxbMveRIIod36AG+LKrVf6K/RbeuB5MZUKQqy1ntk3b97O7PhpFObGdW9mnBezL+deVaq112/ezi/U373fz5NRpnRbJVGSHfoy11EY67YJTaQP00zLoR/pA3+wUcQPxjrLwyTeMyepPh7KIA77oZKGULe+1BlrNRlNu0Z8FyuiE0s/kh3VS4ywkf5UdOsNt+naJR47Xuk0UK5WUv+DDnpIoDDCEBoxDP0IEjm/I3hwkRI7xoRYRi+0cY0paswdkaXJkEQH/Ac8HZVozHOhmdtsxVsi7oyZAh+5t6yiT3Zxq6af0/7lPrVY8OQNE6tcVHhC61OxahV3iBv8JOO5zGHJvK/l+cyiK4M+vtluQtaXWqToU/3T2WQkIzawEYEflhlQw7fnMV8gpm2zguKV7xWE7bhHK63VViUuFSX1Mtri9VkPx+w9HOpjZ/9T0/vSXN393FhbLwdewQcsYZlT/Yo1bKPFOhTO8AvX+O0kzrlz4VzeUZ2ZMmcR/y3n6haMcJxS</latexit>
~ut =
<latexit sha1_base64="kIBPr2Xt/G7IDeFuPWTWwbWi+oY=">AAADBnichVFNSxxBEH2OxqhJzKrHXAYXwUBYZiUaQQTxI3gR/Miq4MoyM/aOzc7ODD29i7rs3b/hH8hNcs0tVz2a35KDb9o2JJFgDz1V9arqdX0EWSxz7Xl3A87g0IvhlyOjY69evxl/W5qY3M/TjgpFLUzjVB0Gfi5imYialjoWh5kSfjuIxUHQWiv8B12hcpkmX/R5Jo7bfpTIpgx9TahRWqp3Rdjr9BvaXXZ3N/fqsWjqWQv+YZz1P+i6ktGpfm+F6zZKZa/imeM+VapWKcOe7bT0E3WcIEWIDtoQSKCpx/CR8ztCFR4yYsfoEVPUpPEL9DHG3A6jBCN8oi3+I1pHFk1oF5y5yQ75SsyrmOlihvezYQwYXbwqqOeUv3gvDBb994WeYS4qPKcMyDhqGLeIa5wy4rnMto18rOX5zKIrjSYWTTeS9WUGKfoMf/Os06OItYzHxYaJjMgRGLvLCSSUNVZQTPmRwTUdn1D6RgrDklhGn3yKspg+6+Gaq/8u9amyP1epLlTmdz6WV1btwkfwDtOY5VY/YQWb2GYdIa7wAze4dS6dr8618+0h1BmwOVP46zjf7wES/Kbp</latexit>
§ The Euler method is a first order approximation and uses the value of f as
slope for a specific step width Δt.
§ That is, starting from the initial condition the next point on the approximated
integral curve is found by:
u(t) = u0 + RHS(t0 , u0 ) · (t
<latexit sha1_base64="TztAU/ca/ERDzXZTpZN+SDw8P6M=">AAAC83ichVHLTttAFD2Y8kp5BFiyGTWq5AiInKrQbpAQUMSmEo8mQQIU2c4kWHFsyx4jAeIX+AF2iC07tuU/2m9hwfHUIEFUZazxvffce8/chxP5XqIs68+QMfxhZHRsfKLwcXJqeqY4O1dPwjR2Zc0N/TA+dOxE+l4ga8pTvjyMYmn3HF82nO5m5m+cyTjxwuCXOo/kSc/uBF7bc21FqFk0U1OVxZpIm5ZYFPs7B6ZqWku0yuLYbYVKmGqZSLnQLJasiqWP6FequVJCfnbD4l8co4UQLlL0IBFAUfdhI+F3hCosRMROcEkspuZpv8QVCsxNGSUZYRPt8t+hdZSjAe2MM9HZLl/xeWNmCnzm3daMDqOzVyX1hPKJ90Jjnf++cKmZswrPKR0yTmjGn8QVThkxKLOXR77UMjgz60qhje+6G4/1RRrJ+nRfebboiYl1tUfgh47skMPR9hknEFDWWEE25RcGoTtuUdpaSs0S5Iw2+WLKbPqsh2uuvl9qv1L/UqmuVlb2vpbWN/KFj2MBn2Byq9+wjh3ssg4X13jAbzwaqXFj3Bp3/0KNoTxnHm+Ocf8MLcObLg==</latexit>
t0 )
§ Conditionally stable
8 HPCFD01 - CFD - An Overview
Backward Euler
t0 )
§ However, this results in the need to solve an equation for u(t), as it appears
on both sides.
Z Z
d
<latexit sha1_base64="z4AEIEPsIHimYiHPNoqUV5CJmls=">AAADI3ichVHLbtQwFL0NBdrwGmDJxmIEYsMoU/HaIFXlITaIIpjpSHU1chxPsCYvOZ6R2iifw2/wA+wQG5DYsYUvYNFjk0GCCtWRc6/PPff4Xt+4ynRto+jLWnBm/ey58xub4YWLly5f6V29Nq7LhZFqJMusNJNY1CrThRpZbTM1qYwSeZypvXj+xMX3lsrUuize2sNKHeQiLfRMS2EBTXsTPjNCNknbJLZlXBd22vBXuUpFyxaMs2TMbj9md1eRShirRcZWlBnjMikt40slm6J1CW8Y52EYTnv9aBD5xU46w87pU7d2y95X4pRQSZIWlJOigiz8jATV+PZpSBFVwA6oAWbgaR9X1FKI3AVYCgwBdI5/itN+hxY4O83aZ0vckmEbZDK6hf3cK8Zgu1sV/Br2F/aRx9L/3tB4ZVfhIWwMxU2v+BK4pXdgnJaZd8xVLadnuq4szeiR70ajvsojrk/5R+cpIgbY3EcYPfPMFBqxPy/xAgXsCBW4V14pMN9xAiu8VV6l6BQF9Ayse33UgzEP/x3qSWe8NRg+GNx/fa+/vdMNfINu0E26g6k+pG16QbuoQ9IH+k4/6GfwPvgYfAo+/6YGa13OdfprBd+OATcdsFU=</latexit>
§ Conservation law: u dV = f · ~n dS
dt ⌦ @⌦
Z
<latexit sha1_base64="o0aKEP4qvd9SoI54A+1tvXpr/tQ=">AAADV3ichVFtb9MwEL60MLrysg6+IPHFrAIhIaoE8fYFaeJNfEEMQbtJy1Y5jhusJk6UuJVGlH/AHxw/g89I8NhNkWCg2bLv7rm7x3e+qEhVZXz/1Ot0L1zcuNTb7F++cvXa1mD7+qTKF6WQY5GneXkQ8UqmSsuxUSaVB0UpeRalcj+av7T+/aUsK5XrT+akkEcZT7SaKcENoOnga6i0mdbmWDfHuGt9P2gaFs5KLuq4qWMDw0WE7zOZ8IYtWMjiib0Mu/ucPWD/JljlFLw0iqdsnTxjoYhzw8KlFLVuLMvHFVUY9vv96WDoj3y32FklaJUhtWsvH3yjkGLKSdCCMpKkyUBPiVOFfUgB+VQAO6IaWAlNOb+khvrIXSBKIoIDneNOYB22qIZtOSuXLfBKilMik9EdnDeOMUK0fVVCryB/4HxxWPLfF2rHbCs8gYzAuOkY3wE39BkR52VmbeS6lvMzbVeGZvTMdaNQX+EQ26f4zfMKnhLY3HkYvXaRCTgiZy/xAxpyjArsL68ZmOs4huROSseiW0YOvhLS/j7qwZiDv4d6Vpk8HAVPRo8/PBruvmgH3qNbtEP3MNWntEtvaQ91CPru3fRuezud087P7ka3twrteG3ODfpjdbd/AbqEv9s=</latexit>
tn+1 Z Z tn+1 Z
d
u dV dt = f · ~n dS dt
§ Integrate in time: tn dt ⌦ tn @⌦
Z
<latexit sha1_base64="HNUBUpcsuUz8AnqyVtSTXrDisVg=">AAADT3ichVFdi9QwFL2d8WOnfnX1SX0JDoogDq246ouw+IUv4orO7MJ0dkjbTDdMm5Y2M7CWvvkHfdSf4B/wRcTTkBHcRTYhuTfnnntybxKVmay1739zev1z5y9c3Bq4ly5fuXrN274+qYtVFYtxXGRFdRDxWmRSibGWOhMHZSV4HmViP1q+7OL7a1HVslCf9HEpZjlPlVzImGtAc+9LmImFZlMWSqXnTfg+Fylv2YolExZWMj3SbDZv9KFqD7E36kHQtuzec/bQJpyIWJWSV1ryjG3kFiyMk0KzcC3iRoHGko/dBiR0XXfuDf2RbwY77QTWGZIde4X3nUJKqKCYVpSTIEUafkacaswpBeRTCWxGDbAKnjRxQS25yF2BJcDgQJfYU5ymFlU4d5q1yY5xS4ZVIZPRXaw3RjECu7tVwK9hf2F9Nlj63xsao9xVeAwbQXFgFN8B13QExlmZuWVuajk7s+tK04KemW4k6isN0vUZ/9V5hUgFbGkijF4bZgqNyJzXeAEFO0YF3StvFJjpOIHlxgqjoqwih14F270+6sE3Byc/9bQzeTQKnox2Pjwe7r6wH75Ft+kO3cevPqVdekt7qCOmH47n3HRu9b72fvZ+9y2151jnBv0z+oM/9sa9SA==</latexit>
tn+1 Z tn+1 Z
§ Time derivative integrated over time: udV = f · ~n dS dt
⌦ tn tn @⌦
Z
<latexit sha1_base64="7OKyMmK9CXbu7TNMnzcu7v05Mf8=">AAADTnichVFdb9MwFL3J+OjKxzp4AfFiUYGQEFWCGPCCNPElXhBD0G7SslaO6wariRM5bqUR5Yk/yCv8A/4ATyA48dJJbEK7ln2vz73n+NqOi1SVNgi+ef7aufMXLnbWu5cuX7m60du8NirzhRFyKPI0N3sxL2WqtBxaZVO5VxjJsziVu/H8RZPfXUpTqlx/tIeFPMh4otVMCW4BTXpfIqXtpIreZTLhNVuMK30/rFnEpiP2gJ1M6qPE3WfHOTvW9Riro9UrQsGNVTxlK+aMRWKaWxYtpai0k//QLJZ1YZNePxgEztjpIGyDPrW2k/e+U0RTyknQgjKSpMkiTolTibFPIQVUADugCphBpFxeUk1dcBeokqjgQOdYE+z2W1Rj32iWji1wSoppwGR0B/O1U4xR3ZwqEZfwvzA/Oyz57wmVU246PISPobjuFN8Ct/QJFWcxs7Zy1cvZzOZWlmb01N1Gob/CIc09xbHOS2QMsLnLMHrlKhNoxG6/xAto+CE6aF55pcDcjafw3HnpVHSryKFn4JvXRz/45vDkp54ORg8H4ePB1vtH/e3n7Yd36Bbdpnv41Se0TW9oB30I+uFteDe8m/5X/6f/2/9zVOp7Lec6/WNrnb/NibxY</latexit>
Z Z tn+1 Z
un+1 dV un dV = f · ~n dS dt
§ Evaluate at tn and tn+1 ⌦ ⌦ tn @⌦
14 HPCFD01 - CFD - An Overview
Reformulated equation
Z Z
d
<latexit sha1_base64="z4AEIEPsIHimYiHPNoqUV5CJmls=">AAADI3ichVHLbtQwFL0NBdrwGmDJxmIEYsMoU/HaIFXlITaIIpjpSHU1chxPsCYvOZ6R2iifw2/wA+wQG5DYsYUvYNFjk0GCCtWRc6/PPff4Xt+4ynRto+jLWnBm/ey58xub4YWLly5f6V29Nq7LhZFqJMusNJNY1CrThRpZbTM1qYwSeZypvXj+xMX3lsrUuize2sNKHeQiLfRMS2EBTXsTPjNCNknbJLZlXBd22vBXuUpFyxaMs2TMbj9md1eRShirRcZWlBnjMikt40slm6J1CW8Y52EYTnv9aBD5xU46w87pU7d2y95X4pRQSZIWlJOigiz8jATV+PZpSBFVwA6oAWbgaR9X1FKI3AVYCgwBdI5/itN+hxY4O83aZ0vckmEbZDK6hf3cK8Zgu1sV/Br2F/aRx9L/3tB4ZVfhIWwMxU2v+BK4pXdgnJaZd8xVLadnuq4szeiR70ajvsojrk/5R+cpIgbY3EcYPfPMFBqxPy/xAgXsCBW4V14pMN9xAiu8VV6l6BQF9Ayse33UgzEP/x3qSWe8NRg+GNx/fa+/vdMNfINu0E26g6k+pG16QbuoQ9IH+k4/6GfwPvgYfAo+/6YGa13OdfprBd+OATcdsFU=</latexit>
§ Conservation law: u dV = f · ~n dS
dt ⌦ @⌦
Z
<latexit sha1_base64="7OKyMmK9CXbu7TNMnzcu7v05Mf8=">AAADTnichVFdb9MwFL3J+OjKxzp4AfFiUYGQEFWCGPCCNPElXhBD0G7SslaO6wariRM5bqUR5Yk/yCv8A/4ATyA48dJJbEK7ln2vz73n+NqOi1SVNgi+ef7aufMXLnbWu5cuX7m60du8NirzhRFyKPI0N3sxL2WqtBxaZVO5VxjJsziVu/H8RZPfXUpTqlx/tIeFPMh4otVMCW4BTXpfIqXtpIreZTLhNVuMK30/rFnEpiP2gJ1M6qPE3WfHOTvW9Riro9UrQsGNVTxlK+aMRWKaWxYtpai0k//QLJZ1YZNePxgEztjpIGyDPrW2k/e+U0RTyknQgjKSpMkiTolTibFPIQVUADugCphBpFxeUk1dcBeokqjgQOdYE+z2W1Rj32iWji1wSoppwGR0B/O1U4xR3ZwqEZfwvzA/Oyz57wmVU246PISPobjuFN8Ct/QJFWcxs7Zy1cvZzOZWlmb01N1Gob/CIc09xbHOS2QMsLnLMHrlKhNoxG6/xAto+CE6aF55pcDcjafw3HnpVHSryKFn4JvXRz/45vDkp54ORg8H4ePB1vtH/e3n7Yd36Bbdpnv41Se0TW9oB30I+uFteDe8m/5X/6f/2/9zVOp7Lec6/WNrnb/NibxY</latexit>
Z Z tn+1 Z
§ Reformulated: un+1 dV un dV = f · ~n dS dt
⌦ ⌦ tn @⌦
Z Z
1
<latexit sha1_base64="zGSPuMMryI90ngWS4Wg60FYjYbE=">AAADBHichVHLbtRAEKyYV7K8FjhysVghBYFWNuJ5QIp4iQsiSOwmUjasxt5ZM1p7bI3HEcHxld/gB7ghrty4whm+hQPliYMEEUpb4+6prq7pmY6KVJU2CH4seceOnzh5anmld/rM2XPn+xcujsu8MrEcxXmam81IlDJVWo6ssqncLIwUWZTKjWjxqM1v7EhTqly/sruF3M5EotVcxcISmvbvV1P1utbXw+bBZG5EXIdNvTfea/yJ0nZaT15kMhGNX62+vWH3edf82bhHm/YHwTBw5h8Owi4YoLP1vP8TE8yQI0aFDBIalnEKgZLfFkIEKIhtoyZmGCmXl2jQY21FliRDEF3wn3C31aGa+1azdNUxT0m5DCt9XOV66hQjsttTJeOS/hfXO4cl/z2hdspth7v0ERVXnOJz4hZvyDiqMuuYB70cXdneymKOe+42iv0VDmnvGf/RecyMIbZwGR9PHDOhRuT2O3wBTT9iB+0rHyj47sYzeuG8dCq6UxTUM/Tt67Mfjjn8d6iHg/HNYXhnePvlrcHaw27gy7iMK1jlVO9iDc+wzj5ifMBXfMN377330fvkfd6nektdzSX8Zd6X3wHypIA=</latexit>
1
<latexit sha1_base64="Rt0oDZ1EurNkAYFxjcB7g3cn3u8=">AAAC+XichVFNb9QwEH1NgbbL11KOXCJWSEVCq6SCwgWpKh/igigSu63UbVdO1husTZzIcaqWdP8Ff4Ab4sqNK/wJ+C0ceDEpElSojpwZv3nzPOOJilSVNgi+L3iLFy5eWlpe6Vy+cvXa9e6N1WGZVyaWgzhPc7MbiVKmSsuBVTaVu4WRIotSuRPNnjTxnUNpSpXrN/a4kPuZSLSaqlhYQuNuvxqrA/14NDUirsN5fTI8mfsjpe24Hr3KZCLmfrV2dM8e6Lv+ZNgZd3tBP3DLP+uErdNDu7bz7g+MMEGOGBUySGhY+ikESn57CBGgILaPmpihp1xcYo4OcyuyJBmC6Iz/hKe9FtU8N5qly455S8ptmOnjDvdzpxiR3dwq6Ze0P7nfOSz57w21U24qPKaNqLjiFF8St3hLxnmZWcs8reX8zKYriykeuW4U6ysc0vQZ/9F5yoghNnMRH88cM6FG5M6HfAFNO2AFzSufKviu4wmtcFY6Fd0qCuoZ2ub1WQ/HHP471LPOcL0fbvQfvL7f29xqB76MW7iNNU71ITbxAtusI8Z7fMFXfPNq74P30fv0m+ottDk38dfyPv8C7auhTA==</latexit>
§ uni
<latexit sha1_base64="q0le1z2DyzYYL5PKCwGzvK1yrLs=">AAAB7XicbVBNSwMxEJ34WetX1aOXYBE8lV0R9Fj04rGC/YB2Ldk028ZmkyXJCmXpf/DiQRGv/h9v/huz7R609cHA470ZZuaFieDGet43WlldW9/YLG2Vt3d29/YrB4cto1JNWZMqoXQnJIYJLlnTcitYJ9GMxKFg7XB8k/vtJ6YNV/LeThIWxGQoecQpsU5qpX3+IMv9StWreTPgZeIXpAoFGv3KV2+gaBozaakgxnR9L7FBRrTlVLBpuZcalhA6JkPWdVSSmJkgm107xadOGeBIaVfS4pn6eyIjsTGTOHSdMbEjs+jl4n9eN7XRVZBxmaSWSTpfFKUCW4Xz1/GAa0atmDhCqObuVkxHRBNqXUB5CP7iy8ukdV7zvZp/d1GtXxdxlOAYTuAMfLiEOtxCA5pA4RGe4RXekEIv6B19zFtXUDFzBH+APn8AFBOOyQ==</latexit>
is called the integral mean
§ Up to now, we have not made any approximation, only reformulation!
15 HPCFD01 - CFD - An Overview
Reformulated equation
Z Z tn+1 Z
un+1 dV un dV = f · ~n dS dt
⌦ ⌦ tn @⌦
n n+1
<latexit sha1_base64="N+MdUw1kR7a+1Op+XeT8DfNScpU=">AAAC13ichVHJSgNBEK2MWxK3qEcvg0EQhDAjbsfghhchglkkJqFn0sYmszFLIIbgTbx686p/pd/iwTftRNAgqaGnql9Vva7F8CwRhJr2nlKmpmdm59KZ7PzC4tJybmW1EriRb/Ky6VquXzNYwC3h8HIoQovXPJ8z27B41egex/5qj/uBcJ2rsO/xhs06jrgVJgsBNaOWaA6cbX2oZiGtXF4raFLUcUNPjDwlUnJzH3RDbXLJpIhs4uRQCNsiRgG+OumkkQesQQNgPiwh/ZyGlEVuhCiOCAa0i38Ht3qCOrjHnIHMNvGKheMjU6VNnDPJaCA6fpXDDqA/ce4l1vn3hYFkjivsQxtgzEjGC+Ah3SFiUqadRI5qmZwZdxXSLR3KbgTq8yQS92n+8JzA4wPrSo9KpzKyAw5D3nuYgANdRgXxlEcMquy4Dc2k5pLFSRgZ+HzoePqoB2vW/y513KjsFPT9wt7lbr54lCw8Teu0QVvY6gEV6ZxKqMME8wu90ptyrTwoj8rTd6iSSnLW6Jcoz1+6OZLC</latexit>
§ We defined the integral mean ui and obtained a formula for <latexit sha1_base64="q0le1z2DyzYYL5PKCwGzvK1yrLs=">AAAB7XicbVBNSwMxEJ34WetX1aOXYBE8lV0R9Fj04rGC/YB2Ldk028ZmkyXJCmXpf/DiQRGv/h9v/huz7R609cHA470ZZuaFieDGet43WlldW9/YLG2Vt3d29/YrB4cto1JNWZMqoXQnJIYJLlnTcitYJ9GMxKFg7XB8k/vtJ6YNV/LeThIWxGQoecQpsU5qpX3+IMv9StWreTPgZeIXpAoFGv3KV2+gaBozaakgxnR9L7FBRrTlVLBpuZcalhA6JkPWdVSSmJkgm107xadOGeBIaVfS4pn6eyIjsTGTOHSdMbEjs+jl4n9eN7XRVZBxmaSWSTpfFKUCW4Xz1/GAa0atmDhCqObuVkxHRBNqXUB5CP7iy8ukdV7zvZp/d1GtXxdxlOAYTuAMfLiEOtxCA5pA4RGe4RXekEIv6B19zFtXUDFzBH+APn8AFBOOyQ==</latexit>
ui
§ The issue now is to obtain the right hand side, i.e. to find f on @⌦
<latexit sha1_base64="Bq2RRBTrS9qeq2o9SQjihq8zzP4=">AAAC4HichVFLS8NAEJ7GVxtfVfHkJVgETyUVX8fiCy9iBWsFW8omrnFpXmy2gpbevYlXb171F+lv8eCXNRW0iBs2M/vNN9/O7DixLxJl2285Y2R0bHwiXzAnp6ZnZotz82dJ1JUur7uRH8lzhyXcFyGvK6F8fh5LzgLH5w2ns5vGGzdcJiIKT9VtzFsB80JxJVymALWLi71mzKQSzLeaxwH3WN8yTbNdLNllWy9r2KlkTomyVYuK79SkS4rIpS4FxCkkBd8nRgm+C6qQTTGwFvWASXhCxzn1yURuFywOBgPawd/D6SJDQ5xTzURnu7jFx5bItGgF+0ArOmCnt3L4CewH9p3GvD9v6GnltMJbWAeKBa14BFzRNRj/ZQYZc1DL/5lpV4quaFt3I1BfrJG0T/dbZw8RCayjIxbta6YHDUefb/ACIWwdFaSvPFCwdMeXsExbrlXCTJFBT8Kmr496MObK76EOO2dr5cpmeeNkvVTdyQaepyVaplVMdYuqdEg11OGim2d6oVfDMe6NB+Pxi2rkspwF+rGMp09SPJZ4</latexit>
§ Now, we discretize the computational domain in a way that we can handle it easier
§ To construct a numerical scheme which solves the surface integral, we demand the
boundary of the control volume to consist of peacewise smooth elements:
n n
Ω
Ω
n
Ω
§ Taking advantage of the simplified geometry, we can now discretize the flux over
the boundaries as the sum of the fluxes:
Z
<latexit sha1_base64="H9MHGVsbJ7yngbR0+MZBcxjq7qU=">AAADNHichVFLb9QwEJ6GV7u8FjhysVghlcsqQeVxqVTxEgceRbBtpbpETtabWhs7keOsVKL8Lf4GZxA3xJUbNwR8MSkSrVAncmb8zczneSRlrioXhh+XglOnz5w9t7wyOH/h4qXLwytXt6qitqmcpEVe2J1EVDJXRk6ccrncKa0UOsnldjJ/2Pm3F9JWqjBv3EEp97TIjJqpVDhA8VBxZVzc8FJYp0TO+EstM9GyGePptHCML2TamJZxNn3N1hmvah03ej1q3zYvWpbFmvFczhxbZTXjVmX7jt06kvos1gNIPByF49ALO25EvTGiXjaL4SfiNKWCUqpJkyRDDnZOgip8uxRRSCWwPWqAWVjK+yW1NEBujSiJCAF0jn+G226PGtw7zspnp3glx7HIZHQT54lnTBDdvSphV9A/cN55LPvvC41n7io8gE7AuOIZnwN3tI+IkzJ1H3lYy8mZXVeOZnTfd6NQX+mRrs/0L88jeCywufcweuwjM3Ak/r7ABAz0BBV0Uz5kYL7jKbTwWnoW0zMK8FnobvqoB2uOji71uLF1exzdHd95tTbaeNAvfJmu0w1axVbv0QY9pU3UkdIH+k4/6VfwPvgcfAm+/gkNlvqca/SPBN9+A1D9tos=</latexit>
N
X
f · ~n dS = gm (u) · ~nLm
@⌦ m=1
§ Here,
N is the number of sides of a control volume,
m the index of the side, Lm is the length of side m.
and
gm is called the numerical flux function, gm is a suitable approximation to f.
§ The entire issue for a finite volume scheme is how to approximate the flux
18 HPCFD01 - CFD - An Overview
§ Why is it an issue to approximate the flux?
§ Have a look at the mesh and the intrgral mean
§ Each mean in each element is different g which value to use on the interface?
uni,j+1
<latexit sha1_base64="TD/rnKY4gAnyTkPS+CFcn66Qgu0=">AAAC23ichVFJS8NQEJ7Gra1b1KOXYBEEpSTidixueBEq2FaotSTpa3w2G1kKtfTkTbx686r/SX+LB788U0GLdMLLzPtm5nuzGL7Nw0hV3zPSxOTU9Ew2l5+dm19YlJeWq6EXByarmJ7tBVeGHjKbu6wS8chmV37AdMewWc3oHCX+WpcFIffcy6jns4ajWy5vc1OPADVlOW72+dbdpja4cZU8pCkX1KIqRBk1tNQoUCplT/6ga2qRRybF5BAjlyLYNukU4quTRir5wBrUBxbA4sLPaEB55MaIYojQgXbwt3Crp6iLe8IZimwTr9g4ATIVWsc5FYwGopNXGewQ+hPnXmDWvy/0BXNSYQ/aAGNOMJ4Dj+gWEeMynTRyWMv4zKSriNp0ILrhqM8XSNKn+cNzDE8ArCM8Cp2ISAschrh3MQEXuoIKkikPGRTRcQtaF5oJFjdl1MEXQCfTRz1Ys/Z3qaNGdbuo7RV3L3YKpcN04VlapTXawFb3qURnVEYdJmp6oVd6kxrSg/QoPX2HSpk0Z4V+ifT8BQoTk50=</latexit>
n
u uni+1,j
<latexit sha1_base64="ue6GiuijjLOscvFniE1UKMR0RUQ=">AAAC13ichVFJS8NQEJ7Gra1b1aOXYBE8SEnE7Vjc8CJUsIvUtiTpa3w2G1kKtRRv4tWbV/1X+ls8+OWZClqkE15m3jcz35tF9ywehIrynpKmpmdm59KZ7PzC4tJybmW1EriRb7Cy4VquX9O1gFncYeWQhxareT7TbN1iVb17HPurPeYH3HWuwr7HGrZmOrzDDS0E1IxaA759N2w6chbSyuWVgiJEHjfUxMhTIiU390E31CaXDIrIJkYOhbAt0ijAVyeVFPKANWgAzIfFhZ/RkLLIjRDFEKEB7eJv4lZPUAf3mDMQ2QZesXB8ZMq0iXMmGHVEx68y2AH0J869wMx/XxgI5rjCPrQOxoxgvAAe0i0iJmXaSeSolsmZcVchdehQdMNRnyeQuE/jh+cEHh9YV3hkOhWRJjh0ce9hAg50GRXEUx4xyKLjNrQmNBMsTsKogc+HjqePerBm9e9Sx43KTkHdL+xd7uaLR8nC07ROG7SFrR5Qkc6phDoMML/QK71J19KD9Cg9fYdKqSRnjX6J9PwFRrKS/A==</latexit>
<latexit sha1_base64="/8162a73xZ1PF4q2jO8BUmACecQ=">AAAC23ichVFJS8NQEJ7Gra1b1KOXYBEEpSTidixueBEq2FaotSTpa3w2G1kKtfTkTbx686r/SX+LB788U0GLdMLLzPtm5nuzGL7Nw0hV3zPSxOTU9Ew2l5+dm19YlJeWq6EXByarmJ7tBVeGHjKbu6wS8chmV37AdMewWc3oHCX+WpcFIffcy6jns4ajWy5vc1OPADVlOW72+aa2dTe4cZU8pCkX1KIqRBk1tNQoUCplT/6ga2qRRybF5BAjlyLYNukU4quTRir5wBrUBxbA4sLPaEB55MaIYojQgXbwt3Crp6iLe8IZimwTr9g4ATIVWsc5FYwGopNXGewQ+hPnXmDWvy/0BXNSYQ/aAGNOMJ4Dj+gWEeMynTRyWMv4zKSriNp0ILrhqM8XSNKn+cNzDE8ArCM8Cp2ISAschrh3MQEXuoIKkikPGRTRcQtaF5oJFjdl1MEXQCfTRz1Ys/Z3qaNGdbuo7RV3L3YKpcN04VlapTXawFb3qURnVEYdJmp6oVd6kxrSg/QoPX2HSpk0Z4V+ifT8BQmfk50=</latexit>
n
ui 1,j i,j
<latexit sha1_base64="vjwl3yULnsenkxl/Ce96Xhc9sxE=">AAAC23ichVFJS8NQEJ7Gra1b1KOXYBE8aEnE7Vjc8CJUsK1Qa0nS1/hsNrIUaunJm3j15lX/k/4WD355poIW6YSXmffNzPdmMXybh5Gqvmekicmp6ZlsLj87N7+wKC8tV0MvDkxWMT3bC64MPWQ2d1kl4pHNrvyA6Y5hs5rROUr8tS4LQu65l1HPZw1Ht1ze5qYeAWrKctzs8y1t825w4yp5SFMuqEVViDJqaKlRoFTKnvxB19Qij0yKySFGLkWwbdIpxFcnjVTygTWoDyyAxYWf0YDyyI0RxRChA+3gb+FWT1EX94QzFNkmXrFxAmQqtI5zKhgNRCevMtgh9CfOvcCsf1/oC+akwh60AcacYDwHHtEtIsZlOmnksJbxmUlXEbXpQHTDUZ8vkKRP84fnGJ4AWEd4FDoRkRY4DHHvYgIudAUVJFMeMiii4xa0LjQTLG7KqIMvgE6mj3qwZu3vUkeN6nZR2yvuXuwUSofpwrO0Smu0ga3uU4nOqIw6TNT0Qq/0JjWkB+lRevoOlTJpzgr9Eun5Cw6Bk58=</latexit>
uni,j
<latexit sha1_base64="9lMIqB8kn3hwMByEWCu09sTgHVw=">AAAC23ichVFJS8NQEJ7Gra1b1KOXYBE8aEnE7Vjc8CJUsK1Qa0nS1/hsNrIUaunJm3j15lX/k/4WD355poIW6YSXmffNzPdmMXybh5Gqvmekicmp6ZlsLj87N7+wKC8tV0MvDkxWMT3bC64MPWQ2d1kl4pHNrvyA6Y5hs5rROUr8tS4LQu65l1HPZw1Ht1ze5qYeAWrKctzs8827LW1w4yp5SFMuqEVViDJqaKlRoFTKnvxB19Qij0yKySFGLkWwbdIpxFcnjVTygTWoDyyAxYWf0YDyyI0RxRChA+3gb+FWT1EX94QzFNkmXrFxAmQqtI5zKhgNRCevMtgh9CfOvcCsf1/oC+akwh60AcacYDwHHtEtIsZlOmnksJbxmUlXEbXpQHTDUZ8vkKRP84fnGJ4AWEd4FDoRkRY4DHHvYgIudAUVJFMeMiii4xa0LjQTLG7KqIMvgE6mj3qwZu3vUkeN6nZR2yvuXuwUSofpwrO0Smu0ga3uU4nOqIw6TNT0Qq/0JjWkB+lRevoOlTJpzgr9Eun5Cw7xk58=</latexit>
f · ~n dS = gm (u) · ~nLm
@⌦ m=1
needs to be approximated as
Z N
X
f · ~n dS = gm (uLef tm , uRightm ) · ~nLm
<latexit sha1_base64="ISdWkXImBAWN2cctJkPVEZTbXTs=">AAACZXicbZHPaxQxFMczU7XranVbxYsHHy5CBVlmpKCXQtGLh6L1x7aFzTpkMpnZ0CQzJG8KSzr/pDevXvw3zGz3oFsfBD7v+/KSl2/yRkmHSfIzirdu3b6zPbg7vHd/58HD0e7eqatby8WU16q25zlzQkkjpihRifPGCqZzJc7yi/d9/exSWCdr8w2XjZhrVhlZSs4wSNnoikqDmacNsyiZAvpJi4p1UALlRY1ALwX3pgMKxVc4BOpanXl9mHbf/ccOqkwDVaJE2Ic288eBMt3Bqz75IqvFKqO2J3i5ceJxprPROJkkq4CbkK5hTNZxko1+0KLmrRYGuWLOzdKkwbnvZ+dKdEPaOtEwfsEqMQtomBZu7lcudfAiKAWUtQ3LIKzUvzs8084tdR52aoYLt1nrxf/VZi2Wb+demqZFYfj1RWWrAGvoLYdCWsFRLQMwbmWYFfiCWcYxfMwwmJBuPvkmnL6epMkk/XwwPnq3tmNAnpLnZJ+k5A05Ih/ICZkSTn5Fg2g32ot+xzvx4/jJ9dY4Wvc8Iv9E/OwPf4+2wQ==</latexit>
@⌦ m=1
20 HPCFD01 - CFD - An Overview
A simple idea for the flux
§ The simple idea for the flux on the boundary is to take the mean of the flux
evaluated with state to the left and state to the right
§ This scheme is called the central scheme
§ Unfortunately, this can lead to an unstable scheme – depending on the time
integration (explicit or implicit)
Z
<latexit sha1_base64="7OKyMmK9CXbu7TNMnzcu7v05Mf8=">AAADTnichVFdb9MwFL3J+OjKxzp4AfFiUYGQEFWCGPCCNPElXhBD0G7SslaO6wariRM5bqUR5Yk/yCv8A/4ATyA48dJJbEK7ln2vz73n+NqOi1SVNgi+ef7aufMXLnbWu5cuX7m60du8NirzhRFyKPI0N3sxL2WqtBxaZVO5VxjJsziVu/H8RZPfXUpTqlx/tIeFPMh4otVMCW4BTXpfIqXtpIreZTLhNVuMK30/rFnEpiP2gJ1M6qPE3WfHOTvW9Riro9UrQsGNVTxlK+aMRWKaWxYtpai0k//QLJZ1YZNePxgEztjpIGyDPrW2k/e+U0RTyknQgjKSpMkiTolTibFPIQVUADugCphBpFxeUk1dcBeokqjgQOdYE+z2W1Rj32iWji1wSoppwGR0B/O1U4xR3ZwqEZfwvzA/Oyz57wmVU246PISPobjuFN8Ct/QJFWcxs7Zy1cvZzOZWlmb01N1Gob/CIc09xbHOS2QMsLnLMHrlKhNoxG6/xAto+CE6aF55pcDcjafw3HnpVHSryKFn4JvXRz/45vDkp54ORg8H4ePB1vtH/e3n7Yd36Bbdpnv41Se0TW9oB30I+uFteDe8m/5X/6f/2/9zVOp7Lec6/WNrnb/NibxY</latexit>
Z Z tn+1 Z
un+1 dV un dV = f · ~n dS dt
⌦ ⌦ tn @⌦
Z Z tn+1 Z
un+1 dV un dV = f · ~n dS dt
⌦ ⌦ tn @⌦
Z
<latexit sha1_base64="NtEwk+Tt3W7brZwru9gwNwcHkNQ=">AAAEdnichVHLbtNAFL1xA7ThlcASCY2ICkEtUVwBZVMpQEEsCpRH00p1Y42diWvFHlv2JFJx/UP8EXwJCxYcT5xIpK9Jxvd17jl3Zpw48FPV6fyqGEvVa9dvLK/Ubt66feduvXGvl0bjxBV7bhREyYHDUxH4UuwpXwXiIE4ED51A7Dujt0V9fyKS1I/kd3USi6OQe9If+i5XSNmNyk/Ll8rOrM+h8HjOxv1Mrpk5s9igx56xxaKcFh5vzWuqL/M+vrotnzXEPFE+D9isc9hC71NmuYNIMWsi3ExqjW/FBxmrhv9p73SuD/5pKFmpti0CxRmw6Ti0s3DLhOwnAD07ZFYghoq1Crid7cC3w5ytT8OvvnesYyspPLY4xY4d1qb6l+poiRazhgl3MzPPNvLh+bJzmbVLwOcMdfF0s2XXm512Ry921jFLp0nl2o3qv8miAUXk0phCEiRJwQ+IU4rfIZnUoRi5I8qQS+D5ui4opxp6x0AJIDiyI3w9RIdlViIuOFPd7UIlwE7QyWgV+71mdIAuVAX8FPYv9g+d8y5UyDRzMeEJrAPGFc34EXlFx0Bc1RmWyNksV3cWp1I0pFf6ND7mi3WmOKc759lGJUFupCuM3mmkBw5HxxPcgITdwwTFLc8YmD7xAJZrKzSLLBk5+BLY4vYxD57ZXHzUs05vo22+bL/48rzZfVM++DI9oEfUwqtuUpc+0C7mcI2GsWl0jddLf6oPq6vVJ1OoUSl77tN/q9r5B5jpG+4=</latexit>
Z Z tn+1 Z
un+1 dV un dV = f (un ) · ~n dS dt
⌦ ⌦ tn @⌦
N
X
|V |un+1 |V |un = t gm unLef tm , unRightm · ~nLm
m=1
XN ✓ ◆
1 1
= t f unLef tm + f unRightm · ~nLm
m=1
2 2
Z
<latexit sha1_base64="FM0+jz1EH3RTH+Ohn+6ual+izYU=">AAAEhnichVFdb9MwFL0tAbry1cEjL4YKVDSomokxXiZVMD4eBnRAu0nLGjmpm0VNnCpxK40sf4x/Ar+FB07ctIiOUif2vT73nnOvbWcc+IlqtX6UyleMq9euVzaqN27eun2ntnm3l0ST2BVdNwqi+NjhiQh8KbrKV4E4HseCh04gjpzR6zx+NBVx4kfyqzofi9OQe9If+i5XgOzN0nfLl8pOrU+h8HjGJv1UbpkZs9igx56x5aCcBR7vLWKqL7M+Vk3L5oQxj5XPAzZnDhvgPmGWO4gUs6bCTaWu8SVfgFhV/Be9i0V96M+2khXV9kWgOENuMgntNNwzUfYjEj07ZFYghoo15mw7PcDeDjP29A/02ffONGbFuceWuzmww+qsj//W06UazBrG3E3NLN3OhqvLL0ptrSH8o7nVXc6HXau3mi092GXHLJw6FaMT1X6SRQOKyKUJhSRIkoIfEKcE3wmZ1KIxsFNKgcXwfB0XlFEV3AmyBDI40BFWD7uTApXY55qJZruoEmDGYDJ6hPlWKzrIzqsK+AnsL8xvGvNWVki1ct7hOawDxQ2t+AG4ojNkrGOGRea8l/XM/FSKhvRSn8ZHf2ON5Od0Fzr7iMTARjrC6I3O9KDh6P0UNyBhu+ggv+W5AtMnHsBybYVWkYUih14Mm98++sEzm8uPetnpbTfNF82dw+f19qviwSt0nx5SA6+6S216Tx304ZYflN+VO+VDo2I0jR1jd5ZaLhWce/TXMNq/Ac2FIN8=</latexit>
Z Z tn+1 Z
un+1 dV un dV = f (un ) · ~n dS dt
⌦ ⌦ tn @⌦
N
X ⇣ ⌘
|V |u n+1 n
|V |u = t gm un+1 n+1
Lef tm , uRightm · ~nLm
m=1
N ✓ ◆
X 1 ⇣ n+1 ⌘ 1 ⇣ n+1 ⌘
= t f uLef tm + f uRightm · ~nLm
m=1
2 2
§ Discretization in space: central scheme, i.e. mean between left and right
§ Next time:
§ why is the explicit central scheme unstable?
§ What other options for explicit schemes exist?
åa u
1
n
n
Values at the nodes of the grid Grid cells form a Grid cells form an area,
control volume where a set of ansatz
function is valid
@u @u @u
+ c1 + c2 = h(u, t, x, y)
@t @x @y
ut + c1 ux + c2 uy = h(u, t, x, y)
29 Simulationstechnik I
Partial Differential Equations of 2. order
Definition:
Physical models:
Physical models
Heat transfer, Instationary temperature distribution,
Diffusion processes, friction / viscosity,
Instationary processes
Mathematical model
ut= к Δu Heat transfer equation
ut= к uxx Heat transfer equation 1D
For stationary processes (ut= 0), the parabolic PDE becomes elliptic.
Initial condition /
Boundary condition
problem t
D
Boundary Boundary
condition conditions
s a b
Initial
conditions
u(x, 0) = g(x) f or x 2 [a, b]
ut = uxx in [a, b] x [0, T ] u(a, t) = ua (t) f or t 2 [0, T ]
u(b, t) = ub (t) f or t 2 [0, T ]
Mathematical model:
Holds for any arbitrary subdomain of Ω, thus the integrand must vanish
∂u
+∇·f =0 Differential form of mass conservation
∂t
41 HPCFD01 - CFD - An Overview
Theory of Characteristics
§ Let f= u(x,t)v(t)
§ Then the equation in 1D can be written as
@u @u
<latexit sha1_base64="9uYSsz94b6eCXzrejLL2W1OAcMQ=">AAADD3ichVHBShxBEH2OidE10Y0evTRZBEFYZkNMcgmIGslFUHBVcEV62t5Ns7MzQ0+vqMt+RH4jP+At5JpbrvotHnzTjgkqag89Vf3q1euqriiLTe7C8GIkGH3xcuzV+ERl8vWbqenq25mdPO1bpZsqjVO7F8lcxybRTWdcrPcyq2UvivVu1F0t4rvH2uYmTbbdaaYPerKTmLZR0hE6rK612laqQSuT1hkZi/7wv++GYlEo8QTjZCi+iLByWK2F9dAv8dBplE4N5dpMq5do4QgpFProQSOBox9DIue3jwZCZMQOMCBm6Rkf1xiiwtw+WZoMSbTLf4en/RJNeC40c5+teEvMbZkpMM+97hUjsotbNf2c9or7zGOdR28YeOWiwlPaiIoTXnGDuMN3Mp7L7JXM21qezyy6cmjjs+/GsL7MI0Wf6p/OGiOWWNdHBL56ZocakT8f8wUS2iYrKF75VkH4jo9opbfaqySloqSepS1en/VwzI37Q33o7LyvNz7Wl7Y+1JZXyoGPYw7vsMCpfsIyvmGTdSj8xF9c4DL4EZwHv4LfN9RgpMyZxZ0V/LkGub6qWQ==</latexit>
+c =0 u(x, 0) = u0 (x)
@t @x
@u @u
<latexit sha1_base64="01xNuJGMRsQJ5Q87MdECBqE63lY=">AAADsHichVFdb9MwFL1Z+NjKV4FHXiwqUCdQlU5s8DJp4ktICGlIdKu0TJXjOJlpmqSOM3Wr+kPhnX/BA8deCoKJ1ZFzj4/PPb72jcpMVSYIvnlr/rXrN26ub7Ru3b5z9177/oODqqi1kANRZIUeRrySmcrlwCiTyWGpJZ9EmTyMxm/s/uGp1JUq8i/mrJTHE57mKlGCG1Cj9o+47s6em032dJeFieZiHpZcG8UzVi/+YLNgsWHPrpLMIJmxMGxZp0wmhnVXOC7tYuTiB+Zq+1Cr9MSwTVvKxTkBC1k4ndY8Zipx2MLG1ZrCc5eJ1qjdCXqBG+wy6DegQ83YL9rfKaSYChJU04Qk5WSAM+JU4TuiPgVUgjumOTgNpNy+pAW1kFtDJaHgYMf4p1gdNWyOtfWsXLbAKRmmRiajJ5jvnWMEtT1VAleIPzHPHZf+94S5c7YVniFGcNxwjp/AGzqBYlXmpFEua1mdaW9lKKFX7jYK9ZWOsfcUv33eYkeDG7sdRu+cMoVH5NaneIEccYAK7CsvHZi7cYzIXZTOJW8cOfw0on191IM29/9t6mVwsNXr7/S2P7/o7L1uGr5Oj+gxddHVl7RHH2gfdQjvozf1zr25v+UP/ZHPL6RrXpPzkP4a/tdfFerfjA==</latexit>
§ Then du(x, t) = dt + dx
@t
✓ @x ◆
@u dx @u
= + dt
@t dt @x
dx
x = ct + ⇠
<latexit sha1_base64="bSDmqQZLtxuGgeKIWMwZBDAnjvo=">AAAC13ichVFLS8NAEJ7GV1tfVY9egkUQhJKIr4tQfOFFqGAf0lZJ0m1dmhfJtrQW8SZevXnVf6W/xYNf1lTQIt2wmdlvvvl2Zsf0bR4KTXtPKBOTU9MzyVR6dm5+YTGztFwKvU5gsaLl2V5QMY2Q2dxlRcGFzSp+wAzHtFnZbB9F8XKXBSH33EvR91ndMVoub3LLEICue+qBagl1U631eDp9k8lqOU0uddTRYydL8Sp4mQ+qUYM8sqhDDjFyScC3yaAQX5V00sgHVqcBsAAel3FG95RGbgcsBoYBtI1/C6dqjLo4R5qhzLZwi40dIFOldexTqWiCHd3K4Iewn9h3Emv9e8NAKkcV9mFNKKak4jlwQbdgjMt0YuawlvGZUVeCmrQvu+Goz5dI1Kf1o3OMSACsLSMqnUhmCxqmPHfxAi5sERVErzxUUGXHDVhDWiZV3FjRgF4AG70+6sGY9b9DHXVKWzl9N7dzsZ3NH8YDT9IqrdEGprpHeTqjAuqwoPxCr/SmXCkPyqPy9E1VEnHOCv1ayvMXbZySpQ==</latexit>
=0 if =c characteristics
dt
u(x, t) = u0 (x vt, 0) x = vt + ⇠
t case a>0:
( ) =a
€ § Which one is stable?
dx t
C:
dt
€
§ Physical or mathematical
regime of dependency x
45 HPCFD01 - CFD - An Overview
Upwind (CIR) - scheme
# n n
n+1 n Δt % ui − ui−1 for a > 0
§ ui = ui − a $ n Courant, Isaacson, Rees (CIR)
Δx % u − un for a < 0
& i+1 i
t n +1 t n +1
tn tn
x i-1 xi x i +1 x i-1 xi x i +1
a>0 a<0
46 HPCFD01 - CFD - An Overview
Stability analysis
Δt
a <1 CFL condition
Δx
Regime of dependendy of
the exact solution has to be
tn covered by the numerical scheme
x i-1 xi x i +1
Characteristic