Lecture 8 Scientific Computing: Symbolic Math, Parallel Computing, ODEs .

1y ago
16 Views
2 Downloads
690.89 KB
61 Pages
Last View : 3d ago
Last Download : 3m ago
Upload by : Mara Blakely
Transcription

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionLecture 8Scientific Computing:Symbolic Math, Parallel Computing, ODEs/PDEsMatthew J. ZahrCME 292Advanced MATLAB for Scientific ComputingStanford University30th April 2015CME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusion1Symbolic Math ToolboxSymbolic ComputationsMathematicsCode generation2Parallel Computing Toolbox3Ordinary Differential Equations4Partial Differential EquationsOverviewMesh Generation in MATLABPDE Toolbox5ConclusionCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionSymbolic ComputationsMathematicsCode generationOutline1Symbolic Math ToolboxSymbolic ComputationsMathematicsCode generation2Parallel Computing Toolbox3Ordinary Differential Equations4Partial Differential EquationsOverviewMesh Generation in MATLABPDE Toolbox5ConclusionCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionSymbolic ComputationsMathematicsCode generationOverviewSymbolic computations in MATLABSymbolic variables, expressions, functionsMathematicsEquation solving, formula simplification, calculus, linear algebraGraphicsCode generation (C, Fortran, Latex)CME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionSymbolic ComputationsMathematicsCode generationSymbolic variables, expressions, functionsCreate variables, expressions, functions with sym, syms commands % Symbolic variables syms x, y, z % Symbolic expression phi1 sym('(1 sqrt(5))/2') phi2 sym('(1 sqrt(5))/2') phi1*phi2ans (5ˆ(1/2)/2 1/2)*(5ˆ(1/2)/2 1/2) simplify(phi1*phi2)ans 1 % Symbolic function syms f(u,v)CME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionSymbolic ComputationsMathematicsCode generationSymbolic matricesSymbolic matrices can be constructed from symbolic variables syms a b c d A [aˆ2, b, c; d*b,c a,sqrt(b)]A [ aˆ2,b,c][ b*d, c a, bˆ(1/2)] b [a;b;c]; A*bans aˆ3 bˆ2 cˆ2bˆ(1/2)*c b*(a c) a*b*dCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionSymbolic ComputationsMathematicsCode generationArithmetic, Relational, and Logical OperationsSymbolic arithmetic operationsceil, cong, cumprod, cumsum, fix, floor, frac, imag, minus,mod, plus, quorem, real, roundSymbolic relational operationseq, ge, gt, le, lt, ne, isequalnSymbolic logical operationsand, not, or, xor, all, any, isequaln, isfinite, isinf, c/operators.htmlCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionSymbolic ComputationsMathematicsCode generationEquation riptionFunctional inverseSolve linear system of equationsPoles of expression/functionEquation/System of equations solverODE solverCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionSymbolic ComputationsMathematicsCode generationFormula Manipulation and prsubsDescriptionAlgebraic simplificationSymbolic simplification of fractionsRewrite symbolic expression in terms ofcommon subexpressionSymbolic substitutionCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionSymbolic ComputationsMathematicsCode entiate symbolicDefinite and indefinite integralsRiemann sumsCurl of vector fieldDivergence of vector fieldGradient vector of scalar functionHessian matrix of scalar functionJacobian matrixLaplacian of scalar functionCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionSymbolic ComputationsMathematicsCode ansDescriptionPotential of vector fieldVector potential of vector fieldTaylor series expansionCompute limit of symbolic expressionFourier transformInverse Fourier transformInverse Laplace transformInverse Z-transformLaplace transformZ-transformCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionSymbolic ComputationsMathematicsCode generationLinear AlgebraMost matrix operations available for numeric arrays also available forsymbolic matricescat, horzcat, vertcat, diag, reshape, size, sort, tril, ceDescriptionAdjoint of symbolic square matrixMatrix exponentialMatrix square rootCondition number of symbolic matrixCompute determinant of symbolic matrixNorm of matrix or vectorColumn space of matrixCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionSymbolic ComputationsMathematicsCode generationLinear AlgebraCommandnullrankrrefeigjordanDescriptionForm basis for null space of matrixCompute rank of symbolic matrixCompute reduced row echelon formSymbolic eigenvalue decompositionJordan form of symbolic matrixCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionSymbolic ComputationsMathematicsCode generationLinear bolic Cholesky decompositionSymbolic LU decompositionSymbolic QR decompositionSymbolic singular value decompositionCompute symbolic matrix inverseSolve linear system of equationsCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionSymbolic ComputationsMathematicsCode tionsDescriptionSet assumption on symbolic objectAdd assumption on symbolic objectShow assumptions set on symbolicvariableCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionSymbolic ComputationsMathematicsCode oly2smsym2polyDescriptionCharacteristic polynomial of matrixCoefficients of polynomialMinimal polynomial of matrixSymbolic polynomial from coefficientsSymbolic polynomial to numericCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionSymbolic ComputationsMathematicsCode generationMathematical FunctionsCommandlog, log10, log2sin, cos tan, etcsinh, cosh tanh, etcDescriptionLogarithmic functionsTrigonometric functionsHyperbolic functionsComplex numbers and operations also available in Symbolic toolboxSpecial functionsDirac, Haviside, Gamma, Zeta, Airy, Bessel, Error, Hypergeometric,Whittaker functionsElliptic integrals of first, second, third kindsCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionSymbolic ComputationsMathematicsCode generationPrecision recision accuracyConvert symbolic expression toMATLAB doubleVariable precision arithmeticCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionSymbolic ComputationsMathematicsCode unctiontexlabelDescriptionC code representation of symbolicexpressionFortran representation of symbolicexpressionLATEX representation of symbolicexpressionConvert symbolic expression to functionhandle or fileTeX representation of symbolicexpressionCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionSymbolic ComputationsMathematicsCode generationExercise: Method of Manufactured SolutionsThe method of manufactured solutions is a general method forconstructing problems with exact, known solutions, usually for thepurpose of verifying a code.Consider the structural equilibrium equations · P ρ0 b 0P S · FTS λtr(E)I 2µE 1 TE F F I2 uF I XCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionSymbolic ComputationsMathematicsCode generationExercise: Method of Manufactured SolutionsFor the displacement field, u(X) [X1 X2 X3 , X21 X22 , sin(X3 )]T ,compute the corresponding forcing termGenerate code in MATLAB, C, and Fortran to compute the forcingterm from aboveCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionOutline1Symbolic Math ToolboxSymbolic ComputationsMathematicsCode generation2Parallel Computing Toolbox3Ordinary Differential Equations4Partial Differential EquationsOverviewMesh Generation in MATLABPDE Toolbox5ConclusionCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionProgramming Parallel ApplicationsLevel of controlRequired ved7CME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionProgramming Parallel ApplicationsLevel of controlParallel OptionsMinimalSupport built intoToolboxesSomeHigh-LevelProgramming Constructs:(e.g. parfor, batch, distributed)ExtensiveLow-LevelProgramming Constructs:(e.g. Jobs/Tasks, MPI-based)58CME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionParallel support built into toolboxesParallel Computations available with commands fmincon, fminattain,fminimaxStart MATLAB pool of workersSet UseParallel option to 'always' matlabpool open 2options optimset('UseParallel','always');x fmincon( ., options);CME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionparforMATLAB’s parfor opens a parallel pool of MATLAB sessions(workers) for executing loop iterations in parallelRequires loop to be embarrassingly parallelIterations must be task and order independentParameter sweeps, Monte CarloCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionparforCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionparforThe Mechanics of -',!&, Loops! "! "# # %% && ' (( ) )!* !*Worker'3#7./.#9'./.01,&23456.47-',!&, #./.4845.'3#7./.#91 l of MATLAB Workers17Figure: Courtesy of slides by Jamie Winter, Sarah Wait Zaranek (MathWorks)CME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionConstraints onparforbodyThere are constraints on the body of a parfor loop to enable MATLABto automate the parallelizationCannot introduce variables (eval, load, global, .)Cannot contain break or return statementsCannot contain another parfor (nested parfor loops not allowed)CME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionParallel variable poraryDescriptionLoop indexArrays whose segments operated on bydifferent iterationsVariable defined outside loop (notchanged inside)Accumulates value across iterationsVariable created inside loop (notavailable anced-topics.htmlCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionParallel variable ed-topics.htmlCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionDemoparallel demo.mCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionOutline1Symbolic Math ToolboxSymbolic ComputationsMathematicsCode generation2Parallel Computing Toolbox3Ordinary Differential Equations4Partial Differential EquationsOverviewMesh Generation in MATLABPDE Toolbox5ConclusionCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionIntroductionA system of Ordinary Differential Equations (ODEs) can be written inthe form y(t) F(t, y) ty(0) y0The concept of stiffnessAn ODE problem is stiff if the solution being sought is varying slowly, butthere are nearby solutions that vary rapidly, so a numerical method musttake small steps to obtain satisfactory results.Numerical schemes applied to stiff problems have very restrictive timesteps for stabilityCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionNumerical Solution of ODEsVarious types/flavor of ODE solversMulti- vs single-stageMulti- vs single-stepNumber of time steps used approximate time derivativeImplicit vs. ExplicitTrade-off between ease of advancing a single step versus number of stepsrequiredImplicit schemes usually require solving a system of equationsSerial vs. ParallelCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionFourth-Order Explicit Runge-Kutta (ERK4)Multi-stage, single-step, explicit, serial ODE solverConsider the discretization of the time domain into N 1 intervals[t0 , t1 , . . . , tN ]At step n, yn is known and yn 1 is soughtk1 F(tn , yn )k2 F(tn 0.5 t, yn 0.5 tk1 )k3 F(tn 0.5 t, yn 0.5 tk2 )(1)k4 F(tn t, yn tk3 ) t(k1 2k2 2k3 k4 )yn 1 yn 6Fourth-order accuracy: error O( t4 )Requires 4 evaluations of F to advance single step; does not require solvinglinear or nonlinear equationsCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionBackward EulerSingle-stage, single-step, implicit, serial ODE solverConsider the discretization of the time domain into N 1 intervals[t0 , t1 , . . . , tN ]At step n, yn is known and yn 1 is soughtyn 1 yn F(tn 1 , yn 1 )First-order accuracy: error O( t)A-stableRequires solving the (nonlinear) system of equations in (2)CME 292: Advanced MATLAB for SCLecture 8(2)

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionMATLAB ODE Solvers[TOUT,YOUT] ode solver(ODEFUN,TSPAN,Y0)Integrates the system of differential equations y 0 f (t, y) from time T0 toTFINAL with initial conditions Y0TSPAN [T0 TFINAL]ODEFUN is a function handleFor a scalar T and a vector Y, ODEFUN(T,Y) must return a columnvector corresponding to f (t, y)Each row in the solution array YOUT corresponds to a time returned inthe column vector TOUTTo obtain solutions at specific times T0,T1,.,TFINAL (all increasingor all decreasing), use TSPAN [T0 T1 . TFINAL]CME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionMATLAB ODE ely stiffStiffAccuracyMediumLowLow - HighLow - b/ref/ode45.htmlCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionAssignmentUse ode45 and ode23s to solve the simplified combustion modely 0 (t) y 2 (1 y),0 t 2/ ,y(0) Try 10 4 , 10 3 , 10 2 , 10 1 , 1How many time steps were required for ode45 for each epsilon? Howmany for ode23s?length(TOUT) using the notation from earlierFor 10 4 , plot y(t)CME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionOverviewMesh Generation in MATLABPDE ToolboxOutline1Symbolic Math ToolboxSymbolic ComputationsMathematicsCode generation2Parallel Computing Toolbox3Ordinary Differential Equations4Partial Differential EquationsOverviewMesh Generation in MATLABPDE Toolbox5ConclusionCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionOverviewMesh Generation in MATLABPDE ToolboxMotivationPartial Differential Equations are ubiquitous in science and engineeringFluid MechanicsEuler equations, Navier-Stokes equationsSolid MechanicsStructural dynamicsElectrodynamicsMaxwell equationsQuantum MechanicsSchrödinger equationAnalytical solutions over arbitrary domains mostly unavailableIn some cases, existence and uniqueness not guaranteedCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionOverviewMesh Generation in MATLABPDE ToolboxNumerical Solution of PDEsClasses of PDEsEllipticParabolicHyperbolicNumerical Methods for solving PDEsFinite Difference (FD)Finite Element (FE)Finite Volume (FV)Spectral (Fourier, Chebyshev)Discontinuous Galerkin (DG)CME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionOverviewMesh Generation in MATLABPDE ToolboxNumerical Solution of PDEsThe (major) steps required to compute the numerical solution of to a systemof Partial Differential Equations areDerive discretization of governing equationsSemi-discretizationSpace-time discretizationBoundary conditionsConstruct spatial mesh (or space-time mesh)Structured vs. UnstructuredCodes can be written to leverage structured meshUnstructured meshes more generalRequirements on mesh heavily depend on application of interest and codeusedIf semi-discretized, define temporal meshImplement and solvePostprocessCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionOverviewMesh Generation in MATLABPDE ToolboxExample: Semi-DiscretizationConsider the viscous Burger’s equation u u 2u u 2 t x x(3)for x [0, 1], with the initial condition u(x, 0) 1 and boundary conditionu(0, t) 5.Spatial discretization of (3) yields a system of ODEs of the form U F(U(t), t), tthis is known as semi-discretization or the method of lines.CME 292: Advanced MATLAB for SCLecture 8(4)

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionOverviewMesh Generation in MATLABPDE ToolboxExample: Meshu(x, t)Ui 1 (tn )Ui 1 (tn )Ui (tn )x0 0xi 1 xi xi 1xNFigure: Discretized domain and solution for (3)CME 292: Advanced MATLAB for SCLecture 8x 1

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionOverviewMesh Generation in MATLABPDE ToolboxExample: Finite Difference MethodWe approximate the first-order derivative with a backward difference onthe previous grid to objtainu(xi , t) u(xi 1 , t) u(xi , t) x x(5)for i 1, . . . , N where xi xi xi 1 x as the grid is assumeduniform.The standard central second-order approximation to the diffusive termis applied 2uu(xi 1 , t) 2u(xi , t) u(xi 1 , t)(xi , t) x2 x2for i 1, . . . , N 1CME 292: Advanced MATLAB for SCLecture 8(6)

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionOverviewMesh Generation in MATLABPDE ToolboxExample: Finite Difference MethodAt the last equation, a first-order, leftward bias of the second-orderderivative is applied 2uu(xN , t) 2u(xN 1 , t) u(xN 2 , t)(xi , t) . x2 x2(7)The boundary condition is applied asu(x0 , t) u(0, t)in (5) and (7).CME 292: Advanced MATLAB for SCLecture 8(8)

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionOverviewMesh Generation in MATLABPDE ToolboxMesh GenerationIn 1D, mesh generation is trivial. Difficulties arise in 2D and higher.PDE Toolbox2D onlydistmeshBoth 2D (triangles) and 3D (tetrahedra)UnstructuredPer-Olof PerssonCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionOverviewMesh Generation in MATLABPDE ToolboxPDE ToolboxGeometry definition (points, curves, surfaces, volumes)Mesh generationProblem definitionSolutionPostprocessingCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionOverviewMesh Generation in MATLABPDE ToolboxPDE ToolboxStandard MATLAB distributionpdepe for solving initial boundary-value problems for parabolic-ellipticPDEs in 1DPDE ToolboxGraphical User InterfacepdeappDemoCommand LineCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionOverviewMesh Generation in MATLABPDE ToolboxGeometry DefinitionConstruct mesh interactively using pdetoolUnions and intersections of basic shapesRectangles, ellipses, circles, etcUse pdegeom to create geometry programmaticallyBuild parametrized, oriented boundary edgesLabel left and right regions of edgesGeometry built from union of regions with similar labelsDemo: nacaCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionOverviewMesh Generation in MATLABPDE ToolboxMesh eshtri2gridpdemeshpdetriqDescriptionCreate initial triangular meshAdaptive mesh generation and PDEsolutionJiggle internal points of triangular meshRefine triangular meshInterpolate from PDE triangular mesh torectangular gridPlot PDE triangular meshTriangle quality measure [p,e,t] initmesh('naca'); pdemesh(p,e,t), axis equalCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionOverviewMesh Generation in MATLABPDE ToolboxProblem Definition: PDEBoth scalar and vector PDEs available in PDE toolboxHere we focus on scalar PDEsElliptic · (c u) au fParabolic(9) u · (c u) au f t(10) 2u · (c u) au f t2(11) · (c u) au λdu(12)dHyperbolicdEigenvaluePDE coefficients a, c, d, f can vary with space and time (can also dependon the solution u or the edge segment index)CME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionOverviewMesh Generation in MATLABPDE ToolboxProblem Definition: Boundary ConditionsBoundary conditions available for both scalar and vector available inPDE toolboxHere we focus on scalar PDEsDirichlet (essential) boundary conditionshu r on Ω(13)Generalized Neumann (natural) boundary conditionsn · ( u) qu g on Ω(14)Boundary coefficients h, c, r, q, g can vary with space and time (can alsodepend on the solution u or the edge segment index)CME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionOverviewMesh Generation in MATLABPDE ToolboxSpecify Boundary ConditionsBoundary conditions can be specified:Graphically using pdetoolProgrammatically using pdebound[q,g,h,r] pdebound(p,e,u,time)Demo: nacaboundCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionOverviewMesh Generation in MATLABPDE ToolboxSpecify PDE CoefficientsPDE coefficients can be specified:Graphically using pdetoolProgrammatically via constants, strings, functionsu parabolic(u0,tlist,b,p,e,t,c,a,f,d);u0 - initial conditiontlist - time instances defining desired time stepsb - function handle to boundary conditionp, e, t - meshc, a, f, d - PDE coefficients (numeric, string, functions)CME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionOverviewMesh Generation in MATLABPDE ToolboxPDE solversElliptic[u,res] pdenonlin(b,p,e,t,c,a,f);Parabolicu parabolic(u0,tlist,b,p,e,t,c,a,f,d);Demo: workflowHyperbolicu hyperbolic(u0,ut0,tlist,b,p,e,t,c,a,f,d);Systems of EquationsCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionOutline1Symbolic Math ToolboxSymbolic ComputationsMathematicsCode generation2Parallel Computing Toolbox3Ordinary Differential Equations4Partial Differential EquationsOverviewMesh Generation in MATLABPDE Toolbox5ConclusionCME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionWhat Now?Classes (non-exhaustive)Numerical Linear AlgebraEE 263, CME 200, CME 302, CME 335Numerical OptimizationCME 304, CME 334, CME 338Object-Oriented ProgrammingCS 106B, CS 108ODEs/PDEsCME 102, CME 204, CME 206, CME 303, CME 306Additional Advanced MATLAB classes (none to my knowledge)Interest in taking this class as a full quarter class (3 units)Indicate in evaluationsEmail Margot Gerritsen (margot.gerritsen@stanford.edu)Future MATLAB questionsYou have my email!CME 292: Advanced MATLAB for SCLecture 8

Symbolic Math ToolboxParallel Computing ToolboxOrdinary Differential EquationsPartial Differential EquationsConclusionTeaching EvaluationsVery important so please complete themDetailed comments in evaluations regarding the pros and cons of thecourse will be much appreciatedNot available until end of QuarterIf you have something important you wish to conveyMake a note of it now so you don’t forget in a monthEmail Margot (margot.gerritsen@stanford.edu)CME 292: Advanced MATLAB for SCLecture 8

Parallel Computing Toolbox Ordinary Di erential Equations Partial Di erential Equations Conclusion Lecture 8 Scienti c Computing: Symbolic Math, Parallel Computing, ODEs/PDEs Matthew J. Zahr CME 292 Advanced MATLAB for Scienti c Computing Stanford University 30th April 2015 CME 292: Advanced MATLAB for SC Lecture 8. Symbolic Math Toolbox .

Related Documents:

Introduction of Chemical Reaction Engineering Introduction about Chemical Engineering 0:31:15 0:31:09. Lecture 14 Lecture 15 Lecture 16 Lecture 17 Lecture 18 Lecture 19 Lecture 20 Lecture 21 Lecture 22 Lecture 23 Lecture 24 Lecture 25 Lecture 26 Lecture 27 Lecture 28 Lecture

Scientific Computing Lecture Series Introduction to MATLAB Programming Mehmet Alp Ureten * Scientific Computing, Institute of Applied Mathematics Lecture II Control Loops, Advanced Data Structures, Graphics, and Symbolic Toolbox M. A. Ureten (METU) MATLAB Lecture II 1 / 55

Cloud Computing J.B.I.E.T Page 5 Computing Paradigm Distinctions . The high-technology community has argued for many years about the precise definitions of centralized computing, parallel computing, distributed computing, and cloud computing. In general, distributed computing is the opposite of centralized computing.

Lecture 1: A Beginner's Guide Lecture 2: Introduction to Programming Lecture 3: Introduction to C, structure of C programming Lecture 4: Elements of C Lecture 5: Variables, Statements, Expressions Lecture 6: Input-Output in C Lecture 7: Formatted Input-Output Lecture 8: Operators Lecture 9: Operators continued

Lecture 1: Introduction and Orientation. Lecture 2: Overview of Electronic Materials . Lecture 3: Free electron Fermi gas . Lecture 4: Energy bands . Lecture 5: Carrier Concentration in Semiconductors . Lecture 6: Shallow dopants and Deep -level traps . Lecture 7: Silicon Materials . Lecture 8: Oxidation. Lecture

TOEFL Listening Lecture 35 184 TOEFL Listening Lecture 36 189 TOEFL Listening Lecture 37 194 TOEFL Listening Lecture 38 199 TOEFL Listening Lecture 39 204 TOEFL Listening Lecture 40 209 TOEFL Listening Lecture 41 214 TOEFL Listening Lecture 42 219 TOEFL Listening Lecture 43 225 COPYRIGHT 2016

Partial Di erential Equations MSO-203-B T. Muthukumar tmk@iitk.ac.in November 14, 2019 T. Muthukumar tmk@iitk.ac.in Partial Di erential EquationsMSO-203-B November 14, 2019 1/193 1 First Week Lecture One Lecture Two Lecture Three Lecture Four 2 Second Week Lecture Five Lecture Six 3 Third Week Lecture Seven Lecture Eight 4 Fourth Week Lecture .

The new industry standard ANSI A300 (Part 4) – 2002, Lightning Protection Systems incorporates significant research in the field of atmospheric meteorology. This relatively new information has a pro-found impact on the requirements and recommendations for all arborists who sell tree lightning protection systems. Since there are an average of 25 million strikes of lightning from the cloud to .