CINXE.COM
Mechanical and Aerospace Engineering- Princeton Engineering
<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8" /><script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"1588608049",accountID:"3348991",trustKey:"66686",xpid:"VwUDWV9aCRABUVNbDgUPUlMF",licenseKey:"NRJS-b00d4b4e7850ab82d90",applicationID:"1529948474"};;/*! For license information please see nr-loader-spa-1.281.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>p,gD:()=>m,xN:()=>g});var n=r(3333),i=r(993);const o=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var a=r(2614),s=r(944),c=r(384),u=r(8122);const d="[data-nr-mask]",l=()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0,level:i.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{get capture_marks(){return e.feature_flags.includes(n.$v.MARKS)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(n.$v.MEASURES)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(n.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:a.wk,inactiveMs:a.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){o(t)?e.mask_selector="".concat(t,",").concat(d):""===t||null===t?e.mask_selector=d:(0,s.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){o(t)?e.block_selector+=",".concat(t):""!==t&&(0,s.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,s.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}},f={},h="All configuration objects require an agent identifier!";function p(e){if(!e)throw new Error(h);if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function g(e,t){if(!e)throw new Error(h);f[e]=(0,u.a)(t,l());const r=(0,c.nY)(e);r&&(r.init=f[e])}function m(e,t){if(!e)throw new Error(h);var r=p(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0,harvester:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.281.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{A4:()=>s,OF:()=>d,RI:()=>i,WN:()=>h,bv:()=>o,gm:()=>a,lR:()=>f,m:()=>u,mw:()=>c,sb:()=>l});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s="complete"===a?.document?.readyState,c=Boolean("hidden"===a?.document?.visibilityState),u=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d&&"undefined"==typeof SharedWorker,f=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),c&&h(c.prototype,f),h(a.gm,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{$v:()=>u,TZ:()=>n,Zp:()=>i,kd:()=>c,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3,c=["PageAction","UserAction","BrowserPerformance"],u={MARKS:"experimental.marks",MEASURES:"experimental.measures",RESOURCES:"experimental.resources"}},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>c,Qu:()=>u,TZ:()=>s,ih:()=>d,pP:()=>a,tC:()=>i});var n=r(860);const i=["click","keydown","submit","popstate"],o="api",a="initialPageLoad",s=n.K7.softNav,c={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},u={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},d={IP:"in progress",FIN:"finished",CAN:"cancelled"}},7378:(e,t,r)=>{"use strict";r.d(t,{$p:()=>x,BR:()=>b,Kp:()=>R,L3:()=>y,Lc:()=>c,NC:()=>o,SG:()=>d,TZ:()=>i,U6:()=>p,UT:()=>m,d3:()=>w,dT:()=>f,e5:()=>T,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>A,uP:()=>s,wW:()=>E,xq:()=>a});var n=r(384);const i=r(860).K7.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=(0,n.dV)().o.ST,w="-start",R="-end",x="-body",E="cb"+R,T="jsTime",A="fetch"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>j});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),p=r(6344);const g=["setErrorHandler","finished","addToTrace","addRelease","recordCustomEvent","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),w=r(3785),R=r(2646),x=r(3434);const E=new Map;function T(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,x.YM)(i),a=new R.y(s.P);a.level=n.level,a.customAttributes=n.customAttributes;const c=t[r]?.[x.Jt]||t[r];return E.set(c,a),o.inPlace(t,[r],"wrap-logger-",(()=>E.get(c))),i}function A(){const e=(0,h.pV)();g.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const S={};var N=r(9417),_=r(5603),O=r(5284);const I=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let P=!1;function j(e,t={},g,R){let{init:x,info:E,loader_config:j,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();E||(x=L.init,E=L.info,j=L.loader_config),(0,N.xN)(e.agentIdentifier,x||{}),(0,_.a)(e.agentIdentifier,j||{}),E.jsAttributes??={},d.bv&&(E.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,E);const H=(0,N.D0)(e.agentIdentifier),M=[E.beacon,E.errorBeacon];P||(H.proxy.assets&&(I(H.proxy.assets),M.push(H.proxy.assets)),H.proxy.beacon&&M.push(H.proxy.beacon),A(),(0,h.US)("activatedFeatures",O.B),e.runSoftNavOverSpa&&=!0===H.soft_navigations.enabled&&H.feature_flags.includes("soft_nav")),C.denyList=[...H.ajax.deny_list||[],...H.ajax.block_internal?M:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const g={};var R=s.ee.get(e),x=R.get("tracer");S[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=>{S[e]=t}));var E="api-",A=E+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(E,n,!0,o||null===r?"session":void 0)(t,r)}function _(){}g.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e=>{g[e]=I(E,e,!0,"api")})),g.addPageAction=I(E,"addPageAction",!0,n.K7.genericEvents),g.recordCustomEvent=I(E,"recordCustomEvent",!0,n.K7.genericEvents),g.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(E,"setPageViewName",!0)()},g.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},g.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},g.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,R),R.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},g[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,R)},g[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,R)},g.interaction=function(e){return(new _).get("object"==typeof e?e:{})};const O=_.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,R),h||(0,a.p)(A+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,R),function(){if(x.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw x.emit("fn-err",[arguments,this,t],r),t}finally{x.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,R),i&&(0,a.p)(e+t,[r?(0,v.t)():performance.now(),...arguments],r?null:this,i,R),r?void 0:this}}function P(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),R.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{O[e]=I(A,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(A,"routeName",void 0,n.K7.softNav):I(E,"routeName",!0,n.K7.spa),g.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,R),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!S[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=>P()),!0):P(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),P=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>u,K7:()=>s,P3:()=>c,XX:()=>i,qY:()=>n,v4:()=>a});const n="events",i="jserrors",o="browser/blobs",a="rum",s={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},c={[s.pageViewEvent]:1,[s.pageViewTiming]:2,[s.metrics]:3,[s.jserrors]:4,[s.spa]:5,[s.ajax]:6,[s.sessionTrace]:7,[s.softNav]:8,[s.sessionReplay]:9,[s.logging]:10,[s.genericEvents]:11},u={[s.pageViewEvent]:a,[s.pageViewTiming]:n,[s.ajax]:n,[s.spa]:n,[s.softNav]:n,[s.metrics]:i,[s.jserrors]:i,[s.sessionTrace]:o,[s.sessionReplay]:o,[s.logging]:"browser/logs",[s.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.281.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.281.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={478:"sha512-jmvAlmjCn64ans8tLueqHRlBI/iWekylsDWb94A77CG0ukSriVDvgD3dThx+XjUSBBBMYhFn8B1a18fViyBPEQ==",249:"sha512-ICY/ZrcytM/86t5KFy+9OAWVYmNNJy10EBtxoSUGjQWuZx53p/eLo+L8HfrGjvHuRHRnutqLTGSnvNttffJkaA==",212:"sha512-pQSn+X/RfBOvx/49HvlghaiXMLhhDQXTi13n1N2XMpDquWJgs9U0pbqE3RbAnYC9nsdaTu/RVGvneEPv1fpCxA=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={38:0,788:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.281.0.PROD"]=self["webpackChunk:NRBA-1.281.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(){this.agentIdentifier=(0,r.LA)(16)}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}recordCustomEvent(e,t){return this.#e("recordCustomEvent",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),t.runtime.harvester.initializedAggregates.push(this.featAggregate),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),E=i(2843),T=i(3878),A=i(782),S=i(1863);class N extends b{static featureName=A.T;constructor(e,t=!0){super(e,A.T,t),p.RI&&((0,E.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,A.T,this.ee)),!0),(0,T.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,A.T,this.ee))),this.importAggregator(e))}}var _=i(3969);class O extends b{static featureName=_.TZ;constructor(e,t=!0){super(e,_.TZ,t),this.importAggregator(e)}}var I=i(6774),P=i(3304);class j{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,P.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new j(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(H(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function L(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error&&!!e.stack}class M extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",((e,t)=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r,t],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),p.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,x.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener("error",(e=>{this.abortHandler&&(0,x.p)("err",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var D=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===p.gm?0:(0,D.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,P.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(void 0===p.gm.XMLHttpRequest)return n;if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,T.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var g=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=p.gm.Request,ee=p.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(p.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof p.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,P.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};p.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};pe(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){E(t,e)}),(0,T.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,T.jT)(!1))}function o(e){this.params={method:e[0]},pe(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,T.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function g(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&p.RI&&(t=""+p.gm.location.href):e[0]&&e[0].url?t=e[0].url:p.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:p.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),pe(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function E(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,x.p)(_.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",g),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function pe(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const ge={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!p.RI||ge[t.debugId]++||(ge[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:we,d3:Re,Kp:xe,TZ:Ee,Lc:Te,uP:Ae,Rz:Se}=be;class Ne extends b{static featureName=Ee;constructor(e,t=!0){super(e,Ee,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ae,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Te,(function(e,t){(0,x.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+Re,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+xe,(function(e){(0,x.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,x.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:we,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var _e=i(2614);class Oe extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(_e.H3,"_").concat(_e.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===_e.g.FULL||e.sessionReplayMode===_e.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee,agentRef:this.#o}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==_e.g.FULL&&this.featAggregate.initializeRecording(_e.g.FULL,!0):(this.#i=_e.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==_e.g.FULL&&(this.recorder.parent.mode=_e.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class Pe extends b{static featureName=Ie.TZ;constructor(e,t=!0){if(super(e,Ie.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=ve(this.ee);Ie.tC.forEach((e=>{(0,T.sp)(e,(e=>{a(e)}),!0)}));const n=()=>(0,x.p)("newURL",[(0,S.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,T.sp)("popstate",(e=>(0,x.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=>{i||(i=!0,requestAnimationFrame((()=>{(0,x.p)("newDom",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=>{(0,x.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var je=i(7378);const Ce={},ke=["appendChild","insertBefore","replaceChild"];function Le(e){const t=function(e){return(e||B.ee).get("jsonp")}(e);if(!p.RI||Ce[t.debugId])return t;Ce[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*)\.([^.]+)/,o=/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,ke,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,T.jT)(!1)),e.removeEventListener("error",f,(0,T.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,T.jT)(!1)),e.removeEventListener("error",f,(0,T.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,T.jT)(!1)),e.addEventListener("error",f,(0,T.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const He={};function Me(e){const t=function(e){return(e||B.ee).get("promise")}(e);if(He[t.debugId])return t;He[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i&&function(){function e(r){var o=t.context(),a=n(r,"executor-",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),["all","race"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],"cb-",a,null,!1),e[1]=n(e[1],"cb-",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit("propagate",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on("executor-start",(function(e){e[0]=n(e[0],"resolve-",this,null,!1),e[1]=n(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const De={},Ke="setTimeout",Ue="setInterval",Ve="clearTimeout",Ge="-start",Fe=[Ke,"setImmediate",Ue,Ve,"clearImmediate"];function Be(e){const t=function(e){return(e||B.ee).get("timer")}(e);if(De[t.debugId]++)return t;De[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Fe.slice(0,2),Ke+"-"),r.inPlace(p.gm,Fe.slice(2,3),Ue+"-"),r.inPlace(p.gm,Fe.slice(3),Ve+"-"),t.on(Ue+Ge,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(Ke+Ge,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}const We={};function ze(e){const t=function(e){return(e||B.ee).get("mutation")}(e);if(!p.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:qe,d3:Ze,Kp:Ye,$p:Xe,wW:$e,e5:Je,tH:Qe,uP:et,rw:tt,Lc:rt}=je;class nt extends b{static featureName=qe;constructor(e,t=!0){if(super(e,qe,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get("tracer"),o=Le(this.ee),a=Me(this.ee),s=Be(this.ee),c=Z(this.ee),u=this.ee.get("events"),d=ne(this.ee),l=ve(this.ee),f=ze(this.ee);function h(e,t){l.emit("newURL",[""+window.location,t])}function g(){n++,r=window.location.hash,this[et]=(0,S.t)()}function m(){n--,window.location.hash!==r&&h(0,!0);var e=(0,S.t)();this[Je]=~~this[Je]+e-this[et],this[rt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(et,g),a.on(tt,g),o.on(tt,g),this.ee.on(rt,m),a.on($e,m),o.on($e,m),this.ee.on("fn-err",((...t)=>{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)("function-err",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([et,rt,"xhr-resolved"],this.featureName),u.buffer([et],this.featureName),s.buffer(["setTimeout"+Ye,"clearTimeout"+Ze,et],this.featureName),c.buffer([et,"new-xhr","send-xhr"+Ze],this.featureName),d.buffer([Qe+Ze,Qe+"-done",Qe+Xe+Ze,Qe+Xe+Ye],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([et],this.featureName),a.buffer(["propagate",tt,$e,"executor-err","resolve"+Ze],this.featureName),i.buffer([et,"no-"+et],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),v(d,Qe+Ze),v(d,Qe+"-done"),v(o,"new-jsonp"),v(o,"jsonp-end"),v(o,"cb-start"),l.on("pushState-end",h),l.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,T.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var it=i(3333);class ot extends b{static featureName=it.TZ;constructor(e,t=!0){super(e,it.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled,e.init.performance.resources.enabled];if(p.RI&&(e.init.user_actions.enabled&&(it.Zp.forEach((e=>(0,T.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=>{const t=(0,v.s)((e=>{(0,x.p)("ua",[e],void 0,this.featureName,this.ee)}),500,{leading:!0});(0,T.sp)(e,t)}))),e.init.performance.resources.enabled&&p.gm.PerformanceObserver?.supportedEntryTypes.includes("resource"))){new PerformanceObserver((e=>{e.getEntries().forEach((e=>{(0,x.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)}))})).observe({type:"resource",buffered:!0})}r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var at=i(993),st=i(3785);class ct extends b{static featureName=at.TZ;constructor(e,t=!0){super(e,at.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,st.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t){super(),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[he,w,N,Ne,Oe,O,M,ot,ct,Pe,nt],loaderType:"spa"})})()})();</script> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v24.2) - https://yoast.com/wordpress/plugins/seo/ --> <meta name="description" content="Solving problems in energy, combustion, fluids, lasers, materials science, robotics and control systems, and nuclear security" /> <link rel="canonical" href="https://engineering.princeton.edu/departments/mechanical-and-aerospace-engineering" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Princeton Engineering - Mechanical and Aerospace Engineering" /> <meta property="og:description" content="Solving problems in energy, combustion, fluids, lasers, materials science, robotics and control systems, and nuclear security" /> <meta property="og:url" content="https://engineering.princeton.edu/departments/mechanical-and-aerospace-engineering" /> <meta property="og:site_name" content="Princeton Engineering" /> <meta property="article:publisher" content="https://www.facebook.com/princetonengineering/" /> <meta property="article:modified_time" content="2024-10-19T11:45:09+00:00" /> <meta property="og:image" content="https://engineering.princeton.edu/wp-content/uploads/2021/08/mechanical-and-aerospace-engineering-2.jpg" /> <meta property="og:image:width" content="1200" /> <meta property="og:image:height" content="675" /> <meta property="og:image:type" content="image/jpeg" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="@EPrinceton" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://engineering.princeton.edu/departments/mechanical-and-aerospace-engineering","url":"https://engineering.princeton.edu/departments/mechanical-and-aerospace-engineering","name":"Mechanical and Aerospace Engineering- Princeton Engineering","isPartOf":{"@id":"https://engineering.princeton.edu/#website"},"primaryImageOfPage":{"@id":"https://engineering.princeton.edu/departments/mechanical-and-aerospace-engineering#primaryimage"},"image":{"@id":"https://engineering.princeton.edu/departments/mechanical-and-aerospace-engineering#primaryimage"},"thumbnailUrl":"https://engineering.princeton.edu/wp-content/uploads/2021/08/mechanical-and-aerospace-engineering-2.jpg","datePublished":"2021-08-20T13:24:23+00:00","dateModified":"2024-10-19T11:45:09+00:00","description":"Solving problems in energy, combustion, fluids, lasers, materials science, robotics and control systems, and nuclear security","breadcrumb":{"@id":"https://engineering.princeton.edu/departments/mechanical-and-aerospace-engineering#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://engineering.princeton.edu/departments/mechanical-and-aerospace-engineering"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://engineering.princeton.edu/departments/mechanical-and-aerospace-engineering#primaryimage","url":"https://engineering.princeton.edu/wp-content/uploads/2021/08/mechanical-and-aerospace-engineering-2.jpg","contentUrl":"https://engineering.princeton.edu/wp-content/uploads/2021/08/mechanical-and-aerospace-engineering-2.jpg","width":1200,"height":675,"caption":"Student uses drill press while others observe."},{"@type":"BreadcrumbList","@id":"https://engineering.princeton.edu/departments/mechanical-and-aerospace-engineering#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://engineering.princeton.edu/"},{"@type":"ListItem","position":2,"name":"Mechanical and Aerospace Engineering"}]},{"@type":"WebSite","@id":"https://engineering.princeton.edu/#website","url":"https://engineering.princeton.edu/","name":"Princeton Engineering","description":"","publisher":{"@id":"https://engineering.princeton.edu/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://engineering.princeton.edu/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https://engineering.princeton.edu/#organization","name":"Princeton Engineering | Princeton University","url":"https://engineering.princeton.edu/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://engineering.princeton.edu/#/schema/logo/image/","url":"https://engineering.princeton.edu/wp-content/uploads/2024/10/Princeton-Engineering-Social-Media-5-X-Profile-Icon.png","contentUrl":"https://engineering.princeton.edu/wp-content/uploads/2024/10/Princeton-Engineering-Social-Media-5-X-Profile-Icon.png","width":500,"height":500,"caption":"Princeton Engineering | Princeton University"},"image":{"@id":"https://engineering.princeton.edu/#/schema/logo/image/"},"sameAs":["https://www.facebook.com/princetonengineering/","https://x.com/EPrinceton","https://www.instagram.com/eprinceton/","https://www.linkedin.com/school/princetonengineering/","https://www.youtube.com/user/princetonengineering","https://en.m.wikipedia.org/wiki/Princeton_University_School_of_Engineering_and_Applied_Science"]}]}</script> <!-- / Yoast SEO Premium plugin. --> <title>Mechanical and Aerospace Engineering- Princeton Engineering</title> <link rel='dns-prefetch' href='//engineering.princeton.edu' /> <link rel='dns-prefetch' href='//kit.fontawesome.com' /> <link rel='dns-prefetch' href='//cdn.jsdelivr.net' /> <link rel='dns-prefetch' href='//www.googletagmanager.com' /> <link rel="alternate" type="application/rss+xml" title="Princeton Engineering » Feed" href="https://engineering.princeton.edu/feed" /> <link rel="alternate" type="application/rss+xml" title="Princeton Engineering » Comments Feed" href="https://engineering.princeton.edu/comments/feed" /> <script> window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/engineering.princeton.edu\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.7.1"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); </script> <style id='wp-block-group-inline-css'> .wp-block-group{box-sizing:border-box}:where(.wp-block-group.wp-block-group-is-layout-constrained){position:relative} </style> <style id='wp-block-post-featured-image-inline-css'> .wp-block-post-featured-image{margin-left:0;margin-right:0}.wp-block-post-featured-image a{display:block;height:100%}.wp-block-post-featured-image :where(img){box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom;width:100%}.wp-block-post-featured-image.alignfull img,.wp-block-post-featured-image.alignwide img{width:100%}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim{background-color:#000;inset:0;position:absolute}.wp-block-post-featured-image{position:relative}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-gradient{background-color:initial}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-0{opacity:0}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-10{opacity:.1}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-20{opacity:.2}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-30{opacity:.3}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-40{opacity:.4}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-50{opacity:.5}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-60{opacity:.6}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-70{opacity:.7}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-80{opacity:.8}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-90{opacity:.9}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-100{opacity:1}.wp-block-post-featured-image:where(.alignleft,.alignright){width:100%} </style> <style id='wp-block-post-title-inline-css'> .wp-block-post-title{box-sizing:border-box;word-break:break-word}.wp-block-post-title :where(a){display:inline-block;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-decoration:inherit} </style> <style id='wp-block-paragraph-inline-css'> .is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg} </style> <style id='wp-block-button-inline-css'> .wp-block-button__link{box-sizing:border-box;cursor:pointer;display:inline-block;text-align:center;word-break:break-word}.wp-block-button__link.aligncenter{text-align:center}.wp-block-button__link.alignright{text-align:right}:where(.wp-block-button__link){border-radius:9999px;box-shadow:none;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-button[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons>.wp-block-button.has-custom-width{max-width:none}.wp-block-buttons>.wp-block-button.has-custom-width .wp-block-button__link{width:100%}.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-buttons>.wp-block-button.wp-block-button__width-25{width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-buttons>.wp-block-button.wp-block-button__width-75{width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-buttons>.wp-block-button.wp-block-button__width-100{flex-basis:100%;width:100%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-25{width:25%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-50{width:50%}.wp-block-buttons.is-vertical>.wp-block-button.wp-block-button__width-75{width:75%}.wp-block-button.is-style-squared,.wp-block-button__link.wp-block-button.is-style-squared{border-radius:0}.wp-block-button.no-border-radius,.wp-block-button__link.no-border-radius{border-radius:0!important}:root :where(.wp-block-button .wp-block-button__link.is-style-outline),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link){border:2px solid;padding:.667em 1.333em}:root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color)),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-text-color)){color:currentColor}:root :where(.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background)),:root :where(.wp-block-button.is-style-outline>.wp-block-button__link:not(.has-background)){background-color:initial;background-image:none} </style> <style id='twentytwentyfour-button-style-outline-inline-css'> .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color, .has-background):hover { background-color: var(--wp--preset--color--contrast-2, var(--wp--preset--color--contrast, transparent)); color: var(--wp--preset--color--base); border-color: var(--wp--preset--color--contrast-2, var(--wp--preset--color--contrast, currentColor)); } </style> <style id='wp-block-buttons-inline-css'> .wp-block-buttons.is-vertical{flex-direction:column}.wp-block-buttons.is-vertical>.wp-block-button:last-child{margin-bottom:0}.wp-block-buttons>.wp-block-button{display:inline-block;margin:0}.wp-block-buttons.is-content-justification-left{justify-content:flex-start}.wp-block-buttons.is-content-justification-left.is-vertical{align-items:flex-start}.wp-block-buttons.is-content-justification-center{justify-content:center}.wp-block-buttons.is-content-justification-center.is-vertical{align-items:center}.wp-block-buttons.is-content-justification-right{justify-content:flex-end}.wp-block-buttons.is-content-justification-right.is-vertical{align-items:flex-end}.wp-block-buttons.is-content-justification-space-between{justify-content:space-between}.wp-block-buttons.aligncenter{text-align:center}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-button.aligncenter{margin-left:auto;margin-right:auto;width:100%}.wp-block-buttons[style*=text-decoration] .wp-block-button,.wp-block-buttons[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-button.aligncenter{text-align:center} </style> <style id='engineering-program-information-style-inline-css'> .block__notes{background-color:rgba(255,0,0,.1);padding:20px}.block__notes__title{font-family:inherit;font-size:16px!important;font-weight:700;margin:0!important}.block__notes__description{font-size:12px;font-weight:300} </style> <style id='engineering-news-style-inline-css'> </style> <style id='engineering-events-style-inline-css'> </style> <style id='engineering-person-style-inline-css'> </style> <style id='wp-block-post-content-inline-css'> .wp-block-post-content{display:flow-root} </style> <style id='wp-emoji-styles-inline-css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <style id='wp-block-library-inline-css'> :root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color)}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}.has-text-align-center{text-align:center}.has-text-align-left{text-align:left}.has-text-align-right{text-align:right}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.screen-reader-text:focus{background-color:#ddd;clip:auto!important;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style*=border-top-color]){border-top-style:solid}html :where([style*=border-right-color]){border-right-style:solid}html :where([style*=border-bottom-color]){border-bottom-style:solid}html :where([style*=border-left-color]){border-left-style:solid}html :where([style*=border-width]){border-style:solid}html :where([style*=border-top-width]){border-top-style:solid}html :where([style*=border-right-width]){border-right-style:solid}html :where([style*=border-bottom-width]){border-bottom-style:solid}html :where([style*=border-left-width]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} </style> <link rel='stylesheet' id='engineering-block-global-style-css' href='https://engineering.princeton.edu/wp-content/plugins/engineering/engineering-block-global-style.css?ver=1739840136' media='all' /> <style id='global-styles-inline-css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--base: #f9f9f9;--wp--preset--color--base-2: #ffffff;--wp--preset--color--base-3: #00000025;--wp--preset--color--contrast-yellow: #FEF9C3;--wp--preset--color--contrast-green: #EEFDF2;--wp--preset--color--contrast-blue: #EDF5FF;--wp--preset--color--contrast-red: #FEF0F0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--gradient--gradient-1: linear-gradient(to bottom, #cfcabe 0%, #F9F9F9 100%);--wp--preset--gradient--gradient-2: linear-gradient(to bottom, #C2A990 0%, #F9F9F9 100%);--wp--preset--gradient--gradient-3: linear-gradient(to bottom, #D8613C 0%, #F9F9F9 100%);--wp--preset--gradient--gradient-4: linear-gradient(to bottom, #B1C5A4 0%, #F9F9F9 100%);--wp--preset--gradient--gradient-5: linear-gradient(to bottom, #B5BDBC 0%, #F9F9F9 100%);--wp--preset--gradient--gradient-6: linear-gradient(to bottom, #A4A4A4 0%, #F9F9F9 100%);--wp--preset--gradient--gradient-7: linear-gradient(to bottom, #cfcabe 50%, #F9F9F9 50%);--wp--preset--gradient--gradient-8: linear-gradient(to bottom, #C2A990 50%, #F9F9F9 50%);--wp--preset--gradient--gradient-9: linear-gradient(to bottom, #D8613C 50%, #F9F9F9 50%);--wp--preset--gradient--gradient-10: linear-gradient(to bottom, #B1C5A4 50%, #F9F9F9 50%);--wp--preset--gradient--gradient-11: linear-gradient(to bottom, #B5BDBC 50%, #F9F9F9 50%);--wp--preset--gradient--gradient-12: linear-gradient(to bottom, #A4A4A4 50%, #F9F9F9 50%);--wp--preset--font-size--small: 0.9rem;--wp--preset--font-size--medium: 1.05rem;--wp--preset--font-size--large: clamp(1.39rem, 1.39rem + ((1vw - 0.2rem) * 0.767), 1.85rem);--wp--preset--font-size--x-large: clamp(1.85rem, 1.85rem + ((1vw - 0.2rem) * 1.083), 2.5rem);--wp--preset--font-size--xx-large: clamp(2.5rem, 2.5rem + ((1vw - 0.2rem) * 1.283), 3.27rem);--wp--preset--font-family--body: "Inter", sans-serif;--wp--preset--font-family--heading: Cardo;--wp--preset--font-family--system-sans-serif: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;--wp--preset--font-family--system-serif: Iowan Old Style, Apple Garamond, Baskerville, Times New Roman, Droid Serif, Times, Source Serif Pro, serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;--wp--preset--spacing--20: min(1.5rem, 2vw);--wp--preset--spacing--30: min(2.5rem, 3vw);--wp--preset--spacing--40: min(4rem, 5vw);--wp--preset--spacing--50: min(6.5rem, 8vw);--wp--preset--spacing--60: min(10.5rem, 13vw);--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--spacing--10: 1rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:root { --wp--style--global--content-size: 620px;--wp--style--global--wide-size: 1280px; }:where(body) { margin: 0; }.wp-site-blocks { padding-top: var(--wp--style--root--padding-top); padding-bottom: var(--wp--style--root--padding-bottom); }.has-global-padding { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }.has-global-padding > .alignfull { margin-right: calc(var(--wp--style--root--padding-right) * -1); margin-left: calc(var(--wp--style--root--padding-left) * -1); }.has-global-padding :where(:not(.alignfull.is-layout-flow) > .has-global-padding:not(.wp-block-block, .alignfull)) { padding-right: 0; padding-left: 0; }.has-global-padding :where(:not(.alignfull.is-layout-flow) > .has-global-padding:not(.wp-block-block, .alignfull)) > .alignfull { margin-left: 0; margin-right: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.wp-site-blocks) > * { margin-block-start: 1.2rem; margin-block-end: 0; }:where(.wp-site-blocks) > :first-child { margin-block-start: 0; }:where(.wp-site-blocks) > :last-child { margin-block-end: 0; }:root { --wp--style--block-gap: 1.2rem; }:root :where(.is-layout-flow) > :first-child{margin-block-start: 0;}:root :where(.is-layout-flow) > :last-child{margin-block-end: 0;}:root :where(.is-layout-flow) > *{margin-block-start: 1.2rem;margin-block-end: 0;}:root :where(.is-layout-constrained) > :first-child{margin-block-start: 0;}:root :where(.is-layout-constrained) > :last-child{margin-block-end: 0;}:root :where(.is-layout-constrained) > *{margin-block-start: 1.2rem;margin-block-end: 0;}:root :where(.is-layout-flex){gap: 1.2rem;}:root :where(.is-layout-grid){gap: 1.2rem;}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{background-color: var(--wp--preset--color--base);color: var(--wp--preset--color--contrast);font-family: var(--wp--preset--font-family--body);font-size: var(--wp--preset--font-size--medium);font-style: normal;font-weight: 400;line-height: 1.55;--wp--style--root--padding-top: 0px;--wp--style--root--padding-right: var(--wp--preset--spacing--50);--wp--style--root--padding-bottom: 0px;--wp--style--root--padding-left: var(--wp--preset--spacing--50);}a:where(:not(.wp-element-button)){color: var(--wp--preset--color--contrast);text-decoration: underline;}:root :where(a:where(:not(.wp-element-button)):hover){text-decoration: none;}h1, h2, h3, h4, h5, h6{color: var(--wp--preset--color--contrast);font-family: var(--wp--preset--font-family--heading);font-weight: 400;line-height: 1.2;}h1{font-size: var(--wp--preset--font-size--xx-large);line-height: 1.15;}h2{font-size: var(--wp--preset--font-size--x-large);}h3{font-size: var(--wp--preset--font-size--large);}h4{font-size: clamp(1.1rem, 1.1rem + ((1vw - 0.2rem) * 0.767), 1.5rem);}h5{font-size: var(--wp--preset--font-size--medium);}h6{font-size: var(--wp--preset--font-size--small);}:root :where(.wp-element-button, .wp-block-button__link){background-color: var(--wp--preset--color--contrast);border-radius: .33rem;border-color: var(--wp--preset--color--contrast);border-width: 0;color: var(--wp--preset--color--base);font-family: inherit;font-size: var(--wp--preset--font-size--small);font-style: normal;font-weight: 500;line-height: inherit;padding-top: 0.6rem;padding-right: 1rem;padding-bottom: 0.6rem;padding-left: 1rem;text-decoration: none;}:root :where(.wp-element-button:hover, .wp-block-button__link:hover){background-color: var(--wp--preset--color--contrast-2);border-color: var(--wp--preset--color--contrast-2);color: var(--wp--preset--color--base);}:root :where(.wp-element-button:focus, .wp-block-button__link:focus){background-color: var(--wp--preset--color--contrast-2);border-color: var(--wp--preset--color--contrast-2);color: var(--wp--preset--color--base);outline-color: var(--wp--preset--color--contrast);outline-offset: 2px;outline-style: dotted;outline-width: 1px;}:root :where(.wp-element-button:active, .wp-block-button__link:active){background-color: var(--wp--preset--color--contrast);color: var(--wp--preset--color--base);}:root :where(.wp-element-caption, .wp-block-audio figcaption, .wp-block-embed figcaption, .wp-block-gallery figcaption, .wp-block-image figcaption, .wp-block-table figcaption, .wp-block-video figcaption){color: var(--wp--preset--color--contrast-2);font-family: var(--wp--preset--font-family--body);font-size: 0.8rem;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-base-color{color: var(--wp--preset--color--base) !important;}.has-base-2-color{color: var(--wp--preset--color--base-2) !important;}.has-base-3-color{color: var(--wp--preset--color--base-3) !important;}.has-contrast-yellow-color{color: var(--wp--preset--color--contrast-yellow) !important;}.has-contrast-green-color{color: var(--wp--preset--color--contrast-green) !important;}.has-contrast-blue-color{color: var(--wp--preset--color--contrast-blue) !important;}.has-contrast-red-color{color: var(--wp--preset--color--contrast-red) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-base-background-color{background-color: var(--wp--preset--color--base) !important;}.has-base-2-background-color{background-color: var(--wp--preset--color--base-2) !important;}.has-base-3-background-color{background-color: var(--wp--preset--color--base-3) !important;}.has-contrast-yellow-background-color{background-color: var(--wp--preset--color--contrast-yellow) !important;}.has-contrast-green-background-color{background-color: var(--wp--preset--color--contrast-green) !important;}.has-contrast-blue-background-color{background-color: var(--wp--preset--color--contrast-blue) !important;}.has-contrast-red-background-color{background-color: var(--wp--preset--color--contrast-red) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-base-border-color{border-color: var(--wp--preset--color--base) !important;}.has-base-2-border-color{border-color: var(--wp--preset--color--base-2) !important;}.has-base-3-border-color{border-color: var(--wp--preset--color--base-3) !important;}.has-contrast-yellow-border-color{border-color: var(--wp--preset--color--contrast-yellow) !important;}.has-contrast-green-border-color{border-color: var(--wp--preset--color--contrast-green) !important;}.has-contrast-blue-border-color{border-color: var(--wp--preset--color--contrast-blue) !important;}.has-contrast-red-border-color{border-color: var(--wp--preset--color--contrast-red) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-gradient-1-gradient-background{background: var(--wp--preset--gradient--gradient-1) !important;}.has-gradient-2-gradient-background{background: var(--wp--preset--gradient--gradient-2) !important;}.has-gradient-3-gradient-background{background: var(--wp--preset--gradient--gradient-3) !important;}.has-gradient-4-gradient-background{background: var(--wp--preset--gradient--gradient-4) !important;}.has-gradient-5-gradient-background{background: var(--wp--preset--gradient--gradient-5) !important;}.has-gradient-6-gradient-background{background: var(--wp--preset--gradient--gradient-6) !important;}.has-gradient-7-gradient-background{background: var(--wp--preset--gradient--gradient-7) !important;}.has-gradient-8-gradient-background{background: var(--wp--preset--gradient--gradient-8) !important;}.has-gradient-9-gradient-background{background: var(--wp--preset--gradient--gradient-9) !important;}.has-gradient-10-gradient-background{background: var(--wp--preset--gradient--gradient-10) !important;}.has-gradient-11-gradient-background{background: var(--wp--preset--gradient--gradient-11) !important;}.has-gradient-12-gradient-background{background: var(--wp--preset--gradient--gradient-12) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-xx-large-font-size{font-size: var(--wp--preset--font-size--xx-large) !important;}.has-body-font-family{font-family: var(--wp--preset--font-family--body) !important;}.has-heading-font-family{font-family: var(--wp--preset--font-family--heading) !important;}.has-system-sans-serif-font-family{font-family: var(--wp--preset--font-family--system-sans-serif) !important;}.has-system-serif-font-family{font-family: var(--wp--preset--font-family--system-serif) !important;}:where(.wp-site-blocks *:focus){outline-width:2px;outline-style:solid} :root :where(.wp-block-buttons-is-layout-flow) > :first-child{margin-block-start: 0;}:root :where(.wp-block-buttons-is-layout-flow) > :last-child{margin-block-end: 0;}:root :where(.wp-block-buttons-is-layout-flow) > *{margin-block-start: 0.7rem;margin-block-end: 0;}:root :where(.wp-block-buttons-is-layout-constrained) > :first-child{margin-block-start: 0;}:root :where(.wp-block-buttons-is-layout-constrained) > :last-child{margin-block-end: 0;}:root :where(.wp-block-buttons-is-layout-constrained) > *{margin-block-start: 0.7rem;margin-block-end: 0;}:root :where(.wp-block-buttons-is-layout-flex){gap: 0.7rem;}:root :where(.wp-block-buttons-is-layout-grid){gap: 0.7rem;} :root :where(.wp-block-post-featured-image img, .wp-block-post-featured-image .block-editor-media-placeholder, .wp-block-post-featured-image .wp-block-post-featured-image__overlay){border-radius: var(--wp--preset--spacing--20);} :root :where(.wp-block-post-title a:where(:not(.wp-element-button))){text-decoration: none;} :root :where(.wp-block-post-title a:where(:not(.wp-element-button)):hover){text-decoration: underline;} </style> <style id='core-block-supports-inline-css'> .wp-container-core-buttons-is-layout-1{flex-wrap:nowrap;justify-content:center;} </style> <style id='wp-block-template-skip-link-inline-css'> .skip-link.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; } .skip-link.screen-reader-text:focus { background-color: #eee; clip: auto !important; clip-path: none; color: #444; display: block; font-size: 1em; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; } </style> <link rel='stylesheet' id='twentytwentyfour-style-css' href='https://engineering.princeton.edu/wp-content/themes/twentytwentyfour/style.css?ver=6.7.1' media='all' /> <link rel='stylesheet' id='engineering-style-v2-css' href='https://engineering.princeton.edu/wp-content/themes/engineering/style.css?ver=1739840141' media='all' /> <script src="https://engineering.princeton.edu/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script src="https://engineering.princeton.edu/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <script defer crossorigin="anonymous" src="https://kit.fontawesome.com/8299227453.js" id="font-awesome-official-js"></script> <!-- Google tag (gtag.js) snippet added by Site Kit --> <!-- Google Analytics snippet added by Site Kit --> <script src="https://www.googletagmanager.com/gtag/js?id=G-LKJSE43ML1" id="google_gtagjs-js" async></script> <script id="google_gtagjs-js-after"> window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);} gtag("set","linker",{"domains":["engineering.princeton.edu"]}); gtag("js", new Date()); gtag("set", "developer_id.dZTNiMT", true); gtag("config", "G-LKJSE43ML1"); </script> <!-- End Google tag (gtag.js) snippet added by Site Kit --> <link rel="https://api.w.org/" href="https://engineering.princeton.edu/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://engineering.princeton.edu/wp-json/wp/v2/department/195" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://engineering.princeton.edu/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.7.1" /> <link rel='shortlink' href='https://engineering.princeton.edu/?p=195' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://engineering.princeton.edu/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fengineering.princeton.edu%2Fdepartments%2Fmechanical-and-aerospace-engineering" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://engineering.princeton.edu/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fengineering.princeton.edu%2Fdepartments%2Fmechanical-and-aerospace-engineering&format=xml" /> <meta name="generator" content="Site Kit by Google 1.144.0" /> <script type='text/javascript'> document.addEventListener('DOMContentLoaded', function() { var globalStyles = document.getElementById('global-styles-inline-css'); if (globalStyles) { globalStyles.parentNode.removeChild(globalStyles); } }); </script> <!-- Google Tag Manager --> <script> (function(w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-MMWLX8H3'); </script> <!-- End Google Tag Manager --> <link rel="icon" href="/wp-content/themes/engineering/assets/images/favicon.ico" type="image/x-icon"><link rel="shortcut icon" href="/wp-content/themes/engineering/assets/images/favicon.ico" type="image/x-icon"><style class='wp-fonts-local'> @font-face{font-family:Inter;font-style:normal;font-weight:300 900;font-display:fallback;src:url('https://engineering.princeton.edu/wp-content/themes/twentytwentyfour/assets/fonts/inter/Inter-VariableFont_slnt,wght.woff2') format('woff2');font-stretch:normal;} @font-face{font-family:Cardo;font-style:normal;font-weight:400;font-display:fallback;src:url('https://engineering.princeton.edu/wp-content/themes/twentytwentyfour/assets/fonts/cardo/cardo_normal_400.woff2') format('woff2');} @font-face{font-family:Cardo;font-style:italic;font-weight:400;font-display:fallback;src:url('https://engineering.princeton.edu/wp-content/themes/twentytwentyfour/assets/fonts/cardo/cardo_italic_400.woff2') format('woff2');} @font-face{font-family:Cardo;font-style:normal;font-weight:700;font-display:fallback;src:url('https://engineering.princeton.edu/wp-content/themes/twentytwentyfour/assets/fonts/cardo/cardo_normal_700.woff2') format('woff2');} </style> <link rel="icon" href="https://engineering.princeton.edu/wp-content/uploads/2024/10/cropped-eng-favicon-32x32.png" sizes="32x32" /> <link rel="icon" href="https://engineering.princeton.edu/wp-content/uploads/2024/10/cropped-eng-favicon-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://engineering.princeton.edu/wp-content/uploads/2024/10/cropped-eng-favicon-180x180.png" /> <meta name="msapplication-TileImage" content="https://engineering.princeton.edu/wp-content/uploads/2024/10/cropped-eng-favicon-270x270.png" /> </head> <body class="department-template department-template-core-areas single single-department postid-195 wp-embed-responsive"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MMWLX8H3" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div class="wp-site-blocks"><header class="wp-block-template-part"> <div class="wp-block-group engineering-site-header is-layout-flow wp-block-group-is-layout-flow"> <div class="wp-block-group engineering-site-header__content"> <div class="engineering-modal" x-data="{ open: false, searchOpen: false }"> <div class="engineering-navbar"> <div class="nav-item menu-item"> <a tabindex="0" role="button" @click="open = !open" @keydown.enter="open = !open" :aria-expanded="open ? 'true' : 'false'" :class="{ 'is-active': open }" > <i class="fa-solid fa-bars"></i> <div class="name-and-description"> <p class="name"><span>Menu</span></p> </div> </a> </div> <h1 class="engineering-logo"> <a href="/">School of Engineering & Applied Science</a> </h1> <div class="engineering-search"> <div class="nav-item search-item"> <a tabindex="0" role="button" @click="searchOpen = !searchOpen" @keydown.enter="searchOpen = !searchOpen" > <div class="name-and-description"> <p class="name"><span>Search</span></p> </div> <i class="fa-solid fa-magnifying-glass"></i> </a> </div> </div> </div> <nav id="engineering_menu" x-data="{ aboutOpen: false, deiOpen: false, undergradOpen: false, gradOpen: false, deptOpen: false, centersOpen: false, moreOpen: false }" x-show="open" @click.outside="open = false" @keydown.enter.outside="open = false" @keydown.esc.window="open = false" x-cloak x-transition > <div class="nav-item first-tier"> <a tabindex="0" role="button" @click="aboutOpen = !aboutOpen" @keydown.enter="aboutOpen = !aboutOpen" :aria-expanded="aboutOpen ? 'true' : 'false'" :class="{ 'is-active': aboutOpen }" > <div class="name-and-description"> <p class="name"><span>About</span></p> </div> <i class="fa-solid fa-chevron-right"></i> </a> </div> <section x-show="aboutOpen" @click.outside="aboutOpen = false" @keydown.enter.outside="aboutOpen = false" x-transition > <div class="column"> <p class="nav-items-group-title">School Information</p> <div class="nav-item second-tier"> <a href="/about"> <div class="name-and-description"> <p class="name"><span>Overview</span></p> <p class="description"> Your first points of contact with Princeton Engineering </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/about/leadership-and-staff"> <div class="name-and-description"> <p class="name"><span>Leadership and Staff</span></p> <p class="description">Meet our administrative team</p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/about/leadership-council"> <div class="name-and-description"> <p class="name"><span>Leadership Council</span></p> <p class="description"> Accomplished leaders who serve as advisors to the dean </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/about/strategic-planning"> <div class="name-and-description"> <p class="name"><span>Strategic Planning</span></p> <p class="description">A bold vision for the next decade</p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/princeton-engineers"> <div class="name-and-description"> <p class="name"><span>Princeton Engineers</span></p> <p class="description">Celebrating our community</p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/about/by-the-numbers"> <div class="name-and-description"> <p class="name"><span>By the Numbers</span></p> <p class="description">Brief facts about the school</p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/about/new-buildings"> <div class="name-and-description"> <p class="name"><span>New Buildings</span></p> <p class="description">New buildings will enable greater impact</p> </div> </a> </div> </div> <div class="column"> <p class="nav-items-group-title">Information for</p> <div class="nav-item second-tier"> <a href="/about/prospective-students"> <div class="name-and-description"> <p class="name"><span>Prospective Students</span></p> <p class="description">Why become a Princeton Engineer</p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/about/corporate-partners"> <div class="name-and-description"> <p class="name"><span>Corporate Partners</span></p> <p class="description"> Research partnerships, licensing, and recruiting </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/about/entrepreneurs"> <div class="name-and-description"> <p class="name"><span>Entrepreneurs</span></p> <p class="description"> Helping students turn inspiration into action </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/about/alumni"> <div class="name-and-description"> <p class="name"><span>Alumni</span></p> <p class="description"> Stay connected to Princeton Engineering </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/about/visitors"> <div class="name-and-description"> <p class="name"><span>Visitors</span></p> <p class="description">Directions, and tour information</p> </div> </a> </div> </div> </section> <div class="nav-item first-tier"> <a tabindex="0" role="button" @click="deiOpen = !deiOpen" @keydown.enter="deiOpen = !deiOpen" :aria-expanded="deiOpen ? 'true' : 'false'" :class="{ 'is-active': deiOpen }" > <div class="name-and-description"> <p class="name"><span>Diversity & Inclusion</span></p> </div> <i class="fa-solid fa-chevron-right"></i> </a> </div> <section x-show="deiOpen" @click.outside="deiOpen = false" @keydown.enter.outside="deiOpen = false" x-transition > <div class="column"> <p class="nav-items-group-title">General Information</p> <div class="nav-item second-tier"> <a href="/diversity-and-inclusion"> <div class="name-and-description"> <p class="name"><span>Diversity and Inclusion</span></p> <p class="description"> Our commitment to diversity and inclusion </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/diversity-and-inclusion/dashboard"> <div class="name-and-description"> <p class="name"><span>Diversity Dashboard</span></p> <p class="description">Demographic information and trends</p> </div> </a> </div> </div> <div class="column"> <p class="nav-items-group-title">Resources</p> <div class="nav-item second-tier"> <a href="/diversity-and-inclusion/programs"> <div class="name-and-description"> <p class="name"> <span> Diversity and Inclusion Programs and Resources</span> </p> <p class="description"> Fostering greater diversity in science and engineering </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/diversity-and-inclusion/events"> <div class="name-and-description"> <p class="name"> <span>Diversity and Inclusion Events</span> </p> <p class="description"> Professional, social opportunities for the Princeton community </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/diversity-and-inclusion/newsletter-archive"> <div class="name-and-description"> <p class="name"><span>Newsletter Archive</span></p> <p class="description"> Quarterly publication of the Office of Diversity and Inclusion at Princeton Engineering </p> </div> </a> </div> </div> </section> <div class="nav-item first-tier"> <a tabindex="0" role="button" @click="undergradOpen = !undergradOpen" @keydown.enter="undergradOpen = !undergradOpen" :aria-expanded="undergradOpen ? 'true' : 'false'" :class="{ 'is-active': undergradOpen }" > <div class="name-and-description"> <p class="name"><span>Undergraduate Studies</span></p> </div> <i class="fa-solid fa-chevron-right"></i> </a> </div> <section x-show="undergradOpen" @click.outside="undergradOpen = false" @keydown.enter.outside="undergradOpen = false" x-transition > <div class="column"> <p class="nav-items-group-title">General information</p> <div class="nav-item second-tier"> <a href="/undergraduate-studies"> <div class="name-and-description"> <p class="name"><span>Overview</span></p> <p class="description"> Rigorous foundation, hands-on experience, liberal arts context </p> </div> </a> </div> <div x-data="{ toursOpen: false}" x-cloak> <div class="nav-item second-tier"> <a tabindex="0" role="button" @click="toursOpen = !toursOpen" @keydown.enter="toursOpen = !toursOpen" :aria-expanded="toursOpen ? 'true' : 'false'" :class="{ 'is-active': toursOpen }" > <div class="name-and-description"> <p class="name"><span>Admission and Tours</span></p> <p class="description">Sign up for a tour</p> </div> <i class="fa-solid fa-chevron-right"></i> </a> </div> <section x-show="toursOpen" @click.outside="toursOpen = false" @keydown.enter.outside="toursOpen = false" x-transition > <div class="nav-item third-tier"> <a href="/undergraduate-studies/admission-and-tours"> <div class="name-and-description"> <p class="name"> <span>Admissions & Tours Overview</span> </p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/undergraduate-studies/admission-and-tours/prospective-students-faq" > <div class="name-and-description"> <p class="name"><span>Prospective Students FAQ</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/undergraduate-studies/admission-and-tours/high-school-guidance" > <div class="name-and-description"> <p class="name"> <span>Guidance for high school students</span> </p> </div> </a> </div> </section> </div> <div x-data="{ academicsOpen: false}" x-cloak> <div class="nav-item second-tier"> <a tabindex="0" role="button" @click="academicsOpen = !academicsOpen" @keydown.enter="academicsOpen = !academicsOpen" :aria-expanded="academicsOpen ? 'true' : 'false'" :class="{ 'is-active': academicsOpen }" > <div class="name-and-description"> <p class="name"><span>Academics</span></p> <p class="description"> Six departments offer BSE degrees; one also offers A.B </p> </div> <i class="fa-solid fa-chevron-right"></i> </a> </div> <section x-show="academicsOpen" @click.outside="academicsOpen = false" @keydown.enter.outside="academicsOpen = false" x-transition > <div class="nav-item third-tier"> <a href="/undergraduate-studies/concentrations"> <div class="name-and-description"> <p class="name"><span>Academics Overview</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/undergraduate-studies/abet-accreditation"> <div class="name-and-description"> <p class="name"><span>ABET Accreditation</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/undergraduate-studies/certificate-programs"> <div class="name-and-description"> <p class="name"><span>Certificate programs</span></p> </div> </a> </div> </section> </div> </div> <div class="column"> <p class="nav-items-group-title">For current students</p> <div x-data="{ advisingOpen: false}" x-cloak> <div class="nav-item second-tier"> <a tabindex="0" role="button" @click="advisingOpen = !advisingOpen" @keydown.enter="advisingOpen = !advisingOpen" :aria-expanded="advisingOpen ? 'true' : 'false'" :class="{ 'is-active': advisingOpen }" > <div class="name-and-description"> <p class="name"><span>Advising</span></p> <p class="description">We are here to help</p> </div> <i class="fa-solid fa-chevron-right"></i> </a> </div> <section x-show="advisingOpen" @click.outside="advisingOpen = false" @keydown.enter.outside="advisingOpen = false" x-transition > <div class="nav-item third-tier"> <a href="/undergraduate-studies/undergraduate-affairs-office" ><div class="name-and-description"> <p class="name"><span>Advising Overview</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/undergraduate-studies/first-year-advising" ><div class="name-and-description"> <p class="name"><span>First-Year Advising</span></p> </div> </a> </div> <div class="nav-item fourth-tier"> <a href="/undergraduate-studies/first-year-advising/degree-requirements" ><div class="name-and-description"> <p class="name"><span>Degree Requirements</span></p> </div> </a> </div> <div class="nav-item fourth-tier"> <a href="/undergraduate-studies/first-year-advising/first-year-faq" ><div class="name-and-description"> <p class="name"> <span> Q and A About the First Year in Engineering</span > </p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/undergraduate-studies/sophomore-senior-advising" ><div class="name-and-description"> <p class="name"><span>Sophomore-Senior Advising</span></p> </div> </a> </div> <div class="nav-item fourth-tier"> <a href="/undergraduate-studies/sophomore-senior-advising/rising-sophomore-faq" ><div class="name-and-description"> <p class="name"><span>Rising Sophomore FAQ</span></p> </div> </a> </div> <div class="nav-item fourth-tier"> <a href="/undergraduate-studies/sophomore-senior-advising/senior-thesis-independent-work-funding" ><div class="name-and-description"> <p class="name"> <span>Senior Thesis/Independent Work Funding</span> </p> </div> </a> </div> <div class="nav-item fourth-tier"> <a href="/undergraduate-studies/sophomore-senior-advising/summer-course-information" ><div class="name-and-description"> <p class="name"><span>Summer Course Information</span></p> </div> </a> </div> <div class="nav-item fourth-tier"> <a href="/undergraduate-studies/sophomore-senior-advising/study-abroad" ><div class="name-and-description"> <p class="name"><span>Study Abroad</span></p> </div> </a> </div> </section> </div> <div x-data="{ careersOpen: false}" x-cloak> <div class="nav-item second-tier"> <a tabindex="0" role="button" @click="careersOpen = !careersOpen" @keydown.enter="careersOpen = !careersOpen" :aria-expanded="careersOpen ? 'true' : 'false'" :class="{ 'is-active': careersOpen }" > <div class="name-and-description"> <p class="name"><span>Careers</span></p> <p class="description"> What do engineering students go on to do? </p> </div> <i class="fa-solid fa-chevron-right"></i> </a> </div> <section x-show="careersOpen" @click.outside="careersOpen = false" @keydown.enter.outside="careersOpen = false" x-transition > <div class="nav-item third-tier"> <a href="/undergraduate-studies/careers/" ><div class="name-and-description"> <p class="name"><span>Careers Overview</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/undergraduate-studies/careers/science-and-technology-fair" ><div class="name-and-description"> <p class="name"> <span>Science and Technology Job Fair</span> </p> </div> </a> </div> </section> </div> <div class="nav-item second-tier"> <a href="/undergraduate-studies/student-organizations"> <div class="name-and-description"> <p class="name"><span>Student Organizations</span></p> <p class="description"> Sixteen groups create community around special interests </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/undergraduate-studies/social-life"> <div class="name-and-description"> <p class="name"><span>Social Life</span></p> <p class="description"> Life outside the EQuad is key to your growth </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/undergraduate-studies/summer-research-experiences"> <div class="name-and-description"> <p class="name"><span>Summer Research Experiences</span></p> <p class="description"> Prepare yourself for graduate school and professional opportunities </p> </div> </a> </div> </div> </section> <div class="nav-item first-tier"> <a tabindex="0" role="button" @click="gradOpen = !gradOpen" @keydown.enter="gradOpen = !gradOpen" :aria-expanded="gradOpen ? 'true' : 'false'" :class="{ 'is-active': gradOpen }" > <div class="name-and-description"> <p class="name"><span>Graduate</span></p> </div> <i class="fa-solid fa-chevron-right"></i> </a> </div> <section x-show="gradOpen" @click.outside="gradOpen = false" @keydown.enter.outside="gradOpen = false" x-transition > <div class="column"> <p class="nav-items-group-title">General information</p> <div class="nav-item second-tier"> <a href="/graduate-studies/prospective-students"> <div class="name-and-description"> <p class="name"><span>Overview</span></p> <p class="description"> Learn to push the boundaries of your field and lead projects </p> </div> </a> </div> <div x-data="{ pathwaysOpen: false}" x-cloak> <div class="nav-item second-tier"> <a tabindex="0" role="button" @click="pathwaysOpen = !pathwaysOpen" @keydown.enter="pathwaysOpen = !pathwaysOpen" :aria-expanded="pathwaysOpen ? 'true' : 'false'" :class="{ 'is-active': pathwaysOpen }" > <div class="name-and-description"> <p class="name"><span>Academic Pathways</span></p> <p class="description"> Meet faculty and grad students, learn about applying </p> </div> <i class="fa-solid fa-chevron-right"></i> </a> </div> <section x-show="pathwaysOpen" @click.outside="pathwaysOpen = false" @keydown.enter.outside="pathwaysOpen = false" x-transition > <div class="nav-item third-tier"> <a href="/graduate-studies/academic-pathways/prospective-graduate-students" > <div class="name-and-description"> <p class="name"> <span> Pathways to Graduate School for Rising College Seniors</span > </p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/graduate-studies/academic-pathways/prospective-faculty" > <div class="name-and-description"> <p class="name"> <span> Princeton Pathway into the Academy Program</span> </p> </div> </a> </div> </section> </div> <div class="nav-item second-tier"> <a href="/graduate-studies/degrees-and-research"> <div class="name-and-description"> <p class="name"><span>Degrees and Research</span></p> <p class="description"> Doctoral programs in six departments cover 40 specialties </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/graduate-studies/princeton-engineers"> <div class="name-and-description"> <p class="name"><span>Princeton Engineers</span></p> <p class="description"> Profiles of current graduate students </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/graduate-studies/funding"> <div class="name-and-description"> <p class="name"><span>Funding</span></p> <p class="description"> Every Ph.D. student receives full funding </p> </div> </a> </div> </div> <div class="column"> <p class="nav-items-group-title">For prospective students</p> <div class="nav-item second-tier"> <a href="/graduate-studies/student-organizations"> <div class="name-and-description"> <p class="name"><span>Student Organizations</span></p> <p class="description"> Several groups cater specifically to engineering grad students </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/graduate-studies/social-life"> <div class="name-and-description"> <p class="name"><span>Social Life</span></p> <p class="description"> An array of opportunities, plus proximity to NYC, Philly </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/graduate-studies/careers"> <div class="name-and-description"> <p class="name"><span>Careers</span></p> <p class="description">Many paths beyond grad school</p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/graduate-studies/faq"> <div class="name-and-description"> <p class="name"><span>FAQ</span></p> <p class="description">Your questions answered</p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/graduate-studies/resources-for-current-students"> <div class="name-and-description"> <p class="name"> <span>Resources for Current Students</span> </p> <p class="description"> Programs to support your academic goals </p> </div> </a> </div> </div> </section> <div class="nav-item first-tier"> <a tabindex="0" role="button" @click="deptOpen = !deptOpen" @keydown.enter="deptOpen = !deptOpen" :aria-expanded="deptOpen ? 'true' : 'false'" :class="{ 'is-active': deptOpen }" > <div class="name-and-description"> <p class="name"><span>Departments</span></p> </div> <i class="fa-solid fa-chevron-right"></i> </a> </div> <section x-show="deptOpen" @click.outside="deptOpen = false" @keydown.enter.outside="deptOpen = false" x-transition > <div class="column"> <div class="nav-item second-tier"> <a href="/departments/chemical-and-biological-engineering"> <div class="name-and-description"> <p class="name"> <span>Chemical and Biological Engineering</span> </p> <p class="description"> Advancing human health, energy, materials science, and industrial processes </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/departments/civil-and-environmental-engineering"> <div class="name-and-description"> <p class="name"> <span>Civil and Environmental Engineering</span> </p> <p class="description"> Fundamental insights into the built and natural environments, and interactions between the two </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/departments/computer-science"> <div class="name-and-description"> <p class="name"><span>Computer Science</span></p> <p class="description"> Leading the field through foundational theory, applications, and societal impact </p> </div> </a> </div> </div> <div class="column"> <div class="nav-item second-tier"> <a href="/departments/electrical-computer-engineering"> <div class="name-and-description"> <p class="name"> <span>Electrical and Computer Engineering</span> </p> <p class="description"> Improving human health, energy systems, computing and communications, and security </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/departments/mechanical-and-aerospace-engineering"> <div class="name-and-description"> <p class="name"> <span>Mechanical and Aerospace Engineering</span> </p> <p class="description"> Solving problems in energy, combustion, fluids, lasers, materials science, robotics and control systems, and nuclear security </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/departments/operations-research-and-financial-engineering" > <div class="name-and-description"> <p class="name"> <span> Operations Research and Financial Engineering</span> </p> <p class="description"> Developing mathematical and computational tools for making decisions under uncertainty </p> </div> </a> </div> </div> </section> <div class="nav-item first-tier"> <a tabindex="0" role="button" @click="centersOpen = !centersOpen" @keydown.enter="centersOpen = !centersOpen" :aria-expanded="centersOpen ? 'true' : 'false'" :class="{ 'is-active': centersOpen }" > <div class="name-and-description"> <p class="name"><span>Centers & Initiatives</span></p> </div> <i class="fa-solid fa-chevron-right"></i> </a> </div> <section x-show="centersOpen" @click.outside="centersOpen = false" @keydown.enter.outside="centersOpen = false" x-transition > <div class="column"> <div class="nav-item second-tier"> <a href="/centers/aiprinceton"> <div class="name-and-description"> <p class="name"><span>AI at Princeton</span></p> <p class="description"> Nimble, high-intensity research teams across engineering, science, social science, and humanities </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/centers/acee"> <div class="name-and-description"> <p class="name"> <span> Andlinger Center for Energy and the Environment</span > </p> <p class="description"> Decarbonizing the world while increasing energy access worldwide </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/centers/citp"> <div class="name-and-description"> <p class="name"> <span>Center for Information Technology Policy</span> </p> <p class="description"> Promoting informed discussion of digital technologies and their role in society </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/centers/center-decentralization-power-through-blockchain-technology-decenter" > <div class="name-and-description"> <p class="name"><span>DeCenter</span></p> <p class="description"> Exploring a wide range of decentralized technologies and their implications for society </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/centers/keller-center"> <div class="name-and-description"> <p class="name"> <span> Keller Center for Innovation in Engineering Education</span > </p> <p class="description"> Enabling students and faculty across Princeton to realize their aspirations for addressing societal challenges </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/centers/omenn-darling-bioengineering-institute"> <div class="name-and-description"> <p class="name"> <span>Omenn-Darling Bioengineering Institute</span> </p> <p class="description"> Interdisciplinary research on cellular, device and computational bioengineering </p> </div> </a> </div> </div> <div class="column"> <div class="nav-item second-tier"> <a href="/centers/metropolis-initiative"> <div class="name-and-description"> <p class="name"><span>Metropolis Initiative</span></p> <p class="description"> Innovations to make cities more sustainable, resilient, and equitable </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/centers/nextg"> <div class="name-and-description"> <p class="name"><span>NextG</span></p> <p class="description"> Creating the intelligent networks of the future </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/centers/pmi"> <div class="name-and-description"> <p class="name"><span>Princeton Materials Institute</span></p> <p class="description"> Multidisciplinary research driving advances in materials science and photonics </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/centers/princeton-quantum-initiative"> <div class="name-and-description"> <p class="name"><span>Princeton Quantum Initiative</span></p> <p class="description"> Taking a ‘full-stack’ approach to advancing quantum information science </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/centers/robotics-center"> <div class="name-and-description"> <p class="name"><span>Princeton Robotics</span></p> <p class="description"> Advancing innovative, safe, and ethical use of robotic systems </p> </div> </a> </div> </div> </section> <div class="nav-item first-tier"> <a tabindex="0" role="button" @click="moreOpen = !moreOpen" @keydown.enter="moreOpen = !moreOpen" :aria-expanded="moreOpen ? 'true' : 'false'" :class="{ 'is-active': moreOpen }" > <div class="name-and-description"> <p class="name"><span>More</span></p> </div> <i class="fa-solid fa-chevron-right"></i> </a> </div> <section x-show="moreOpen" @click.outside="moreOpen = false" @keydown.enter.outside="moreOpen = false" x-transition > <div class="column"> <p class="nav-items-group-title">Resources</p> <div class="nav-item second-tier"> <a href="/resources"> <div class="name-and-description"> <p class="name"><span>Resources</span></p> <p class="description"> Tools and policies for faculty and staff </p> </div> </a> </div> <div x-data="{ policyOpen: false}" x-cloak> <div class="nav-item second-tier"> <a tabindex="0" role="button" @click="policyOpen = !policyOpen" @keydown.enter="policyOpen = !policyOpen" :aria-expanded="policyOpen ? 'true' : 'false'" :class="{ 'is-active': policyOpen }" > <div class="name-and-description"> <p class="name"><span>Policies and Procedures</span></p> </div> <i class="fa-solid fa-chevron-right"></i> </a> </div> <section x-show="policyOpen" @click.outside="policyOpen = false" @keydown.enter.outside="policyOpen = false" x-transition > <div class="nav-item third-tier"> <a href="/resources/policies-and-procedures"> <div class="name-and-description"> <p class="name"><span>Policy Overview</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/resources/poster-policy"> <div class="name-and-description"> <p class="name"><span>Poster Policy</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/resources/policies-and-procedures/resource-recovery" ><div class="name-and-description"> <p class="name"><span>Resource Recovery Program</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/resources/policies-and-procedures/gas-cylinders"> <div class="name-and-description"> <p class="name"><span>Gas Cylinders</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/resources/policies-and-procedures/lab-coats"> <div class="name-and-description"> <p class="name"><span>Lab Coats</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/resources/policies-and-procedures/machine-shop"> <div class="name-and-description"> <p class="name"><span>Machine Shop Request Form</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/resources/policies-and-procedures/mailroom-shipping-receiving" > <div class="name-and-description"> <p class="name"> <span>Mailroom, Shipping and Receiving</span> </p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/resources/policies-and-procedures/nitrogen-policy"> <div class="name-and-description"> <p class="name"><span>Nitrogen Policy</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/resources/policies-and-procedures/pet-policy"> <div class="name-and-description"> <p class="name"><span>Pet Policy and Guidelines</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/resources/policies-and-procedures/stockroom"> <div class="name-and-description"> <p class="name"><span>Stockroom</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/resources/policies-and-procedures/seas-vehicles"> <div class="name-and-description"> <p class="name"><span>Vehicle Reservations</span></p> </div> </a> </div> </section> </div> <div x-data="{ safetyOpen: false}" x-cloak> <div class="nav-item second-tier"> <a tabindex="0" role="button" @click="safetyOpen = !safetyOpen" @keydown.enter="safetyOpen = !safetyOpen" :aria-expanded="safetyOpen ? 'true' : 'false'" :class="{ 'is-active': safetyOpen }" > <div class="name-and-description"> <p class="name"><span>Safety</span></p> </div> <i class="fa-solid fa-chevron-right"></i> </a> </div> <section x-show="safetyOpen" @click.outside="safetyOpen = false" @keydown.enter.outside="safetyOpen = false" x-transition > <div class="nav-item third-tier"> <a href="/resources/safety/general-safety"> <div class="name-and-description"> <p class="name"><span>Overview</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/resources/safety/roles-and-responsibilities"> <div class="name-and-description"> <p class="name"> <span>Roles and Responsibilities</span> </p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/resources/safety/emergency-response"> <div class="name-and-description"> <p class="name"><span>Emergency Response</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/resources/safety/illness-injury-reporting"> <div class="name-and-description"> <p class="name"> <span>Illness and Injury Reporting</span> </p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/resources/safety/general-safety"> <div class="name-and-description"> <p class="name"><span>General Safety</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/resources/safety/dale-grieb-safety-award" ><div class="name-and-description"> <p class="name"><span>Dale Grieb Safety Award</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/resources/safety/safety-handbook"> <div class="name-and-description"> <p class="name"><span>Safety Handbook</span></p> </div> </a> </div> </section> </div> <div x-data="{ fundingOpen: false}" x-cloak> <div class="nav-item second-tier"> <a tabindex="0" role="button" @click="fundingOpen = !fundingOpen" @keydown.enter="fundingOpen = !fundingOpen" :aria-expanded="fundingOpen ? 'true' : 'false'" :class="{ 'is-active': fundingOpen }" > <div class="name-and-description"> <p class="name"><span>Funding</span></p> </div> <i class="fa-solid fa-chevron-right"></i> </a> </div> <section x-show="fundingOpen" @click.outside="fundingOpen = false" @keydown.enter.outside="fundingOpen = false" x-transition > <div class="nav-item third-tier"> <a href="/funding/"> <div class="name-and-description"> <p class="name"><span>Funding Overview</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/resources/funding/funding-guide-engineering-faculty"> <div class="name-and-description"> <p class="name"><span>Faculty Funding Guide</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/funding/innovation-grants"> <div class="name-and-description"> <p class="name"><span>Innovation Grants</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/funding/seed-grants"> <div class="name-and-description"> <p class="name"><span>Seed Grants</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/resources/funding/william-pierson-field-fund-visiting-lecturers" > <div class="name-and-description"> <p class="name"> <span> William Pierson Field Fund for Visiting Lecturers</span > </p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/funding/travel-funds"> <div class="name-and-description"> <p class="name"><span>Travel funds</span></p> </div> </a> </div> <div class="nav-item third-tier"> <a href="https://docs.google.com/forms/d/e/1FAIpQLSefr0g-gDTaZMq3yJHEOmCg9WiOKZxioUE9EeYlfSKQhRfnmQ/viewform" > <div class="name-and-description"> <p class="name"> <span>Diversity and Inclusion Initiatives</span> </p> </div> </a> </div> <div class="nav-item third-tier"> <a href="/funding/william-r-kenan-jr-visiting-professorship-for-distinguished-teaching" > <div class="name-and-description"> <p class="name"> <span> William R. Kenan, Jr. Visiting Professorship for Distinguished Teaching</span > </p> </div> </a> </div> </section> </div> <p class="nav-items-group-title">Quick links</p> <div class="nav-item second-tier"> <a href="/resources/faculty-directory"> <div class="name-and-description"> <p class="name"><span>Faculty Directory</span></p> <p class="description">Browse and filter our faculty list</p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/jobs"> <div class="name-and-description"> <p class="name"><span>Jobs</span></p> <p class="description"> See open faculty positions across engineering and applied science </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/about"> <div class="name-and-description"> <p class="name"><span>Contact</span></p> <p class="description"> A dean’s welcome and key points of contact </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/about/visitors"> <div class="name-and-description"> <p class="name"><span>Visit</span></p> <p class="description">Directions and a map</p> </div> </a> </div> </div> <div class="column"> <p class="nav-items-group-title">News</p> <div class="nav-item second-tier"> <a href="/events"> <div class="name-and-description"> <p class="name"><span>Events</span></p> <p class="description">Upcoming events across the school</p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/news"> <div class="name-and-description"> <p class="name"><span>News</span></p> <p class="description"> A filterable listing of news and features </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/podcasts"> <div class="name-and-description"> <p class="name"><span>Podcasts</span></p> <p class="description"> A deeper look at the research from our faculty, students and alumni </p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/news/equad-magazine"> <div class="name-and-description"> <p class="name"><span>EQuad Magazine</span></p> <p class="description">Our semiannual news magazine</p> </div> </a> </div> <div class="nav-item second-tier"> <a href="/news/media-inquiries"> <div class="name-and-description"> <p class="name"><span>Media Inquiries</span></p> <p class="description">Information for journalists</p> </div> </a> </div> </div> </section> <section class="social-media"> <ul> <li> <a href="https://www.linkedin.com/school/princetonengineering" ><i class="fa-brands fa-linkedin"></i ></a> </li> <li> <a href="https://www.instagram.com/eprinceton" ><i class="fa-brands fa-instagram"></i ></a> </li> <li> <a href="https://www.x.com/eprinceton" ><i class="fa-brands fa-x-twitter"></i ></a> </li> <li> <a href="https://www.facebook.com/princetonengineering" ><i class="fa-brands fa-facebook"></i ></a> </li> <li> <a href="https://www.youtube.com/princetonengineering" ><i class="fa-brands fa-youtube"></i ></a> </li> </ul> </section> </nav> <section class="engineering-search-modal is-layout-flow wp-block-group-is-layout-flow" x-show="searchOpen" @click.outside="searchOpen = false" @keydown.enter.outside="searchOpen = false" @keydown.esc.window="searchOpen = false" x-transition x-cloak > <form role="search" method="get" class="search-form" action="https://engineering.princeton.edu/"> <label><br /> <span class="screen-reader-text">Search for:</span><br /> <input type="search" class="search-field" placeholder="Search …" value="" name="s" /><br /> </label><br /> <input type="submit" class="search-submit" value="Search" /><br /> </form> </section> <div class="engineering-modal-bg" x-show="open | searchOpen" x-transition x-cloak ></div> </div> </div> </div> </header> <main class="wp-block-group department-center-page is-layout-flow wp-block-group-is-layout-flow"> <article class="wp-block-group department-center is-layout-flow wp-block-group-is-layout-flow"> <div class="wp-block-group department-center__inner is-layout-flow wp-block-group-is-layout-flow"> <div class="wp-block-group department-center__header is-layout-flow wp-block-group-is-layout-flow"> <div class="wp-block-group department-center__header__content is-layout-flow wp-block-group-is-layout-flow"> <div class="wp-block-group department-center__header__info is-layout-flow wp-block-group-is-layout-flow"></div> </div> <figure class="department-center__featured-image wp-block-post-featured-image"><img width="1200" height="675" src="https://engineering.princeton.edu/wp-content/uploads/2021/08/mechanical-and-aerospace-engineering-2.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Student uses drill press while others observe." style="object-fit:cover;" decoding="async" fetchpriority="high" srcset="https://engineering.princeton.edu/wp-content/uploads/2021/08/mechanical-and-aerospace-engineering-2.jpg 1200w, https://engineering.princeton.edu/wp-content/uploads/2021/08/mechanical-and-aerospace-engineering-2-300x169.jpg 300w, https://engineering.princeton.edu/wp-content/uploads/2021/08/mechanical-and-aerospace-engineering-2-1024x576.jpg 1024w, https://engineering.princeton.edu/wp-content/uploads/2021/08/mechanical-and-aerospace-engineering-2-768x432.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure> </div> <nav class="wp-block-group breadcrumbs is-layout-flow wp-block-group-is-layout-flow"> <div class="wp-block-group breadcrumbs__inner is-layout-flow wp-block-group-is-layout-flow"> <p> <span><span><a href="https://engineering.princeton.edu/">Home</a></span> » <span class="breadcrumb_last" aria-current="page">Mechanical and Aerospace Engineering</span></span></p> </div> </nav> <div class="wp-block-group department-center__content is-layout-flow wp-block-group-is-layout-flow"> <h1 class="department-center__title not-prose wp-block-post-title">Mechanical and Aerospace Engineering</h1> <div class="entry-content wp-block-post-content is-layout-flow wp-block-post-content-is-layout-flow"> <p>Mechanical and Aerospace engineers at Princeton have played leading roles in combustion, fluid flow modeling and measurement, laser technologies and materials, propulsion, environmental science, and aerospace dynamics over the past half century. With ties to many other areas of science and engineering, MAE faculty also have a major impact in control and dynamical systems; materials science; satellite technology and propulsion; stability and control of vehicles; robotics; aircraft performance; pollution and alternative fuels; energy conversion and storage; nuclear security; biomechanics; and instrumentation.</p> <div class="wp-block-buttons is-content-justification-center is-nowrap is-layout-flex wp-container-core-buttons-is-layout-1 wp-block-buttons-is-layout-flex"> <div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://mae.princeton.edu">Visit the department website</a></div> </div> <section class="seas-section department-section related-programs not-prose"> <div class="seas-section__content"> <header class="seas-section__header"> <h2 class="seas-section__title">Program Info</h2> </header><!-- .seas-section__header --> <div class="cards program-cards"> <article class="card program-card"> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Undergraduate</h3> <ul class="card__links"> <li> <a href="https://mae.princeton.edu/undergraduate/programs"> Courses <i class="fa-solid fa-arrow-up-right-from-square"></i> </a> </li> <li> <a href="https://mae.princeton.edu/undergraduate/handbook"> Path to Graduation <i class="fa-solid fa-arrow-up-right-from-square"></i> </a> </li> </ul> </div><!-- .card__info --> </div> </article><!-- .card --> <article class="card program-card"> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Graduate</h3> <ul class="card__links"> <li> <a href="https://gradschool.princeton.edu/admission/applying-princeton"> Admission <i class="fa-solid fa-arrow-up-right-from-square"></i> </a> </li> <li> <a href="https://gradschool.princeton.edu/academics/fields-study/mechanical-and-aerospace-engineering"> Program <i class="fa-solid fa-arrow-up-right-from-square"></i> </a> </li> <li> <a href="https://gradschool.princeton.edu/life-princeton"> Life at Princeton <i class="fa-solid fa-arrow-up-right-from-square"></i> </a> </li> </ul> </div><!-- .card__info --> </div> </article><!-- .card --> <article class="card program-card"> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Research</h3> <ul class="card__links"> <li> <a href="https://mae.princeton.edu/research-areas-labs/research-areas"> Areas <i class="fa-solid fa-arrow-up-right-from-square"></i> </a> </li> <li> <a href="https://mae.princeton.edu/people/faculty"> Faculty <i class="fa-solid fa-arrow-up-right-from-square"></i> </a> </li> <li> <a href="https://mae.princeton.edu/about-mae/news"> Highlights <i class="fa-solid fa-arrow-up-right-from-square"></i> </a> </li> </ul> </div><!-- .card__info --> </div> </article><!-- .card --> <article class="card program-card"> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Diversity, Equity, and Inclusion</h3> <ul class="card__links"> <li> <a href="/diversity-and-inclusion/programs"> Program and Resources <i class="fa-solid fa-arrow-up-right-from-square"></i> </a> </li> <li> <a href="/diversity-and-inclusion/events"> Events <i class="fa-solid fa-arrow-up-right-from-square"></i> </a> </li> <li> <a href="https://engineering.princeton.edu/diversity-and-inclusion/newsletter-archive"> Newsletter <i class="fa-solid fa-arrow-up-right-from-square"></i> </a> </li> </ul> </div><!-- .card__info --> </div> </article><!-- .card --> </div><!-- .cards --> </div><!-- .seas-section__content --> </section><!-- .seas-section --> <section class="has_card_image seas-section news-section not-prose"> <div class="seas-section__content"> <header class="seas-section__header"> <h2 class="seas-section__title">News</h2> <p class="seas-section__description"></p> </header><!-- .seas-section__header --> <div class="cards news-cards"> <article class="card news-card"> <a class="card__link" href="https://engineering.princeton.edu/news/2025/02/12/two-professors-four-alumni-elected-national-academy-engineering" aria-label="Two professors, four alumni elected to National Academy of Engineering"></a> <figure class="card__figure has-card-image"> <img decoding="async" src="https://engineering.princeton.edu/wp-content/uploads/2025/02/loo-holmes-card.png" alt="Lynn Loo and Philip Holmes." /> <div class="card-border" style="background-color:rgb(37,182,234);"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Two professors, four alumni elected to National Academy of Engineering</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card news-card"> <a class="card__link" href="https://engineering.princeton.edu/news/2025/01/21/three-faculty-members-honored-white-house" aria-label="Three faculty members honored by the White House"></a> <figure class="card__figure has-card-image"> <img decoding="async" src="https://engineering.princeton.edu/wp-content/uploads/2025/01/faculty-award-card-2.png" alt="" /> <div class="card-border" style="background-color:rgb(163,26,175);"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Three faculty members honored by the White House</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card news-card"> <a class="card__link" href="https://engineering.princeton.edu/news/2024/12/20/stabilizing-fusion-reactions-learning-process-ai-systems-and-engineers-who-design-them" aria-label="Stabilizing fusion reactions is a learning process — for AI systems and the engineers who design them "></a> <figure class="card__figure"> <img decoding="async" width="1600" height="900" src="https://engineering.princeton.edu/wp-content/uploads/2024/12/Koleman-3_16X9-scaled.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Portrait of Egemen Kolemen." srcset="https://engineering.princeton.edu/wp-content/uploads/2024/12/Koleman-3_16X9-scaled.jpg 1600w, https://engineering.princeton.edu/wp-content/uploads/2024/12/Koleman-3_16X9-300x169.jpg 300w, https://engineering.princeton.edu/wp-content/uploads/2024/12/Koleman-3_16X9-1024x576.jpg 1024w, https://engineering.princeton.edu/wp-content/uploads/2024/12/Koleman-3_16X9-768x432.jpg 768w, https://engineering.princeton.edu/wp-content/uploads/2024/12/Koleman-3_16X9-1536x864.jpg 1536w, https://engineering.princeton.edu/wp-content/uploads/2024/12/Koleman-3_16X9-2048x1152.jpg 2048w" sizes="(max-width: 1600px) 100vw, 1600px" /><figcaption class="featured-image-caption"> <i class="fa fa-camera" aria-hidden="true"></i> Egemen Kolemen. Photo by David Kelly Crow</figcaption> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Stabilizing fusion reactions is a learning process — for AI systems and the engineers who design them </h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card news-card"> <a class="card__link" href="https://engineering.princeton.edu/news/2024/12/20/princeton-startup-recycles-rare-minerals-lithium-batteries" aria-label="Princeton startup recycles rare minerals from lithium batteries"></a> <figure class="card__figure"> <img decoding="async" width="1600" height="900" src="https://engineering.princeton.edu/wp-content/uploads/2024/12/Koel-NuEnergy_Old-new-copy.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Two micrographs, one with little spheres covered in speckles, the other with similar spheres looking cleaner." srcset="https://engineering.princeton.edu/wp-content/uploads/2024/12/Koel-NuEnergy_Old-new-copy.jpg 1600w, https://engineering.princeton.edu/wp-content/uploads/2024/12/Koel-NuEnergy_Old-new-copy-300x169.jpg 300w, https://engineering.princeton.edu/wp-content/uploads/2024/12/Koel-NuEnergy_Old-new-copy-1024x576.jpg 1024w, https://engineering.princeton.edu/wp-content/uploads/2024/12/Koel-NuEnergy_Old-new-copy-768x432.jpg 768w, https://engineering.princeton.edu/wp-content/uploads/2024/12/Koel-NuEnergy_Old-new-copy-1536x864.jpg 1536w" sizes="(max-width: 1600px) 100vw, 1600px" /><figcaption class="featured-image-caption"> <i class="fa fa-camera" aria-hidden="true"></i> A new method for direct battery recycling uses low-temperature plasma to remove contaminants from aged lithium nickel cobalt manganese cathode materials (left), commonly used in electric vehicle batteries, and transform them directly into active cathode materials (right). Images copyright Princeton NuEnergy</figcaption> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Princeton startup recycles rare minerals from lithium batteries</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card news-card"> <a class="card__link" href="https://engineering.princeton.edu/news/2024/12/20/guiding-energy-transitions-across-globe" aria-label="Guiding energy transitions across the globe"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="1600" height="900" src="https://engineering.princeton.edu/wp-content/uploads/2024/12/YGL_dorjee_2_16x9.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Man points at chart on a table while several two women and a man watch." srcset="https://engineering.princeton.edu/wp-content/uploads/2024/12/YGL_dorjee_2_16x9.jpg 1600w, https://engineering.princeton.edu/wp-content/uploads/2024/12/YGL_dorjee_2_16x9-300x169.jpg 300w, https://engineering.princeton.edu/wp-content/uploads/2024/12/YGL_dorjee_2_16x9-1024x576.jpg 1024w, https://engineering.princeton.edu/wp-content/uploads/2024/12/YGL_dorjee_2_16x9-768x432.jpg 768w, https://engineering.princeton.edu/wp-content/uploads/2024/12/YGL_dorjee_2_16x9-1536x864.jpg 1536w" sizes="auto, (max-width: 1600px) 100vw, 1600px" /><figcaption class="featured-image-caption"> <i class="fa fa-camera" aria-hidden="true"></i> Jesse Jenkins leads a team of energy executives and leaders through a game challenging players to ramp up energy production by 2050 without increasing net carbon emissions. Photo by Frank Wojciechowski</figcaption> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Guiding energy transitions across the globe</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card news-card"> <a class="card__link" href="https://engineering.princeton.edu/news/2024/12/09/andlinger-center-conference-unpacks-ais-double-edged-role-clean-energy-transition" aria-label="Andlinger Center conference unpacks AI’s double-edged role in the clean energy transition"></a> <figure class="card__figure has-card-image"> <img decoding="async" src="https://engineering.princeton.edu/wp-content/uploads/2024/12/AnnualMeeting_102924_0102.png" alt="" /> <div class="card-border" style="background-color:rgb(6,162,201);"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Andlinger Center conference unpacks AI’s double-edged role in the clean energy transition</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> </div><!-- .seas-section__content --> </section><!-- .seas-section --> <section class="seas-section events-section not-prose"> <div class="seas-section__content"> <header class="seas-section__header"> <h2 class="seas-section__title">Events</h2> <p class="seas-section__description"></p> </header><!-- .seas-section__header --> <div class="cards events-cards"> <article class="card event-card"> <a class="card__link" href="https://engineering.princeton.edu/events/exquisite-energetics-ultrafast-interdisciplinary-nexus-discovery" aria-label="Exquisite Energetics of the Ultrafast: An Interdisciplinary Nexus of Discovery"></a> <div class="card__content"> <div class="card__meta"> <div class="card__date-and-time"> <p class="card__date"><i class="far fa-calendar"></i> March 07</p> <p class="card__time"><i class="far fa-clock"></i> 3:00 pm</p> </div><!-- .card__date-and-time --> </div><!-- .card__meta --> <div class="card__info"> <h3 class="card__title">Exquisite Energetics of the Ultrafast: An Interdisciplinary Nexus of Discovery</h3> </div> </div><!-- .card__content --> </article><!-- .card --> <article class="card event-card"> <a class="card__link" href="https://engineering.princeton.edu/events/low-temperature-plasmas-mechanical-and-aerospace-engineering-quo-vadis" aria-label="Low Temperature Plasmas in Mechanical and Aerospace Engineering: Quo Vadis?"></a> <div class="card__content"> <div class="card__meta"> <div class="card__date-and-time"> <p class="card__date"><i class="far fa-calendar"></i> March 21</p> <p class="card__time"><i class="far fa-clock"></i> 3:00 pm</p> </div><!-- .card__date-and-time --> </div><!-- .card__meta --> <div class="card__info"> <h3 class="card__title">Low Temperature Plasmas in Mechanical and Aerospace Engineering: Quo Vadis?</h3> </div> </div><!-- .card__content --> </article><!-- .card --> <article class="card event-card"> <a class="card__link" href="https://engineering.princeton.edu/events/era-autonomy-space-exploration-its-finally-here" aria-label="The Era of Autonomy in Space Exploration – It’s Finally Here!"></a> <div class="card__content"> <div class="card__meta"> <div class="card__date-and-time"> <p class="card__date"><i class="far fa-calendar"></i> March 28</p> <p class="card__time"><i class="far fa-clock"></i> 3:00 pm</p> </div><!-- .card__date-and-time --> </div><!-- .card__meta --> <div class="card__info"> <h3 class="card__title">The Era of Autonomy in Space Exploration – It’s Finally Here!</h3> </div> </div><!-- .card__content --> </article><!-- .card --> <article class="card event-card"> <a class="card__link" href="https://engineering.princeton.edu/events/solar-simulations-shadows-racial-capitalism" aria-label="Solar Simulations in the Shadows of Racial Capitalism"></a> <div class="card__content"> <div class="card__meta"> <div class="card__date-and-time"> <p class="card__date"><i class="far fa-calendar"></i> April 04</p> <p class="card__time"><i class="far fa-clock"></i> 3:00 pm</p> </div><!-- .card__date-and-time --> </div><!-- .card__meta --> <div class="card__info"> <h3 class="card__title">Solar Simulations in the Shadows of Racial Capitalism</h3> </div> </div><!-- .card__content --> </article><!-- .card --> <article class="card event-card"> <a class="card__link" href="https://engineering.princeton.edu/events/rethinking-problems-thermal-science-and-engineering-atoms-applications" aria-label="Rethinking Problems in Thermal Science and Engineering: From Atoms to Applications"></a> <div class="card__content"> <div class="card__meta"> <div class="card__date-and-time"> <p class="card__date"><i class="far fa-calendar"></i> April 11</p> <p class="card__time"><i class="far fa-clock"></i> 3:00 pm</p> </div><!-- .card__date-and-time --> </div><!-- .card__meta --> <div class="card__info"> <h3 class="card__title">Rethinking Problems in Thermal Science and Engineering: From Atoms to Applications</h3> </div> </div><!-- .card__content --> </article><!-- .card --> </div><!-- .cards --> </div><!-- .seas-section__content --> </section><!-- .seas-section --> <section class="seas-section faculty-section uses-card-images not-prose"> <div class="seas-section__content"> <header class="seas-section__header"> <h2 class="seas-section__title">Faculty</h2> <p class="seas-section__description"></p> </header> <div class="cards faculty-cards"> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/christine-allen-blanchette" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2022/08/christine_allen-blanchette.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2022/08/christine_allen-blanchette.png 500w, https://engineering.princeton.edu/wp-content/uploads/2022/08/christine_allen-blanchette-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2022/08/christine_allen-blanchette-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Christine Allen-Blanchette</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/craig-arnold" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2020/06/craig_arnold.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2020/06/craig_arnold.png 500w, https://engineering.princeton.edu/wp-content/uploads/2020/06/craig_arnold-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2020/06/craig_arnold-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Craig Arnold</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/ryne-beeson" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2021/12/ryne_beeson.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2021/12/ryne_beeson.png 500w, https://engineering.princeton.edu/wp-content/uploads/2021/12/ryne_beeson-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2021/12/ryne_beeson-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Ryne Beeson</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/emily-carter" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2022/01/emily-carter.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2022/01/emily-carter.png 500w, https://engineering.princeton.edu/wp-content/uploads/2022/01/emily-carter-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2022/01/emily-carter-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Emily A. Carter</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/edgar-choueiri" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2020/06/edgar_choueiri-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2020/06/edgar_choueiri-1.png 500w, https://engineering.princeton.edu/wp-content/uploads/2020/06/edgar_choueiri-1-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2020/06/edgar_choueiri-1-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Edgar Choueiri</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/daniel-j-cohen" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2020/06/daniel_j_cohen.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2020/06/daniel_j_cohen.png 500w, https://engineering.princeton.edu/wp-content/uploads/2020/06/daniel_j_cohen-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2020/06/daniel_j_cohen-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Daniel J. Cohen</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/luc-deike" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2020/06/luc_deike-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2020/06/luc_deike-1.png 500w, https://engineering.princeton.edu/wp-content/uploads/2020/06/luc_deike-1-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2020/06/luc_deike-1-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Luc Deike</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/michelle-dibenedetto" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2025/01/Michelle_DiBenedetto-card-2.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Michelle DiBenedetto portrait" srcset="https://engineering.princeton.edu/wp-content/uploads/2025/01/Michelle_DiBenedetto-card-2.png 500w, https://engineering.princeton.edu/wp-content/uploads/2025/01/Michelle_DiBenedetto-card-2-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2025/01/Michelle_DiBenedetto-card-2-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Michelle DiBenedetto</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/alison-ferris" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2024/06/alison-ferris-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Portrait of Alison Ferris" srcset="https://engineering.princeton.edu/wp-content/uploads/2024/06/alison-ferris-1.png 500w, https://engineering.princeton.edu/wp-content/uploads/2024/06/alison-ferris-1-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2024/06/alison-ferris-1-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Alison Ferris</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/alexander-glaser" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2020/06/alexander_glaser.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2020/06/alexander_glaser.png 500w, https://engineering.princeton.edu/wp-content/uploads/2020/06/alexander_glaser-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2020/06/alexander_glaser-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Alexander Glaser</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/mikko-haataja" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2020/06/mikko_haataja.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2020/06/mikko_haataja.png 500w, https://engineering.princeton.edu/wp-content/uploads/2020/06/mikko_haataja-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2020/06/mikko_haataja-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Mikko Haataja</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/kelsey-hatzell" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2021/07/Kelsey-Hatzell.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2021/07/Kelsey-Hatzell.png 500w, https://engineering.princeton.edu/wp-content/uploads/2021/07/Kelsey-Hatzell-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2021/07/Kelsey-Hatzell-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Kelsey Hatzell</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/marcus-hultmark" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2020/06/marcus_hultmark.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2020/06/marcus_hultmark.png 500w, https://engineering.princeton.edu/wp-content/uploads/2020/06/marcus_hultmark-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2020/06/marcus_hultmark-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Marcus Hultmark</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/jesse-jenkins" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2020/06/jesse_jenkins.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2020/06/jesse_jenkins.png 500w, https://engineering.princeton.edu/wp-content/uploads/2020/06/jesse_jenkins-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2020/06/jesse_jenkins-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Jesse Jenkins</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/yiguang-ju" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2020/06/yiguang_ju.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2020/06/yiguang_ju.png 500w, https://engineering.princeton.edu/wp-content/uploads/2020/06/yiguang_ju-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2020/06/yiguang_ju-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Yiguang Ju</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/egemen-kolemen" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2024/08/Koleman-portrait.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Portrait of Egemen Kolemen" srcset="https://engineering.princeton.edu/wp-content/uploads/2024/08/Koleman-portrait.png 500w, https://engineering.princeton.edu/wp-content/uploads/2024/08/Koleman-portrait-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2024/08/Koleman-portrait-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Egemen Kolemen</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/andrej-kosmrlj" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2020/06/andrej_kosmrlj.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2020/06/andrej_kosmrlj.png 500w, https://engineering.princeton.edu/wp-content/uploads/2020/06/andrej_kosmrlj-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2020/06/andrej_kosmrlj-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Andrej Kosmrlj</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/chung-law" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2020/06/chung_law.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2020/06/chung_law.jpg 500w, https://engineering.princeton.edu/wp-content/uploads/2020/06/chung_law-300x300.jpg 300w, https://engineering.princeton.edu/wp-content/uploads/2020/06/chung_law-150x150.jpg 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Chung Law</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/naomi-ehrich-leonard" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="1000" height="1000" src="https://engineering.princeton.edu/wp-content/uploads/2020/06/naomi_leonard.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Naomi Leonard portrait" srcset="https://engineering.princeton.edu/wp-content/uploads/2020/06/naomi_leonard.png 1000w, https://engineering.princeton.edu/wp-content/uploads/2020/06/naomi_leonard-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2020/06/naomi_leonard-150x150.png 150w, https://engineering.princeton.edu/wp-content/uploads/2020/06/naomi_leonard-768x768.png 768w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Naomi Ehrich Leonard</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/michael-littman" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2020/06/michael_littman.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2020/06/michael_littman.png 500w, https://engineering.princeton.edu/wp-content/uploads/2020/06/michael_littman-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2020/06/michael_littman-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Michael Littman</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/anirudha-majumdar" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2020/06/anirudha_majumdar.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2020/06/anirudha_majumdar.png 500w, https://engineering.princeton.edu/wp-content/uploads/2020/06/anirudha_majumdar-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2020/06/anirudha_majumdar-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Anirudha Majumdar</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/luigi-martinelli" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2020/06/luigi_martinelli.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2020/06/luigi_martinelli.png 500w, https://engineering.princeton.edu/wp-content/uploads/2020/06/luigi_martinelli-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2020/06/luigi_martinelli-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Luigi Martinelli</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/julia-mikhailova" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2020/06/Julia-Mikhailova.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2020/06/Julia-Mikhailova.png 500w, https://engineering.princeton.edu/wp-content/uploads/2020/06/Julia-Mikhailova-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2020/06/Julia-Mikhailova-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Julia Mikhailova</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/michael-mueller" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2020/06/michael_mueller.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2020/06/michael_mueller.png 500w, https://engineering.princeton.edu/wp-content/uploads/2020/06/michael_mueller-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2020/06/michael_mueller-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Michael Mueller</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/radhika-nagpal" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2022/01/radhika_nagpal.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2022/01/radhika_nagpal.png 500w, https://engineering.princeton.edu/wp-content/uploads/2022/01/radhika_nagpal-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2022/01/radhika_nagpal-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Radhika Nagpal</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/daniel-nosenchuck" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2020/06/daniel_nosenchuck.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2020/06/daniel_nosenchuck.png 500w, https://engineering.princeton.edu/wp-content/uploads/2020/06/daniel_nosenchuck-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2020/06/daniel_nosenchuck-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Daniel Nosenchuck</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/clarence-rowley" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2020/06/clarence_rowley.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2020/06/clarence_rowley.png 500w, https://engineering.princeton.edu/wp-content/uploads/2020/06/clarence_rowley-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2020/06/clarence_rowley-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Clarence Rowley</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/aditya-sood" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2023/08/aditya_sood.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Aditya Sood portrait" srcset="https://engineering.princeton.edu/wp-content/uploads/2023/08/aditya_sood.png 500w, https://engineering.princeton.edu/wp-content/uploads/2023/08/aditya_sood-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2023/08/aditya_sood-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Aditya Sood</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/howard-stone" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2020/06/howard_stone.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" srcset="https://engineering.princeton.edu/wp-content/uploads/2020/06/howard_stone.png 500w, https://engineering.princeton.edu/wp-content/uploads/2020/06/howard_stone-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2020/06/howard_stone-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Howard Stone</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> <article class="card faculty-card"> <a class="card__link" href="https://engineering.princeton.edu/faculty/aimy-wissa" aria-label="Mechanical and Aerospace Engineering"></a> <figure class="card__figure"> <img loading="lazy" decoding="async" width="500" height="500" src="https://engineering.princeton.edu/wp-content/uploads/2023/08/aimy_wissa.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Aimy Wissa portrait" srcset="https://engineering.princeton.edu/wp-content/uploads/2023/08/aimy_wissa.png 500w, https://engineering.princeton.edu/wp-content/uploads/2023/08/aimy_wissa-300x300.png 300w, https://engineering.princeton.edu/wp-content/uploads/2023/08/aimy_wissa-150x150.png 150w" sizes="auto, (max-width: 500px) 100vw, 500px" /> <div class="card-border"></div> </figure> <div class="card__content"> <div class="card__info"> <h3 class="card__title">Aimy Wissa</h3> </div><!-- .card__info --> </div><!-- .card__content --> </article><!-- .card --> </div> </section> </div> </div> </div> </article> </main> <footer class="wp-block-template-part"> <div class="wp-block-group engineering-site-footer is-layout-flow wp-block-group-is-layout-flow"> <div class="wp-block-group engineering-site-footer__content is-layout-flow wp-block-group-is-layout-flow"> <div class="wp-block-group logos-and-address"> <h3 class="engineering-logo is-layout-flow wp-block-group-is-layout-flow"> <a href="/">School of Engineering & Applied Science</a> </h3> <div class="wp-block-group engineering-address is-layout-flow wp-block-group-is-layout-flow"> <address> <p>School of Engineering and Applied Science</p> <p>Princeton, New Jersey 08544</p> </address> </div> <div class="wp-block-group engineering-newsletter is-layout-flow wp-block-group-is-layout-flow"> <div id="mc_embed_shell" style="width: 100%"> <link href="//cdn-images.mailchimp.com/embedcode/classic-061523.css" rel="stylesheet" type="text/css" /> <div id="mc_embed_signup"> <form action="https://princeton.us15.list-manage.com/subscribe/post?u=815013b76bec0c1d6fae893ba&id=329ebd13b8&f_id=00479be0f0" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" > <div id="mc_embed_signup_scroll"> <h2>Engineering Newsletter Signup</h2> <div class="mc-field-group"> <input type="email" name="EMAIL" placeholder="email address (required)" class="required email" id="mce-EMAIL" required="" value="" /> </div> <div id="mce-responses" class="clear"> <div class="response" id="mce-error-response" style="display: none" ></div> <div class="response" id="mce-success-response" style="display: none" ></div> </div> <div aria-hidden="true" style="position: absolute; left: -5000px" > <input type="text" name="b_815013b76bec0c1d6fae893ba_329ebd13b8" tabindex="-1" value="" /> </div> <div class="clear"> <input type="submit" name="subscribe" id="mc-embedded-subscribe" class="button" value="Subscribe" /> </div> </div> </form> </div> <!-- <script type="text/javascript" src="//s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js" ></script> --> <script type="text/javascript"> (function ($) { window.fnames = new Array(); window.ftypes = new Array(); fnames[0] = "EMAIL"; ftypes[0] = "email"; fnames[1] = "FNAME"; ftypes[1] = "text"; fnames[2] = "LNAME"; ftypes[2] = "text"; fnames[3] = "ADDRESS"; ftypes[3] = "address"; fnames[4] = "PHONE"; ftypes[4] = "phone"; fnames[5] = "MMERGE5"; ftypes[5] = "text"; fnames[6] = "MMERGE6"; ftypes[6] = "text"; fnames[7] = "MMERGE7"; ftypes[7] = "text"; })(jQuery); var $mcj = jQuery.noConflict(true); </script> </div> </div> </div> <div class="equal-opportunity is-layout-flow wp-block-group-is-layout-flow"> <p> Equal Opportunity and Nondiscrimination at Princeton University: Princeton University believes that commitment to principles of fairness and respect for all is favorable to the free and open exchange of ideas, and the University seeks to reach out as widely as possible in order to attract the ablest individuals as students, faculty, and staff. In applying this policy, the University is committed to nondiscrimination on the basis of personal beliefs or characteristics such as political views, religion, national origin, ancestry, race, color, sex, sexual orientation, gender identity or expression, pregnancy/childbirth, age, marital or domestic partnership status, veteran status, disability, genetic information and/or other characteristics protected by applicable law in any phase of its education or employment programs or activities. In addition, pursuant to Title IX of the Education Amendments of 1972 and supporting regulations, Princeton does not discriminate on the basis of sex in the education programs or activities that it operates; this extends to admission and employment. Inquiries about the application of Title IX and its supporting regulations may be directed to the Assistant Secretary for Civil Rights, Office for Civil Rights, U.S. Department of Education or to the University’s Sexual Misconduct/Title IX Coordinator. See Princeton’s full Equal Opportunity Policy and Nondiscrimination Statement. </p> </div> <div class="university-info is-layout-flow wp-block-group-is-layout-flow"> <p>© 2024 The Trustees of Princeton University</p> <div class="wp-block-group university-address is-layout-flow wp-block-group-is-layout-flow"> <address> <p>Princeton, New Jersey 08544 United States</p> <p> <strong>Operator:</strong> <a href="tel+6092583000">(609) 258-3000</a> </p> </address> <p> <a href="https://www.princeton.edu/content/copyright-infringement" >Copyright Infringement</a > </p> </div> <div class="wp-block-group university-footer-logo is-layout-flow wp-block-group-is-layout-flow"> <h3 class="university-logo"> <a href="https://www.princeton.edu">Princeton University</a> </h3> <p> <a href="https://www.princeton.edu/privacy-notice">Privacy Notice</a> </p> </div> </div> </div> </div> </footer> </div> <script id="wp-block-template-skip-link-js-after"> ( function() { var skipLinkTarget = document.querySelector( 'main' ), sibling, skipLinkTargetID, skipLink; // Early exit if a skip-link target can't be located. if ( ! skipLinkTarget ) { return; } /* * Get the site wrapper. * The skip-link will be injected in the beginning of it. */ sibling = document.querySelector( '.wp-site-blocks' ); // Early exit if the root element was not found. if ( ! sibling ) { return; } // Get the skip-link target's ID, and generate one if it doesn't exist. skipLinkTargetID = skipLinkTarget.id; if ( ! skipLinkTargetID ) { skipLinkTargetID = 'wp--skip-link--target'; skipLinkTarget.id = skipLinkTargetID; } // Create the skip link. skipLink = document.createElement( 'a' ); skipLink.classList.add( 'skip-link', 'screen-reader-text' ); skipLink.href = '#' + skipLinkTargetID; skipLink.innerHTML = 'Skip to content'; // Inject the skip link. sibling.parentElement.insertBefore( skipLink, sibling ); }() ); </script> <script src="https://engineering.princeton.edu/wp-content/themes/engineering/app/dist/assets/index-BEDQyblB.js?ver=1.0.3" id="vite-script-js"></script> <script src="https://engineering.princeton.edu/wp-content/themes/engineering/assets/js/main.js?ver=1739840141" id="main-js"></script> <script src="https://engineering.princeton.edu/wp-content/themes/engineering/assets/js/main.min.js?ver=1739840141" id="main-min-js"></script> <script src="https://kit.fontawesome.com/8299227453.js" id="fontawesome-js"></script> <script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js" id="alpinejs-js"></script> <script src="https://engineering.princeton.edu/wp-content/themes/engineering/assets/js/main.min.js" id="custom-js-js"></script> <script type="text/javascript"> /* <![CDATA[ */ document.querySelectorAll("ul.nav-menu").forEach( ulist => { if (ulist.querySelectorAll("li").length == 0) { ulist.style.display = "none"; } } ); /* ]]> */ </script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-b00d4b4e7850ab82d90","applicationID":"1529948474","transactionName":"NFUAYEdRDBUFW0ReVw0fI1dBWQ0IS0xVWkgPURZRGFMDCBJZQw==","queueTime":0,"applicationTime":514,"atts":"GBIDFg9LHxs=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html>