ScientificandEngineeringComputing:ItsApplicationandDevelopment科学与工程计算的应用与发展香港浸学大学数学系中国科学院计算数学研究所汤涛~ttang什么是科学计算?•计算机技术的飞跃发展深刻地改变了人们从事科学研究的方法。计算机上的数值模拟已逐渐成为实验和理论之外科学研究的三大支柱之一。•科学计算的首要步骤就是把研究的问题通过数学模型描述出来,再用计算方法进行数值模拟。•科学计算数学本质上是一门交叉科学,它需要的知识不仅局限于计算理论和数学理论。科学计算的优点:•成本低•无风险•无污染•有很大的可靠性什么是科学计算?•传统的计算和应用数学是面向工程的,特别是跟流体和结构力学有关的方面。•它处理的主要是宏观的问题,运用的是微分方程的方法。•流体力学是一个典型的成功的例子。对流体力学的研究,不仅解决了流体力学中的诸多问题,同时也促进了微分方程﹑计算方法﹑渐进分析和其他数学分支的发展,也发展了孤立子和混沌这些具有一般性的新现象。Applications:CFD计算流体力学Cardesigning汽车设计BMW:40%OffsetCrashat50km/hBMWCardesigning汽车设计飞机设计Applications•DrugDesign制药•Electromagnetics电磁场•EarthObservation地球观测海洋计算abcd化学反应模拟ProcessofScientificComputing科学计算的过程MathematicalModels数学模型Discretization离散AlgebraicSolutions代数方程组求解ComputerImplementation计算机实现ComputerCodes程序设计Evaluation评估Applications应用unsatisfactorysatisfactory•Navier-Stokesequations纳维—斯托克斯方程•Eulerequations欧拉方程•ShallowWaterequations浅水波方程•Waveequations波动方程•Black-Scholesequations•Maxwellequations麦克斯韦方程•Schordingerequations薛定谔方程•Boltzmannequations玻耳兹曼方程•Ginzburg-Laudau动力学方程数学的用途•Multi-displines交叉学科oMathematics,Statistics,Physics,ComputerSciences…数学﹑统计﹑物理﹑计算机科学…•RealApplications实际问题应用oComparewithexperiments和实验数据比较•Numericalmethods计算方法oStability,accuracy稳定性,精度•FastSolvers快速算法oMultigrid,FFT,…多重纲格,快速富利叶变换…•Softwares软件•Graphics图像一些有用的工具NecessarynumericalstepsGeometryDomainDiscretizationdefineagridcoveringthedomain•structured/unstructuredgrids•solutioninteractivegridadaptationEquationDiscretizationdefineanumericalscheme•finitevolume/finiteelement/spectral•upwindschemes•multiscaleresolution(turbulencemodels)Physicse.g.Navier-Stokesequations(PDE)NumericalSolutionsolvesystemofnon-linearalgebraicequations•explicit/implicititerativesolutionmethods•convergenceacceleration(multigrid,preconditioning,…)•domaindecompositionandparallelcomputer第一部份:微分方程的离散目的:把具有无限个自由度的连续方程转换成离散的具有有限个自由度的可计算问题。通过计算机来求数值解方法:有限差分方法,有限体积法;有限元方法,谱方法,等等概念:离散精度,hp稳定性,收敛性,工具:数学理论,现代计算方法,计算复杂性0uCumChuuexactnum第二部份:计算网格,自适应目的:一些实际问题在局部有奇性,需要很多的计算网格点,平均分布网格将极大地浪费计算资源。怎样合理分布网格对于高效﹑高精度计算起着极重要的作用。方法:AMRAdaptiveMeshRedistribution(网格自动分布)AdaptiveMeshRefinement(网格自动加密)概念:后验误差估计解的奇性自动跟踪工具:误差分析,网格生成技术用差分方法实现用有限元方法实现h-方法网格加密p-方法基函数添加r-方法网格移动h-p方法h-方法和p-方法结合自适应方法ANumericalExperimentwhereandExactsolution(Kellogg))1,1()1,1(in0)div(a(x)u45.1611a12asmooth0.1,),(ru1.0),(1Hu1a1a2a2aTheexactsolutionfor=0.1..1.0精确解图象一致网格的有限元结果:128x128mesh:512x512mesh:1024x1024mesh:8547.0)(Ehuu6954.0)(EhuuApriorierroranalysisimpliesthatonemustintroduce1011nodesineachspacedirectiontobringtheenergyerrorunder0.1.7981.0)(EhuuConvergencerate:(收敛阶)08.0maxh一致网格计算结果先验误差分析告诉我们如果想使计算误差降到0.1以下,则至少需要1千亿个结点。Theadaptivemeshof2673nodes.Theenergyerroris0.07451.自适应网格:2673个结点,误差小于0.1。DoubleShearFlow:thinlayerproblem(vorticity)DoubleShearFlow:thinlayerproblem(mesh)BoussinesqFlow:meshMeshes(top)anddensities(bottom,inlogarithmicscale)att=0.5,t=1.0,t=1.5,andt=1.9(lefttoright),withrespectively,2266,4354,9484,and12,816trianglesand27,192,52,248,113,808,and201,792unknowns.TheRayleigh-Taylorinstability.计算网格:2266,4354,9484和12,816个三角形单元。•DLR-F4wing-bodycombination(6600000cells)•128blocks•800multigridW-cycles(withmultistageRunge-Kuttasmoother•IBM-SP2;128Thin2Nodes,1WideNode(Hostprocess)第三部份:求解代数方程组在很多情况下,方程的离散会导致一个非线性的代数方程组。通常情况下,这些方程组是稀疏的。主要方法:直接算法(仅局限于几千个未知数)迭代算法(共轭斜量法,预处理等等)加速收敛:多重网格快速算法并行计算区域分解,等等科学计算在中国•中国科学院计算数学所,力学研究所•北京应用物理与计算数学研究所(九所)•高等院校•中科院大气物理所•中科院海洋研究所•航天部﹑兵器工业部•863项目,973项目科学计算在中国•卫星的轨道计算•国防工业•有限元理论与算法(边界元…)•航天技术中的计算•三峡大坝的计算•冯康院士•石钟慈院士,林群院士等等进一步的发展•生命科学中的科学计算,DNA,…•计算材料学,分子动力学•计算化学,化学反应,化学结构•大规模方程的求解,优化•多尺度问题的求解•高维﹑复杂区域•数学/物理方法的进一步完善•快速算法•软件开发计算科学•相比较而言,计算和应用数学对计算科学包括物理﹑化学﹑材料和生物的问题却涉足甚少。•在最近的几年里,计算工程中最前沿的课题正在朝着计算科学不断靠近。•问题本身更微观化了,工程中常用的宏观的处理方法已不再适应。这特别表现在纳米技术方面。•其次是问题本身更复杂化了。对复杂材料﹑复杂流体的研究就难以避免微观机理的研究。而微观机理的研究正是计算科学中一再处理的问题。DNATriplexSimulationsBloodFlowthroughanAnastomosisBFtaAatdifferentangleofbypassgraftComputationalSplashDivingsuitdesign需求:•计算机的发展(computerdevelopment)储存量,计算速度•实际问题的数学模型化(mathematicalmodeling)需求对专门问题的深刻理解•计算方法的发展(computationalmethods)大规模资料的处理最优化(Optimization)自适应(Adaptivity)快速算法(多重网格,FFT,…)•计算技术的提高图象,并行,软件化•跨学科的合作谢谢Thankyou