0% found this document useful (0 votes)
7 views47 pages

04 Finite Volume

Uploaded by

Smita Salunkhe
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views47 pages

04 Finite Volume

Uploaded by

Smita Salunkhe
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 47

FINITE VOLUME

S. Roller, [email protected],
Institute of Software Methods for Product Virtualization (SP), DLR
Agenda

§ Gas Dynamics Recap


§ Finite Volume – Basic Idea
§ Computational Grids
§ Classes of PDEs Recap (hyperbolic, parabolic, elliptic)
§ Finite Volume – Method of Characteristics, Riemann Problem, Godunov &
Godunov Type Schemes

2 HPCFD01 - CFD - An Overview


Gas Dynamics: The Euler Equations

§ Hyperbolic system (wave transport)

@⇢(~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>

+Equation of state (usually ideal gas)

3 HPCFD01 - CFD - An Overview Image: game-icons.net, Lorc


Define state u, flux f

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

4 HPCFD01 - CFD - An Overview


Compact Notation: 3 ways to say the same

~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>

~ut + f~1 x + f~2 y = 0


<latexit sha1_base64="WSvier6Tm1/Q/YlOyj5ob2YktEM=">AAAC+HichVHLSuxAED3G61VHvY66dNPcQRDEIRFfG0F84UbwgqOCSkhizxgmk4SkZ3Ac5iv8AXfi1p1b/Qr9Fhee9I2KitihU1Wnqk7Xw40DP1Wm+dhj9P7q+90/MFgYGh75M1ocG99Po2biyYoXBVFy6DqpDPxQVpSvAnkYJ9JpuIE8cOvrmf+gJZPUj8I91Y7lScOphX7V9xxFyC7OHrek12l2bSVmhNarttW1z9+tua7dFkKsCLNQsIsls2zqI74qVq6UkJ/dqPiEY5wigocmGpAIoagHcJDyO4IFEzGxE3SIJdR87ZfoosDcJqMkIxyidf5rtI5yNKSdcaY62+MrAW/CTIEp3i3N6DI6e1VSTymfeS80Vvv2hY5mzipsU7pkHNSMO8QVzhjxU2Yjj3yt5efMrCuFKpZ1Nz7rizWS9em98WzQkxCra4/Apo6skcPVdosTCCkrrCCb8iuD0B2fUjpaSs0S5owO+RLKbPqsh2u2Pi/1q7I/V7YWywv/5kura/nCBzCJv5jmVpewim3ssg4Pl7jDPR6MC+PKuDZu/ocaPXnOBD4c4/YFFU6e9Q==</latexit>

5 HPCFD01 - CFD - An Overview


Formulating with velocity in component notation

<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>

~ut = RHS (~u (~x, t))

7 HPCFD01 - CFD - An Overview


Euler (forward) Method

§ 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

§ The stability limitation can be overcome by using an implicit formulation of


the Euler method and evaluating the function at the end point instead of the
starting point to define the slope:

u(t) = u0 + RHS(t, u(t)) · (t


<latexit sha1_base64="cbhOTFpg3vwAjPUge2Q1RUeG004=">AAAC9nichVHLTttAFD1xoSUpbdOyZDMiQkoEjZyqrw1SVB7KplKgDSABimxnSK04tmWPI0LUj+AH2CG27NjCZ9Bv6aJnBlOpRYhrje+dc+89cx9uHPipsu2bgvVkavrps5li6fnsi5evyq/fbKdRlniy40VBlOy6TioDP5Qd5atA7saJdIZuIHfcwar274xkkvpR+F2NY3kwdPqhf+h7jiLULS9lVVUTKyLr2mJJbLW+VdWyhmpi3+tFSlTVW9W1ayUt3XLFrttGxH2jkRsV5NKOyr+wjx4ieMgwhEQIRTuAg5TfHhqwERM7wIRYQss3fomfKDE3Y5RkhEN0wH+ft70cDXnXnKnJ9vhKwJMwU2CRZ8MwuozWr0raKfVvnmOD9R98YWKYdYVjapeMRcP4lbjCD0Y8ljnMI+9qeTxTd6VwiM+mG5/1xQbRfXp/edboSYgNjEdg3UT2yeGa+4gTCKk7rEBP+Y5BmI571I7R0rCEOaNDvoRaT5/1cM2N/5d639h+V298rH/YfF9pfskXPoN5LKDKrX5CEy20WYeHE1ziCtfWkXVqnVnnt6FWIc+Zwz9iXfwBSVCbGw==</latexit>

t0 )
§ However, this results in the need to solve an equation for u(t), as it appears
on both sides.

9 HPCFD01 - CFD - An Overview


Summery Explicit & Implicit Euler

§ Euler forward = Euler explicit


§ Cheap per time step, but many small time steps due to stability condition
§ Euler backward = Euler implicit
§ Needs to solve a linear equation system g expensive per time step
§ But large and therefore less time steps
§ Both Euler schemes are 1st order accurate
§ Higher order methods are possible for explicit as well as implicit schemes

10 HPCFD01 - CFD - An Overview


Discretization

§ Up to now, we had discretization in time


§ We are interested in the solution at time t
§ We devide the interval [t0,t] into sub-intervals [t0,t1] [t1,t2] [t2,t3] [t3,t4] [t4,t5] ….
§ Then we solved / approximated the ODE on each subinterval

§ Now, we discretize in space


§ The domain is subdivided into small “finite” volumes (also called “control” volumes)
§ Then we approximate the conservation equation in integral form over each of these
volumes
§ i.e. FV schemes are especially developed for conservation laws
§ At each time step we update these conserved quantities (like density) based on
approximation of the flux through the surface of these control volumes

11 HPCFD01 - CFD - An Overview


FINITE VOLUME – BASIC IDEA

12 HPCFD01 - CFD - An Overview


Conservation equation / integral form

The conserved quantity u can not be created nor destroyed in


some control volume Ω, the volume integral of u
(i.e. amount of u contained inside Ω) can change ∂Ω 
n
only due to net flux across the boundary ∂Ω
Ω

Nothing can appear or vanish


Z Z
@
udV + f · ndS = 0
@t ⌦ @⌦

13 HPCFD01 - CFD - An Overview


Reformulation of the integral 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="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>

§ With definition uni = u(x, tn )dV and un+1


i = u(x, tn+1 )dV
|V | ⌦ |V | ⌦

§ 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

§ So we integrate in time and end up with the reformulated equation


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 @⌦

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

§ Up to now, we have not made any approximation, only reformulation!

§ 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>

16 HPCFD01 - CFD - An Overview


Control volumes

§ 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
Ω

§ Any arbitrary polyhedrons can be chosen.

17 HPCFD01 - CFD - An Overview


Approximation of Integrals

§ 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>

19 HPCFD01 - CFD - An Overview


§ We need the flux at the boundary @⌦ of each control volume, i.e. each grid
<latexit sha1_base64="Bq2RRBTrS9qeq2o9SQjihq8zzP4=">AAAC4HichVFLS8NAEJ7GVxtfVfHkJVgETyUVX8fiCy9iBWsFW8omrnFpXmy2gpbevYlXb171F+lv8eCXNRW0iBs2M/vNN9/O7DixLxJl2285Y2R0bHwiXzAnp6ZnZotz82dJ1JUur7uRH8lzhyXcFyGvK6F8fh5LzgLH5w2ns5vGGzdcJiIKT9VtzFsB80JxJVymALWLi71mzKQSzLeaxwH3WN8yTbNdLNllWy9r2KlkTomyVYuK79SkS4rIpS4FxCkkBd8nRgm+C6qQTTGwFvWASXhCxzn1yURuFywOBgPawd/D6SJDQ5xTzURnu7jFx5bItGgF+0ArOmCnt3L4CewH9p3GvD9v6GnltMJbWAeKBa14BFzRNRj/ZQYZc1DL/5lpV4quaFt3I1BfrJG0T/dbZw8RCayjIxbta6YHDUefb/ACIWwdFaSvPFCwdMeXsExbrlXCTJFBT8Kmr496MObK76EOO2dr5cpmeeNkvVTdyQaepyVaplVMdYuqdEg11OGim2d6oVfDMe6NB+Pxi2rkspwF+rGMp09SPJZ4</latexit>

element. The boundary of each element is the interface between the


elements
§ We know the value in the one element and in its neighbour, i.e. we know the
value on the one side of the interface and on the other, but not at the
interface itself.
§ So our flux Z XN
<latexit sha1_base64="H9MHGVsbJ7yngbR0+MZBcxjq7qU=">AAADNHichVFLb9QwEJ6GV7u8FjhysVghlcsqQeVxqVTxEgceRbBtpbpETtabWhs7keOsVKL8Lf4GZxA3xJUbNwR8MSkSrVAncmb8zczneSRlrioXhh+XglOnz5w9t7wyOH/h4qXLwytXt6qitqmcpEVe2J1EVDJXRk6ccrncKa0UOsnldjJ/2Pm3F9JWqjBv3EEp97TIjJqpVDhA8VBxZVzc8FJYp0TO+EstM9GyGePptHCML2TamJZxNn3N1hmvah03ej1q3zYvWpbFmvFczhxbZTXjVmX7jt06kvos1gNIPByF49ALO25EvTGiXjaL4SfiNKWCUqpJkyRDDnZOgip8uxRRSCWwPWqAWVjK+yW1NEBujSiJCAF0jn+G226PGtw7zspnp3glx7HIZHQT54lnTBDdvSphV9A/cN55LPvvC41n7io8gE7AuOIZnwN3tI+IkzJ1H3lYy8mZXVeOZnTfd6NQX+mRrs/0L88jeCywufcweuwjM3Ak/r7ABAz0BBV0Uz5kYL7jKbTwWnoW0zMK8FnobvqoB2uOji71uLF1exzdHd95tTbaeNAvfJmu0w1axVbv0QY9pU3UkdIH+k4/6VfwPvgcfAm+/gkNlvqca/SPBN9+A1D9tos=</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

§ I need the value on the interface


§ I know the value on the one side, and the value on the other

§ Why not taking the mean?


1 1
<latexit sha1_base64="AG8VjCh38aIC5jpJVf9PkqQ1AFA=">AAADU3ichVNdSxtBFL2btDWmtY0fb6UyGAqWlrAb1PZFkH7hgwUtjQpGltl1dh2yX8xOBF3y7h/0of0R/QPtQ8+Mq9Cm4oTJvffMuWfuncsGRSJL7brfnUbzwcNHM63Z9uMnc0+fdeYX9st8rEIxCPMkV4cBL0UiMzHQUifisFCCp0EiDoLRB3N+cCZUKfPsmz4vxHHK40xGMuQakN+5jP2UDRMRabbKxn61A89PJ+yNCb7K+NRGQ2U89optsmGkeFh5k6o/if6XeEt9fSd1SraN5Xe6bs+1i007Xu10qV67eecHDemEcgppTCkJykjDT4hTid8ReeRSAeyYKmAKnrTngibURu4YLAEGBzrCf4zoqEYzxEaztNkhbkmwFTIZvcT+bBUDsM2tAn4J+xv7wmLxnTdUVtlUeA4bQHHWKn4BrukUjPsy05p5U8v9maYrTRG9s91I1FdYxPQZ3up8xIkCNrInjD5ZZgyNwMZneIEMdoAKzCvfKDDb8Qkst1ZYlaxW5NBTsOb1UQ/G7P071Glnv9/zNnrre2vdrff1wFv0nFZoFVN9S1u0TbuoI6SfzpLzwlluXDV+NfGVXFMbTp2zSH+t5twfZF+78Q==</latexit>

gm (uLef tm , uRightm ) = f (uLef tm ) + f (uRightm )


2 2
§ Note: the physical flux f is required on the boundary. We can‘t evaluate it on
the boundary, because we don‘t know the state on the boundary
§ Thus, on the boundary, it is an approximation (g), even though it uses the
physical flux (f)
21 HPCFD01 - CFD - An Overview
A simple idea for the flux: central scheme, unstable

§ 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 @⌦

22 HPCFD01 - CFD - An Overview


Summary: flux over boundary
What about the time to evaluate?

§ Our reformulated scheme looked like


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 @⌦

§ So we need the flux on the boundary during the interval [tn,tn+1]


§ When the interval is small, we can assume the flux to be constant in time
§ We can evaluate it either with the old values at tn, or with the new at tn+1

23 HPCFD01 - CFD - An Overview


Explicit scheme

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

24 HPCFD01 - CFD - An Overview


Implicit scheme

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

25 HPCFD01 - CFD - An Overview


Summary Central Scheme

§ Discretization in space: central scheme, i.e. mean between left and right

§ Discretization in space & time


§ Explicit central scheme: unstable
§ Implcit central: stable

§ Next time:
§ why is the explicit central scheme unstable?
§ What other options for explicit schemes exist?

26 HPCFD01 - CFD - An Overview


COMPUTATIONAL GRIDS
slides by Mark Haas, IAG, Universität Stuttgart
Harald Klimach, DLR
Grids (meshes) in numerical methods

§ Simulations usally on computational grids


§ The same grid can be interpreted differently according to the discretization
method:

Finite Differences Finite Volume Finite Elements

å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

28 HPCFD01 - CFD - An Overview


Partial Differential Equations

§ 1st order form with 1 time, 2 space dimensions

@u @u @u
+ c1 + c2 = h(u, t, x, y)
@t @x @y
ut + c1 ux + c2 uy = h(u, t, x, y)

§ 1st order derivatives, 2nd order derivatives


ut + c 1 ux + c 2 uy
+c3 utt + c4 uxx + c5 uyy + c6 utx + c7 uty + c8 uxy = h(u, t, x, y)

29 Simulationstechnik I
Partial Differential Equations of 2. order

autt + butx + cuxx = h(u, ut , ux , t, x)


Notation:
@2u @2u
uxx = 2
, utx = ,...
@x @t@x
Constant
coefficients
a, b, c 2 R
Linear a = a(t, x), b = b(t, x), c = c(t, x)
Quasilinear a = a(u), b = b(u), c = c(u)
Non-linear a = a(u, ut , ux , t, x), b, c analog
30 HPCFD01 - CFD - An Overview
Classification of partial differential equations

Definition:

A second order PDE is called

hyperbolic : b² - 4ac >0


parabolic : b² - 4ac = 0
elliptic : b² - 4ac < 0
Notation is in analogy to conic section:
ax² + bxy + cy² = r

31 HPCFD01 - CFD - An Overview


Classification of Partial Differential Equations

§ PDEs are classified into 3 different types:


§ Elliptic
§ Parabolic
§ Hyperbolic

32 HPCFD01 - CFD - An Overview


Elliptic PDE

Physical models:

Stationary problems like heat flow, potential flow,


electric potential, stationary subsonic flow, deflection of
a membrane
Mathematical models:
uxx+uyy=0 Laplace equation
uxx+uyy=f Poisson equation
uxx+uyy+ku=f Helmholtz equation

33 HPCFD01 - CFD - An Overview


Constraints for elliptic PDEs

Boundary value problem


∂Ω

n

u=f on ∂Ω Dirichlet condition


@u
=g on ∂Ω Neumann condition
@n
u + ↵ru · n = h on ∂Ω Robin condition

34 HPCFD01 - CFD - An Overview


Parabolic PDE

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.

35 HPCFD01 - CFD - An Overview


Constraints for parabolic PDEs

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 ]

36 HPCFD01 - CFD - An Overview


Hyperbolic PDEs

Physical models: Wave propagation, acoustic,


Electro-magnetic waves,
Gas dynamics

Mathematical model:

utt = c2 u (c 6= 0) Wave equation


utt = c2 uxx (c 6= 0) Wave equation 1D

ut = cux (c 6= 0) Linear Advection


<latexit sha1_base64="1x2R54nf+XRppKsNiwhzewW74pg=">AAAC6HichVFNT9tAEH1x+Ur4aNoeUaUVERJcIgdR6KUSogVxQQKJQKQkiuxlCSaObewNKkQ59Q/0VnHlxpX+GvgtHHheDBIglLXW8/bNzNuZHTfyvUTb9m3O+jAyOjY+kS9MTk3PfCx++ryfhL1YqqoM/TCuuU6ifC9QVe1pX9WiWDld11cHbudn6j84U3HihcGePo9Us+u0A+/Ik44m1Sp+7bX6eiB+CCmIfg9EQyzIRqBOhb0oCq1iyS7bZom3oJKBErK1Exbv0MAhQkj00IVCAE3sw0HCr44KbETkmuiTi4k841cYoMDcHqMUIxyyHf7bPNUzNuA51UxMtuQtPnfMTIF57k2j6DI6vVURJ7T33BeGa797Q98opxWe07pUzBvFbfIax4wYltnNIp9qGZ6ZdqVxhO+mG4/1RYZJ+5TPOr/oicl1jEdgw0S2qeGa8xlfIKCtsoL0lZ8UhOn4kNYxVhmVIFN0qBfTpq/PejjmyuuhvgX7S+XKSvnb7nJpbT0b+ARmMYcFTnUVa9jCDuuQ+INr3OC/dWL9tf5Zl4+hVi7L+YIXy7p6AKG9mNI=</latexit>

37 HPCFD01 - CFD - An Overview


Constraints for hyperbolic PDEs

Initial condition problems

u(x, 0) = g(x) f or all x 2 R

Note: in practical problems, we have to deal with initial condition / boundary


condition problems even for hyperbolic equations.
But: the boundary conditions here cannot be chosen arbitrarily. They have to
fulfill compatibilty constraints.

38 HPCFD01 - CFD - An Overview


Solving PDEs: Discretization

1.Step: Discretization of the computational domain


2.Step : Discretization of the equation(s)

Discretization of the domain:


generation of computational mesh.
Rectangles/triangles, structured/unstructured

Discretization of the equations:


Finite Element, Finite Difference, Finite Volume

39 HPCFD01 - CFD - An Overview


LINEAR ADVECTION

40 HPCFD01 - CFD - An Overview


The Advection Equation

Change of mass contained in V Û Flux through the boundary


Z Z
@
u dV + f · n dS = 0 Integral conservation
@t ⌦ @⌦ <latexit sha1_base64="WXY84wzd8hbONk2Ks9vnBHwL0ZE=">AAACRnicbZDPS9xAFMdf1lbtWu3WHnt5dBEKhSURob0UlnrxVqXdXWETlslksg5OJmHmRVhC/jovnr35J3jx0CJeneyP0mofDHz5fr/Dm/nEhZKWfP/Ga629eLm+sfmqvfV6e+dN5+3u0Oal4WLAc5Wb05hZoaQWA5KkxGlhBMtiJUbx+WGTjy6EsTLXP2lWiChjUy1TyRk5a9KJwtQwXoUFMySZqv8opBpDqWlShd8zMWU1lhhiMsRPK3tVXOUphjzJCXXT+4Ff0W9POl2/588Hn4tgKbqwnONJ5zpMcl5mQhNXzNpx4BcUVc0mrkTdDksrCsbP2VSMndQsEzaq5hhq3HNOgmlu3NGEc/fvGxXLrJ1lsWtmjM7s06wx/5eNS0q/RJXURUlC88WitHSIcmyYYiKN4KRmTjBupHsr8jPmuJIj30AInn75uRju9wK/F5wcdPvfljg24T18gI8QwGfowxEcwwA4XMIt/ILf3pV35917D4tqy1veeQf/TAseAf7usAU=</latexit>

Assumption: u, f are continously differentiable, linear advection: f = vu

Change order of integration + differentiation, Gauss‘ theorem


Z Z Z
d
u dV = r · f dV , ut + r · f dv = 0
<latexit sha1_base64="VyHEIEa8dojTC7baNwmNSXuqo/k=">AAACbnicbVHLatwwFJXdR5Jp2k4ayCKh9JKhECgd7BBIN4XQbrIINIXOJDAezLUsz4jIkpGuUwbjZX8wu35DN/2Eah6LdJILgsN56HGUVUo6iqLfQfjk6bPnG5tbnRfbL1+97u68GTpTWy4G3ChjrzN0QkktBiRJievKCiwzJa6ym69z/epWWCeN/kGzSoxLnGhZSI7kqbT7K5Ga0ib5VooJtpAUFnmTt01OLdSQQD6Ez/AR1lwaM4WQ8NwQFEsXJBeiICsnU0Jrzc+1SJ0SfHgkeOu3jzpptxf1o8XAQxCvQI+t5jLt3iW54XUpNHGFzo3iqKJxg5YkV6LtJLUTFfIbnIiRhxpL4cbNoq4W3nsmh8JYvzTBgr2faLB0blZm3lkiTd26Nicf00Y1FZ/GjdRVTULz5UFFrYAMzLuHXFrBSc08QG6lvyvwKfrGyf/QvIR4/ckPwfC4H0f9+PtJ7+zLqo5NdsAO2RGL2Sk7Y+fskg0YZ3+CnWA/OAj+hnvh2/Dd0hoGq8wu+2/Co3/RBLi4</latexit>
⌦ dt ⌦ ⌦

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

42 HPCFD01 - CFD - An Overview


Theory of Characteristics

u(x, t) = u0 (x vt, 0) x = vt + ⇠

43 HPCFD01 - CFD - An Overview


§ Information is transported along the characterisic
§ Build the difference in that direction where the information comes from.

44 HPCFD01 - CFD - An Overview


Explicit in time, upwind in space

un+1 − uni uni+1 − uni


§ i
+a =0 right sided
Δt Δx

un+1 − uni uni − uni-1


§ i
+a =0 left sided
€ Δt Δx

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

§ Build differences in that direction where information comes from


§ Direction of characteristics taken up by numerical scheme

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

§ The CIR-scheme is conditionally stable under the condition

Δ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

47 HPCFD01 - CFD - An Overview

You might also like