PageSourceSearch

https://dune-copasi.netlify.app/assets/js/0c3e28b2.d22778b1.js

js dune-copasi.netlify.app collected 2026-10-03 10:43:07 UTC 201,243 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkdune_copasi_docusaurus=self.webpackChunkdune_copasi_docusaurus||[]).push([[9418],{416:(s,e,a)=>{a.r(e),a.d(e,{JoinDetailsArray:()=>d,assets:()=>h,contentTitle:()=>m,default:()=>x,frontMatter:()=>r,metadata:()=>c,toc:()=>o});var t=a(4848),n=a(8453),i=a(2327),l=a(2030);a(6133),a(1302),a(4718);const r={id:"math_expr",title:"Mathematical Expressions",description:"Allowed syntax for mathematical expressions",sidebar_label:"Math Expressions",tags:["API","CLI"]},m="Math Expressions",c={id:"math_expr",title:"Mathematical Expressions",description:"Allowed syntax for mathematical expressions",source:"@site/versioned_docs/version-v2.1.0/math_expr.mdx",sourceDirName:".",slug:"/math_expr",permalink:"/docs/math_expr",draft:!1,unlisted:!1,editUrl:"https://gitlab.dune-project.org/copasi/dune-copasi/-/edit/master/doc/docusaurus/versioned_docs/version-v2.1.0/math_expr.mdx",tags:[{inline:!0,label:"API",permalink:"/docs/tags/api"},{inline:!0,label:"CLI",permalink:"/docs/tags/cli"}],version:"v2.1.0",lastUpdatedBy:"Santiago Ospina De Los R\xedos",lastUpdatedAt:1732558322e3,frontMatter:{id:"math_expr",title:"Mathematical Expressions",description:"Allowed syntax for mathematical expressions",sidebar_label:"Math Expressions",tags:["API","CLI"]},sidebar:"docs",previous:{title:"Input Data",permalink:"/docs/input_data"},next:{title:"Output Data",permalink:"/docs/output"}},h={},d=s=>Array.isArray(s)?s.join("\n"):s,o=[{value:"Contextual Transient Keyword",id:"contextual-transient-keyword",level:2},{value:"Contextual Domain Keywords",id:"contextual-domain-keywords",level:2},{value:"Contextual Scalar Field Keywords",id:"contextual-scalar-field-keywords",level:2},{value:"Custom Keywords",id:"custom-keywords",level:2},{value:"Constants",id:"constants",level:3},{value:"Function Math Expressions",id:"function-math-expressions",level:3},{value:"Random Field",id:"random-field",level:3},{value:"1D Linear Interpolation",id:"1d-linear-interpolation",level:3}
1,{value:"Images (TIFF Format)",id:"images-tiff-format",level:3},{value:"Grid Cell Data (TXT Format)",id:"grid-cell-data-txt-format",level:3},{value:"Reserved Keywords",id:"reserved-keywords",level:2}];function p(s){const e={a:"a",admonition:"admonition",annotation:"annotation",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",img:"img",li:"li",math:"math",mfrac:"mfrac",mi:"mi",mn:"mn",mo:"mo",mover:"mover",mrow:"mrow",mspace:"mspace",msqrt:"msqrt",mstyle:"mstyle",msub:"msub",msubsup:"msubsup",msup:"msup",mtable:"mtable",mtd:"mtd",mtext:"mtext",mtr:"mtr",munder:"munder",p:"p",path:"path",pre:"pre",semantics:"semantics",span:"span",strong:"strong",svg:"svg",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,n.R)(),...s.components},{Details:a}=e;return a||function(s,e){throw new Error("Expected "+(e?"component":"object")+" `"+s+"` to be defined: you likely forgot to import, pass, or provide it.")}("Details",!0),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.header,{children:(0,t.jsx)(e.h1,{id:"math-expressions",children:"Math Expressions"})}),"\n",(0,t.jsx)(e.admonition,{title:"CLI Usage",type:"note",children:(0,t.jsxs)(e.p,{children:["This documentation page is intended for the ",(0,t.jsx)(e.a,{href:"use_cli",children:"Command Line Interface (CLI)"}),". If you're new to DuneCopasi, we recommend starting with our ",(0,t.jsx)(e.a,{href:"/tutorials",children:"Tutorials"}),"."]})}),"\n",(0,t.jsxs)(e.p,{children:["Mathematical expressions ",(0,t.jsx)(e.code,{children:"{math-expr}"})," are permitted on different arguments of the\n",(0,t.jsx)(e.a,{href:"param_tree",children:"configuration options"}),". They consist of a string\nthat when interpreted and evaluated returns a numeric value. Such expressions may contain typical math\noperations such as ",(0,t.jsx)(e.code,{children:"+"}),", ",(0,t.jsx)(e.code,{children:"-"}),", ",(0,t.jsx)(e.code,{children:"*"}),", ",(0,t.jsx)(e.code,{children:"sin"}),", ",(0,t.jsx)(e.code,{children:"tan"}),", ",(0,t.jsx)(e.code,{children:"sqrt"}),", etc."]}),"\n",(0,t.jsxs)(e.admonition,{title:"Example",type:"tip",children:[(0,t.jsxs)(e.p,{children:["The example below initializes the variable ",(0,t.jsx)(e.code,{children:"u"})," with ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"u"}),(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mo,{stretchy:"false",children:"("}),(0,t.jsx)(e.mn,{children:"0"}),(0,t.jsx)(e.mo,{stretchy:"false",children:")"})]})]}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsx)(e.mn,{children:"1"}),(0,t.jsx)(e.mo,{children:"+"}),(0,t.jsx)(e.mn,{children:"2"}),(0,t.jsx)(e.mo,{children:"\u22c5"}),(0,t.jsx)(e.mn,{children:"1"}),(0,t.jsxs)(e.msup,{children:[(0,t.jsx)(e.mn,{children:"0"}),(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mo,{children:"\u2212"}),(0,t.jsx)(e.mn,{children:"10"})]})]})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\texttt{u}_{(0)}=1+2\\cdot 10^{-10}"})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.7858em",verticalAlign:"-0.3552em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"u"})}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.3448em"},children:(0,t.jsxs)(e.span,{style:{top:"-2.5198em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsxs)(e.span,{className:"mord mtight",children:[(0,t.jsx)(e.span,{className:"mopen mtight",children:"("}),(0,t.jsx)(e.span,{className:"mord mtight",children:"0"}),(0,t.jsx)(e.span,{className:"mclose mtight",children:")"})]})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.3552em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.7278em",verticalAlign:"-0.0833em"}}),(0,t.jsx)(e.span,{className:"mord",children:"1"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsx)(e.span,{className:"mbin",children:"+"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.6444em"}}),(0,t.jsx)(e.span,{className:"mord",children:"2"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsx)(e.span,{className:"mbin",children:"\u22c5"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.8141em"}}),(0,t.jsx)(e.span,{className:"mord",children:"1"}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord",children:"0"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.8141em"}
1,children:(0,t.jsxs)(e.span,{style:{top:"-3.063em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsxs)(e.span,{className:"mord mtight",children:[(0,t.jsx)(e.span,{className:"mord mtight",children:"\u2212"}),(0,t.jsx)(e.span,{className:"mord mtight",children:"10"})]})})]})})})})})]})]})]})]})," and sets its diffusion coefficient to ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{mathvariant:"sans-serif",children:"D"}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"u"})]}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsx)(e.msqrt,{children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mn,{children:"2"}),(0,t.jsx)(e.mo,{children:"\u22c5"}),(0,t.jsx)(e.mn,{children:"1"}),(0,t.jsxs)(e.msup,{children:[(0,t.jsx)(e.mn,{children:"0"}),(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mo,{children:"\u2212"}),(0,t.jsx)(e.mn,{children:"10"})]})]})]})})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\mathsf{D}_{\\texttt{u}} = \\sqrt{2\\cdot 10^{-10}}"})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.8444em",verticalAlign:"-0.15em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathsf",children:"D"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.1514em"},children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"0em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:(0,t.jsx)(e.span,{className:"mord text mtight",children:(0,t.jsx)(e.span,{className:"mord texttt mtight",children:"u"})})})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1.04em",verticalAlign:"-0.0849em"}}),(0,t.jsx)(e.span,{className:"mord sqrt",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.9551em"},children:[(0,t.jsxs)(e.span,{className:"svg-align",style:{top:"-3em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsxs)(e.span,{className:"mord",style:{paddingLeft:"0.833em"},children:[(0,t.jsx)(e.span,{className:"mord",children:"2"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsx)(e.span,{className:"mbin",children:"\u22c5"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsx)(e.span,{className:"mord",children:"1"}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord",children:"0"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.7401em"},children:(0,t.jsxs)(e.span,{style:{top:"-2.989em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsxs)(e.span,{className:"mord mtight",children:[(0,t.jsx)(e.span,{className:"mord mtight",children:"\u2212"}),(0,t.jsx)(e.span,{className:"mord mtight",children:"10"})]})})]})})})})})]})]})]}
1),(0,t.jsxs)(e.span,{style:{top:"-2.9151em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"hide-tail",style:{minWidth:"0.853em",height:"1.08em"},children:(0,t.jsx)(e.svg,{xmlns:"http://www.w3.org/2000/svg",width:"400em",height:"1.08em",viewBox:"0 0 400000 1080",preserveAspectRatio:"xMinYMin slice",children:(0,t.jsx)(e.path,{d:"M95,702\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl0 -0\nc5.3,-9.3,12,-14,20,-14\nH400000v40H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM834 80h400000v40h-400000z"})})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.0849em"},children:(0,t.jsx)(e.span,{})})})]})})]})]})]}),"."]}),(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-ini",metastring:'title="config.ini"',children:"[model.scalar_value.u]\ninitial.expression = 1.0 + 2e-10\ncross_diffusion.u.expression = sqrt(2e-10)\n"})}),(0,t.jsx)(e.p,{children:"Note how the contents of these arguments need to be understood by a suitable math interpreter."})]}),"\n",(0,t.jsxs)(e.admonition,{title:"Syntax",type:"note",children:[(0,t.jsxs)(e.p,{children:["The exact syntax permitted within math expressions ",(0,t.jsx)(e.code,{children:"{math-expr}"})," depends on the parser type used to interpret\nthe expression. Every expression may be instructed to be interpreted with a different parser by setting ",(0,t.jsx)(e.code,{children:"[*.]parser_type={enum}"}),". The possible parsers are:"]}),(0,t.jsxs)(a,{children:[(0,t.jsx)("summary",{children:(0,t.jsx)(e.p,{children:(0,t.jsx)(e.code,{children:"'ExprTk'"})})}),(0,t.jsxs)(e.p,{children:["The C++ Mathematical Expression Toolkit Library. Focuses in functionality and ",(0,t.jsx)(e.a,{href:"https://github.com/ArashPartow/math-parser-benchmark-project",children:"performance"}),"."]}),(0,t.jsx)(e.p,{children:(0,t.jsx)(e.a,{href:"https://www.partow.net/programming/exprtk/index.html",children:"https://www.partow.net/programming/exprtk/index.html"})})]}),(0,t.jsxs)(a,{children:[(0,t.jsx)("summary",{children:(0,t.jsx)(e.p,{children:(0,t.jsx)(e.code,{children:"'MuParser'"})})}),(0,t.jsx)(e.p,{children:"A fast math parser library. Available in most package managers."}),(0,t.jsx)(e.p,{children:(0,t.jsx)(e.a,{href:"https://beltoforion.de/en/muparser",children:"https://beltoforion.de/en/muparser"})})]}),(0,t.jsxs)(a,{children:[(0,t.jsx)("summary",{children:(0,t.jsx)(e.p,{children:(0,t.jsx)(e.code,{children:"'SymEngine'"})})}),(0,t.jsxs)(e.p,{children:["A symbolic manipulation library. Best known for its python bindings: ",(0,t.jsx)(e.a,{href:"https://www.sympy.org/en/index.html",children:(0,t.jsx)(e.code,{children:"SymPy"})}),"."]}),(0,t.jsx)(e.p,{children:(0,t.jsx)(e.a,{href:"https://symengine.org",children:"https://symengine.org"})})]}),(0,t.jsxs)(a,{children:[(0,t.jsx)("summary",{children:(0,t.jsx)(e.p,{children:(0,t.jsx)(e.code,{children:"'SymEngineSBML'"})})}),(0,t.jsxs)(e.p,{children:["A ",(0,t.jsx)(e.a,{href:"https://sbml.org/software/libsbml/5.18.0/docs/formatted/csharp-api/libsbml-csharp-math.html",children:"SBML"})," flavored syntax of the ",(0,t.jsx)(e.code,{children:"'SymEngine'"})," parser."]}),(0,t.jsx)(e.p,{children:(0,t.jsx)(e.a,{href:"https://symengine.org",children:"https://symengine.org"})})]}),(0,t.jsx)(e.admonition,{title:"Parser availability",type:"caution",children:(0,t.jsxs)(e.p,{children:["Some parsers may not be available depending on how ",(0,t.jsx)(e.code,{children:"dune-copasi"})," is compiled. To see the available parsers use the ",(0,t.jsx)(e.code,{children:"--parser-list"})," command."]})}),(0,t.jsxs)(e.admonition,{title:"Parser composition",type:"tip",children:[(0,t.jsxs)(e.p,{children:["Every expression in ",(0,t.jsx)(e.code,{children:"{math-expr}"})," is compiled independently. This means that different parser types may be used in the same model definition. This is helful when the syntax of one parser is more convenient to write one expression. For example, the\n",(0,t.jsx)(e.code,{children:"ExprTk"})," parser allows the usage of ",(0,t.jsx)(e.a,{href:"https://en.wikipedia.org/wiki/Ternary_conditional_operator",children:"ternary conditional operator"})," ",(0,t.jsx)(e.code,{children:"cond ? expr1 : expr2"})," whereas ",(0,t.jsx)(e.code,{children:"SymEngine"})," does not:"]}),(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-ini",metastring:'title="config.ini"',children:"[parser_context.pulse]\ntype = function\n# %highlight\nexpression = t, t0, dt: abs(t-t0) < dt ? 1 : 0\nparser_t
1ype = ExprTk\n\n[model.scalar_value.u]\nreaction.expression = 1e10 + pulse(time, 10, 1)\n# %highlight\nreaction.parser_type = SymEngine\n"})})]})]}),"\n",(0,t.jsx)(e.h1,{id:"keywords",children:"Keywords"}),"\n",(0,t.jsx)(e.p,{children:"Math expressions may be evaluated in many different contextual environments, such as, in the initialization of variables,\na coefficient interpretation, or as an aid to define the cells that belong to a comartment. Depending on the context, several keywords are defined in order to help expressing the desired mathematical model. These keywords are declared and defined in the following way:"}),"\n",(0,t.jsx)(e.h2,{id:"contextual-transient-keyword",children:"Contextual Transient Keyword"}),"\n",(0,t.jsxs)(e.p,{children:["Whenever the context of the evaluation is transient, the ",(0,t.jsx)(e.code,{children:"time"})," keyword will evaluate to the corresponding simulation time ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsx)(e.mrow,{children:(0,t.jsx)(e.mi,{children:"t"})}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"t"})]})})}),(0,t.jsx)(e.span,{className:"katex-html","aria-hidden":"true",children:(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.6151em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"t"})]})})]}),".\nIn other words,"]}),"\n",(0,t.jsx)(e.span,{className:"katex-display",children:(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"time"}),(0,t.jsx)(e.mo,{children:":"}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsx)(e.mi,{children:"t"}),(0,t.jsx)(e.mi,{mathvariant:"normal",children:"."})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\texttt{time}:=t."})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.6111em"}}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"time"})}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:":="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.6151em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"t"}),(0,t.jsx)(e.span,{className:"mord",children:"."})]})]})]})}),"\n",(0,t.jsx)(e.h2,{id:"contextual-domain-keywords",children:"Contextual Domain Keywords"}),"\n",(0,t.jsxs)(e.p,{children:["Whenever an expression is evaluated at a position ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mi,{children:"x"}),(0,t.jsx)(e.mo,{children:"\u2208"}),(0,t.jsx)(e.mi,{mathvariant:"normal",children:"\u03a9"}),(0,t.jsx)(e.mo,{children:"\u2282"}),(0,t.jsxs)(e.msup,{children:[(0,t.jsx)(e.mi,{mathvariant:"double-struck",children:"R"}),(0,t.jsx)(e.mi,{children:"d"})]})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"x\\in\\Omega\\subset\\mathbb{R}^d"})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.5782em",verticalAlign:"-0.0391em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"x"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"\u2208"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.7224em",verticalAlign:"-0.0391em"}}),(0,t.jsx)(e.span,{className:"mord",children:"\u03a9"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"\u2282"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.8491em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathbb",children:"R"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.8491em"}
1,children:(0,t.jsxs)(e.span,{style:{top:"-3.063em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"d"})})]})})})})})]})]})]})]})," then this position is also available within the ",(0,t.jsx)(e.code,{children:"{math-expr}"}),". Such position is made available through the ",(0,t.jsx)(e.code,{children:"position_[x|y|z]"})," keywords such that"]}),"\n",(0,t.jsx)(e.span,{className:"katex-display",children:(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mo,{stretchy:"false",children:"["}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"position_x"}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsx)(e.mtext,{children:"\u2009"}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"position_y"}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsx)(e.mtext,{children:"\u2009"}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"position_z"}),(0,t.jsx)(e.mo,{stretchy:"false",children:"]"}),(0,t.jsx)(e.mo,{children:":"}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsxs)(e.mover,{accent:"true",children:[(0,t.jsx)(e.mi,{children:"x"}),(0,t.jsx)(e.mo,{children:"^"})]}),(0,t.jsx)(e.mo,{separator:"true",children:","})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"[\\texttt{position\\_x},\\,\\texttt{position\\_y},\\,\\texttt{position\\_z}]:=\\hat{x},"})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1em",verticalAlign:"-0.25em"}}),(0,t.jsx)(e.span,{className:"mopen",children:"["}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"position_x"})}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"position_y"})}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"position_z"})}),(0,t.jsx)(e.span,{className:"mclose",children:"]"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:":="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.8889em",verticalAlign:"-0.1944em"}}),(0,t.jsx)(e.span,{className:"mord accent",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.6944em"},children:[(0,t.jsxs)(e.span,{style:{top:"-3em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"x"})]}),(0,t.jsxs)(e.span,{style:{top:"-3em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"accent-body",style:{left:"-0.2222em"},children:(0,t.jsx)(e.span,{className:"mord",children:"^"})})]})]})})})}),(0,t.jsx)(e.span,{className:"mpunct",children:","})]})]})]})}),"\n",(0,t.jsxs)(e.p,{children:["where ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsxs)(e.mover,{accent:"true",children:[(0,t.jsx)(e.mi,{children:"x"}),(0,t.jsx)(e.mo,{children:"^"})]}),(0,t.jsx)(e.mo,{children:"\u2208"}),(0,t.jsxs)(e.msup,{children:[(0,t.jsx)(e.mi,{mathvariant:"double-struck",children:"R"}),(0,t.jsx)(e.mn,{children:"3"})]})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\hat{x}\\in \\mathbb{R}^3"})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.7335em",verticalAlign:"-0.0391em"}}),(0,t.jsx)(e.span,{className:"mord accent",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.6944em"}
1,children:[(0,t.jsxs)(e.span,{style:{top:"-3em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"x"})]}),(0,t.jsxs)(e.span,{style:{top:"-3em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"accent-body",style:{left:"-0.2222em"},children:(0,t.jsx)(e.span,{className:"mord",children:"^"})})]})]})})})}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"\u2208"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.8141em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathbb",children:"R"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.8141em"},children:(0,t.jsxs)(e.span,{style:{top:"-3.063em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:"3"})})]})})})})})]})]})]})]})," is the extension of ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mi,{children:"x"}),(0,t.jsx)(e.mo,{children:"\u2208"}),(0,t.jsxs)(e.msup,{children:[(0,t.jsx)(e.mi,{mathvariant:"double-struck",children:"R"}),(0,t.jsx)(e.mi,{children:"d"})]})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"x\\in\\mathbb{R}^d"})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.5782em",verticalAlign:"-0.0391em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"x"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"\u2208"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.8491em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathbb",children:"R"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.8491em"},children:(0,t.jsxs)(e.span,{style:{top:"-3.063em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"d"})})]})})})})})]})]})]})]})," into ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsx)(e.mrow,{children:(0,t.jsxs)(e.msup,{children:[(0,t.jsx)(e.mi,{mathvariant:"double-struck",children:"R"}),(0,t.jsx)(e.mn,{children:"3"})]})}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\mathbb{R}^3"})]})})}),(0,t.jsx)(e.span,{className:"katex-html","aria-hidden":"true",children:(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.8141em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathbb",children:"R"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.8141em"},children:(0,t.jsxs)(e.span,{style:{top:"-3.063em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:"3"})})]})})})})})]})]})})]}),"."]}),"\n",(0,t.jsxs)(e.admonition,{title:"mesh definition",type:"note",children:[(0,t.jsxs)(e.p,{children:["We assume that the domain ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsx)(e.mrow,{children:(0,t.jsx)(e.mi,{mathvariant:"normal",children:"\u03a9"})}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\Omega"})]})})}),(0,t.jsx)(e.span,{className:"katex-html","aria-hidden":"true",children:(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.6833em"}}),(0,t.jsx)(e.span,{className:"mord",children:"\u03a9"})]})})]})," is covered by a mesh ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{mathvariant:"script",children:"T"}),(0,t.jsx)(e.mi,{children:"h"})]}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsx)(e.mo,{stretchy:"false",children:"{"}),(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{children:"T"}),(0,t.jsx)(e.mn,{children:"1"})]}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsx)(e.mo,{children:"\u2026"}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{children:"T"}),(0,t.jsx)(e.mi,{children:"M"})]}),(0,t.jsx)(e.mo,{stretchy:"false",children:"}"})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\mathcal{T}_h = \\{T_1, \\ldots , T_M\\}"})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.8333em",verticalAlign:"-0.15em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathcal",style:{marginRight:"0.25417em"},children:"T"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.3361em"}
1,children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"-0.2542em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"h"})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1em",verticalAlign:"-0.25em"}}),(0,t.jsx)(e.span,{className:"mopen",children:"{"}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"T"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.3011em"},children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"-0.1389em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:"1"})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"minner",children:"\u2026"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"T"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.3283em"},children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"-0.1389em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",style:{marginRight:"0.10903em"},children:"M"})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mclose",children:"}"})]})]})]})," consisting of elements which are closed sets satisfying"]}),(0,t.jsx)(e.span,{className:"katex-display",children:(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsxs)(e.munder,{children:[(0,t.jsx)(e.mo,{children:"\u22c3"}),(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mi,{children:"T"}),(0,t.jsx)(e.mo,{children:"\u2208"}),(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{mathvariant:"script",children:"T"}),(0,t.jsx)(e.mi,{children:"h"})]})]})]}),(0,t.jsx)(e.mi,{children:"T"}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsxs)(e.mover,{accent:"true",children:[(0,t.jsx)(e.mi,{mathvariant:"normal",children:"\u03a9"}),(0,t.jsx)(e.mo,{stretchy:"true",children:"\u203e"})]}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsx)(e.mspace,{width:"1em"}),(0,t.jsx)(e.mi,{mathvariant:"normal",children:"\u2200"}),(0,t.jsx)(e.mi,{children:"T"}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsxs)(e.msup,{children:[(0,t.jsx)(e.mi,{children:"T"}),(0,t.jsx)(e.mo,{mathvariant:"normal",lspace:"0em",rspace:"0em",children:"\u2032"})]}),(0,t.jsx)(e.mo,{children:"\u2208"}),(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{mathvariant:"script",children:"T"}),(0,t.jsx)(e.mi,{children:"h"})]}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsx)(e.mi,{children:"T"}),(0,t.jsx)(e.mo,{mathvariant:"normal",children:"\u2260"}),(0,t.jsxs)(e.msup,{children:[(0,t.jsx)(e.mi,{children:"T"}),(0,t.jsx)(e.mo,{mathvariant:"normal",lspace:"0em",rspace:"0em",children:"\u2032"})]}),(0,t.jsx)(e.mo,{children:":"}),(0,t.jsxs)(e.mover,{accent:"true",children:[(0,t.jsx)(e.mi,{children:"T"}),(0,t.jsx)(e.mo,{children:"\u02da"})]}),(0,t.jsx)(e.mo,{children:"\u2229"}),(0,t.jsxs)(e.msup,{children:[(0,t.jsxs)(e.mover,{accent:"true",children:[(0,t.jsx)(e.mi,{children:"T"}),(0,t.jsx)(e.mo,{children:"\u02da"})]}),(0,t.jsx)(e.mo,{mathvariant:"normal",lspace:"0em",rspace:"0em",children:"\u2032"})]}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsx)(e.mi,{mathvariant:"normal",children:"\u2205"}),(0,t.jsx)(e.mo,{separator:"true",children:","})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\bigcup_{T\\in \\mathcal{T}_h} T = \\overline{\\Omega}, \\quad\n\\forall T, T' \\in \\mathcal{T}_h, T\\neq T' : \\mathring{T} \\cap \\mathring{T}' = \\emptyset,"})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"2.4502em",verticalAlign:"-1.4002em"}}),(0,t.jsx)(e.span,{className:"mop op-limits",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"1.05em"}
1,children:[(0,t.jsxs)(e.span,{style:{top:"-1.8557em",marginLeft:"0em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3.05em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsxs)(e.span,{className:"mord mtight",children:[(0,t.jsx)(e.span,{className:"mord mathnormal mtight",style:{marginRight:"0.13889em"},children:"T"}),(0,t.jsx)(e.span,{className:"mrel mtight",children:"\u2208"}),(0,t.jsxs)(e.span,{className:"mord mtight",children:[(0,t.jsx)(e.span,{className:"mord mathcal mtight",style:{marginRight:"0.25417em"},children:"T"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.3448em"},children:(0,t.jsxs)(e.span,{style:{top:"-2.3488em",marginLeft:"-0.2542em",marginRight:"0.0714em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.5em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size3 size1 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"h"})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.1512em"},children:(0,t.jsx)(e.span,{})})})]})})]})]})})]}),(0,t.jsxs)(e.span,{style:{top:"-3.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3.05em"}}),(0,t.jsx)(e.span,{children:(0,t.jsx)(e.span,{className:"mop op-symbol large-op",children:"\u22c3"})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"1.4002em"},children:(0,t.jsx)(e.span,{})})})]})}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"T"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1.0778em",verticalAlign:"-0.1944em"}}),(0,t.jsx)(e.span,{className:"mord overline",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.8833em"},children:[(0,t.jsxs)(e.span,{style:{top:"-3em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsx)(e.span,{className:"mord",children:"\u03a9"})})]}),(0,t.jsxs)(e.span,{style:{top:"-3.8033em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"overline-line",style:{borderBottomWidth:"0.04em"}})]})]})})})}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"1em"}}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mord",children:"\u2200"}),(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"T"}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"T"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.8019em"},children:(0,t.jsxs)(e.span,{style:{top:"-3.113em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:"\u2032"})})})]})})})})})]}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"\u2208"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.8889em",verticalAlign:"-0.1944em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathcal",style:{marginRight:"0.25417em"},children:"T"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.3361em"}
1,children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"-0.2542em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"h"})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"T"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsxs)(e.span,{className:"mrel",children:[(0,t.jsx)(e.span,{className:"mrel",children:(0,t.jsx)(e.span,{className:"mord vbox",children:(0,t.jsx)(e.span,{className:"thinbox",children:(0,t.jsxs)(e.span,{className:"rlap",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.8889em",verticalAlign:"-0.1944em"}}),(0,t.jsx)(e.span,{className:"inner",children:(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsx)(e.span,{className:"mrel",children:"\ue020"})})}),(0,t.jsx)(e.span,{className:"fix"})]})})})}),(0,t.jsx)(e.span,{className:"mrel",children:"="})]}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.8019em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"T"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.8019em"},children:(0,t.jsxs)(e.span,{style:{top:"-3.113em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:"\u2032"})})})]})})})})})]}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:":"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.9468em"}}),(0,t.jsx)(e.span,{className:"mord accent",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.9468em"},children:[(0,t.jsxs)(e.span,{style:{top:"-3em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"T"})]}),(0,t.jsxs)(e.span,{style:{top:"-3.2523em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"accent-body",style:{left:"-0.2917em"},children:(0,t.jsx)(e.span,{className:"mord",children:"\u02da"})})]})]})})})}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsx)(e.span,{className:"mbin",children:"\u2229"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.9468em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord accent",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.9468em"},children:[(0,t.jsxs)(e.span,{style:{top:"-3em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"T"})]}),(0,t.jsxs)(e.span,{style:{top:"-3.2523em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"accent-body",style:{left:"-0.2917em"},children:(0,t.jsx)(e.span,{className:"mord",children:"\u02da"})})]})]})})})}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.8019em"}
1,children:(0,t.jsxs)(e.span,{style:{top:"-3.113em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:"\u2032"})})})]})})})})})]}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.9444em",verticalAlign:"-0.1944em"}}),(0,t.jsx)(e.span,{className:"mord",children:"\u2205"}),(0,t.jsx)(e.span,{className:"mpunct",children:","})]})]})]})}),(0,t.jsxs)(e.p,{children:["The nonempty intersections ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mi,{children:"F"}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsxs)(e.msubsup,{children:[(0,t.jsx)(e.mi,{children:"T"}),(0,t.jsx)(e.mi,{children:"F"}),(0,t.jsx)(e.mo,{children:"\u2212"})]}),(0,t.jsx)(e.mo,{children:"\u2229"}),(0,t.jsxs)(e.msubsup,{children:[(0,t.jsx)(e.mi,{children:"T"}),(0,t.jsx)(e.mi,{children:"F"}),(0,t.jsx)(e.mo,{children:"+"})]})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"F = T_F^-\\cap T_F^+"})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.6833em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"F"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1.105em",verticalAlign:"-0.2935em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"T"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.8115em"},children:[(0,t.jsxs)(e.span,{style:{top:"-2.4065em",marginLeft:"-0.1389em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",style:{marginRight:"0.13889em"},children:"F"})})]}),(0,t.jsxs)(e.span,{style:{top:"-3.1031em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mbin mtight",children:"\u2212"})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.2935em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsx)(e.span,{className:"mbin",children:"\u2229"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1.105em",verticalAlign:"-0.2935em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"T"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.8115em"},children:[(0,t.jsxs)(e.span,{style:{top:"-2.4065em",marginLeft:"-0.1389em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",style:{marginRight:"0.13889em"},children:"F"})})]}
1),(0,t.jsxs)(e.span,{style:{top:"-3.1031em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mbin mtight",children:"+"})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.2935em"},children:(0,t.jsx)(e.span,{})})})]})})]})]})]})]}),"\nof codimension 1 form the interior skeleton ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsxs)(e.msubsup,{children:[(0,t.jsx)(e.mi,{mathvariant:"script",children:"F"}),(0,t.jsx)(e.mi,{children:"h"}),(0,t.jsx)(e.mi,{children:"i"})]}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsx)(e.mo,{stretchy:"false",children:"{"}),(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{children:"F"}),(0,t.jsx)(e.mn,{children:"1"})]}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsx)(e.mo,{children:"\u2026"}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{children:"F"}),(0,t.jsx)(e.mi,{children:"N"})]}),(0,t.jsx)(e.mo,{stretchy:"false",children:"}"})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\mathcal{F}_h^i=\\{F_1,\\ldots,F_N\\}"})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1.1078em",verticalAlign:"-0.2831em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathcal",style:{marginRight:"0.09931em"},children:"F"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.8247em"},children:[(0,t.jsxs)(e.span,{style:{top:"-2.4169em",marginLeft:"-0.0993em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"h"})})]}),(0,t.jsxs)(e.span,{style:{top:"-3.063em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"i"})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.2831em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1em",verticalAlign:"-0.25em"}}),(0,t.jsx)(e.span,{className:"mopen",children:"{"}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"F"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.3011em"},children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"-0.1389em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:"1"})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"minner",children:"\u2026"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"F"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.3283em"}
1,children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"-0.1389em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",style:{marginRight:"0.10903em"},children:"N"})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mclose",children:"}"})]})]})]}),".\nEach intersection is equipped with a unit normal vector ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsx)(e.mrow,{children:(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{children:"\u03bd"}),(0,t.jsx)(e.mi,{children:"F"})]})}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\nu_F"})]})})}),(0,t.jsx)(e.span,{className:"katex-html","aria-hidden":"true",children:(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.5806em",verticalAlign:"-0.15em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.06366em"},children:"\u03bd"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.3283em"},children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"-0.0637em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",style:{marginRight:"0.13889em"},children:"F"})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]})]})})]})," pointing from ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsx)(e.mrow,{children:(0,t.jsxs)(e.msubsup,{children:[(0,t.jsx)(e.mi,{children:"T"}),(0,t.jsx)(e.mi,{children:"F"}),(0,t.jsx)(e.mo,{children:"\u2212"})]})}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"T_F^-"})]})})}),(0,t.jsx)(e.span,{className:"katex-html","aria-hidden":"true",children:(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1.105em",verticalAlign:"-0.2935em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"T"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.8115em"},children:[(0,t.jsxs)(e.span,{style:{top:"-2.4065em",marginLeft:"-0.1389em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",style:{marginRight:"0.13889em"},children:"F"})})]}),(0,t.jsxs)(e.span,{style:{top:"-3.1031em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mbin mtight",children:"\u2212"})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.2935em"},children:(0,t.jsx)(e.span,{})})})]})})]})]})})]})," to ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsx)(e.mrow,{children:(0,t.jsxs)(e.msubsup,{children:[(0,t.jsx)(e.mi,{children:"T"}),(0,t.jsx)(e.mi,{children:"F"}),(0,t.jsx)(e.mo,{children:"+"})]})}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"T_F^+"})]})})}),(0,t.jsx)(e.span,{className:"katex-html","aria-hidden":"true",children:(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1.105em",verticalAlign:"-0.2935em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"T"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.8115em"}
1,children:[(0,t.jsxs)(e.span,{style:{top:"-2.4065em",marginLeft:"-0.1389em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",style:{marginRight:"0.13889em"},children:"F"})})]}),(0,t.jsxs)(e.span,{style:{top:"-3.1031em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mbin mtight",children:"+"})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.2935em"},children:(0,t.jsx)(e.span,{})})})]})})]})]})})]}),".\nThe intersections of an element ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mi,{children:"F"}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsxs)(e.msubsup,{children:[(0,t.jsx)(e.mi,{children:"T"}),(0,t.jsx)(e.mi,{children:"F"}),(0,t.jsx)(e.mo,{children:"\u2212"})]}),(0,t.jsx)(e.mo,{children:"\u2229"}),(0,t.jsx)(e.mi,{mathvariant:"normal",children:"\u2202"}),(0,t.jsx)(e.mi,{mathvariant:"normal",children:"\u03a9"})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"F=T_F^-\\cap\\partial\\Omega"})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.6833em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"F"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1.105em",verticalAlign:"-0.2935em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"T"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.8115em"},children:[(0,t.jsxs)(e.span,{style:{top:"-2.4065em",marginLeft:"-0.1389em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",style:{marginRight:"0.13889em"},children:"F"})})]}),(0,t.jsxs)(e.span,{style:{top:"-3.1031em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mbin mtight",children:"\u2212"})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.2935em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsx)(e.span,{className:"mbin",children:"\u2229"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.6944em"}}),(0,t.jsx)(e.span,{className:"mord",style:{marginRight:"0.05556em"},children:"\u2202"}),(0,t.jsx)(e.span,{className:"mord",children:"\u03a9"})]})]})]})," with the domain\nboundary form the set of boundary intersections ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsxs)(e.msubsup,{children:[(0,t.jsx)(e.mi,{mathvariant:"script",children:"F"}),(0,t.jsx)(e.mi,{children:"h"}),(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mi,{mathvariant:"normal",children:"\u2202"}),(0,t.jsx)(e.mi,{mathvariant:"normal",children:"\u03a9"})]})]}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsx)(e.mo,{stretchy:"false",children:"{"}),(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{children:"F"}),(0,t.jsx)(e.mn,{children:"1"})]}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsx)(e.mo,{children:"\u2026"}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{children:"F"}),(0,t.jsx)(e.mi,{children:"L"})]}),(0,t.jsx)(e.mo,{stretchy:"false",children:"}"})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\mathcal{F}_h^{\\partial\\Omega}=\n\\{F_1,\\ldots,F_L\\}"})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1.1322em",verticalAlign:"-0.2831em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathcal",style:{marginRight:"0.09931em"},children:"F"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.8491em"}
1,children:[(0,t.jsxs)(e.span,{style:{top:"-2.4169em",marginLeft:"-0.0993em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"h"})})]}),(0,t.jsxs)(e.span,{style:{top:"-3.063em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsxs)(e.span,{className:"mord mtight",children:[(0,t.jsx)(e.span,{className:"mord mtight",style:{marginRight:"0.05556em"},children:"\u2202"}),(0,t.jsx)(e.span,{className:"mord mtight",children:"\u03a9"})]})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.2831em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1em",verticalAlign:"-0.25em"}}),(0,t.jsx)(e.span,{className:"mopen",children:"{"}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"F"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.3011em"},children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"-0.1389em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:"1"})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"minner",children:"\u2026"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.13889em"},children:"F"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.3283em"},children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"-0.1389em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"L"})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mclose",children:"}"})]})]})]}),".\nEach boundary intersection is equipped with a unit normal vector\n",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsx)(e.mrow,{children:(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{children:"\u03bd"}),(0,t.jsx)(e.mi,{children:"F"})]})}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\nu_F"})]})})}),(0,t.jsx)(e.span,{className:"katex-html","aria-hidden":"true",children:(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.5806em",verticalAlign:"-0.15em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.06366em"},children:"\u03bd"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.3283em"}
1,children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"-0.0637em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",style:{marginRight:"0.13889em"},children:"F"})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]})]})})]})," which coincides with the unit outer normal to the domain."]})]}),"\n",(0,t.jsxs)(e.p,{children:["Furthermore, the contextual domain evaluation is always associated to a grid element ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsx)(e.mrow,{children:(0,t.jsx)(e.mi,{children:"e"})}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"e"})]})})}),(0,t.jsx)(e.span,{className:"katex-html","aria-hidden":"true",children:(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.4306em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"e"})]})})]}),". Its properties are also expossed within the parser as:"]}),"\n",(0,t.jsx)(e.span,{className:"katex-display",children:(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mtable,{rowspacing:"0.25em",columnalign:"right left",columnspacing:"0em",children:[(0,t.jsxs)(e.mtr,{children:[(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"true",children:(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"entity_volume"})})}),(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"true",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mrow,{}),(0,t.jsx)(e.mo,{children:":"}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsx)(e.mi,{mathvariant:"normal",children:"\u2223"}),(0,t.jsx)(e.mi,{children:"e"}),(0,t.jsx)(e.mi,{mathvariant:"normal",children:"\u2223"})]})})})]}),(0,t.jsxs)(e.mtr,{children:[(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"true",children:(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"in_volume"})})}),(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"true",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mrow,{}),(0,t.jsx)(e.mo,{children:":"}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mo,{fence:"true",children:"{"}),(0,t.jsxs)(e.mtable,{rowspacing:"0.16em",columnalign:"center center",columnspacing:"1em",children:[(0,t.jsxs)(e.mtr,{children:[(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"false",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"true"}),(0,t.jsx)(e.mspace,{width:"1em"})]})})}),(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"false",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mtext,{children:"if\xa0"}),(0,t.jsx)(e.mi,{children:"e"}),(0,t.jsx)(e.mo,{children:"\u2208"}),(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{mathvariant:"script",children:"T"}),(0,t.jsx)(e.mi,{children:"h"})]})]})})})]}),(0,t.jsxs)(e.mtr,{children:[(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"false",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"false"}),(0,t.jsx)(e.mspace,{width:"1em"})]})})}),(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"false",children:(0,t.jsx)(e.mtext,{children:"otherwise"})})})]})]})]})]})})})]}),(0,t.jsxs)(e.mtr,{children:[(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"true",children:(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"in_boundary"})})}),(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"true",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mrow,{}),(0,t.jsx)(e.mo,{children:":"}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mo,{fence:"true",children:"{"}),(0,t.jsxs)(e.mtable,{rowspacing:"0.16em",columnalign:"center center",columnspacing:"1em",children:[(0,t.jsxs)(e.mtr,{children:[(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"false",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"true"}),(0,t.jsx)(e.mspace,{width:"1em"})]})})}),(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"false",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mtext,{children:"if\xa0"}),(0,t.jsx)(e.mi,{children:"e"}),(0,t.jsx)(e.mo,{children:"\u2208"}),(0,t.jsxs)(e.msubsup,{children:[(0,t.jsx)(e.mi,{mathvariant:"script",children:"F"}),(0,t.jsx)(e.mi,{children:"h"}),(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mi,{mathvariant:"normal",children:"\u2202"}),(0,t.jsx)(e.mi,{mathvariant:"normal",children:"\u03a9"})]})]})]})})})]}),(0,t.jsxs)(e.mtr,{children:[(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"false",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"false"}),(0,t.jsx)(e.mspace,{width:"1em"})]})})}),(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"false",children:(0,t.jsx)(e.mtext,{children:"otherwise"})})})]})]})]})]})})})]}),(0,t.jsxs)(e.mtr,{children:[(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"true",children:(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"in_skeleton"})})}),(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"true",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mrow,{}),(0,t.jsx)(e.mo,{children:":"}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mo,{fence:"true",children:"{"}),(0,t.jsxs)(e.mtable,{rowspacing:"0.16em",columnalign:"center center",columnspacing:"1em",children:[(0,t.jsxs)(e.mtr,{children:[(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"false",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"true"}),(0,t.jsx)(e.mspace,{width:"1em"})]})})}),(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"false",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mtext,{children:"if\xa0"}),(0,t.jsx)(e.mi,{children:"e"}),(0,t.jsx)(e.mo,{children:"\u2208"}),(0,t.jsxs)(e.msubsup,{children:[(0,t.jsx)(e.mi,{mathvariant:"script",children:"F"}),(0,t.jsx)(e.mi,{children:"h"}),(0,t.jsx)(e.mi,{children:"i"})]})]})})})]}),(0,t.jsxs)(e.mtr,{children:[(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"false",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"false"}),(0,t.jsx)(e.mspace,{width:"1em"})]})})}),(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"false",children:(0,t.jsx)(e.mtext,{children:"otherwise"})})})]})]})]})]})})})]})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\begin{aligned}\n\\texttt{entity\\_volume}&:=|e|\\\\\n\\texttt{in\\_volume}&:=\n  \\left\\{\n  \\begin{matrix}\n    \\texttt{true} \\quad& \\text{if }e\\in\\mathcal{T}_h\\\\\n    \\texttt{false} \\quad& \\text{otherwise}\n  \\end{matrix}\n  \\right.\\\\\n\\texttt{in\\_boundary}&:=\n  \\left\\{\n  \\begin{matrix}\n    \\texttt{true} \\quad& \\text{if }e\\in\\mathcal{F}_h^{\\partial\\Omega}\\\\\n    \\texttt{false} \\quad& \\text{otherwise}\n  \\end{matrix}\n  \\right.\\\\\n\\texttt{in\\_skeleton}&:=\n  \\left\\{\n  \\begin{matrix}\n    \\texttt{true} \\quad& \\text{if }e\\in\\mathcal{F}_h^i\\\\\n    \\texttt{false} \\quad& \\text{otherwise}\n  \\end{matrix}\n  \\right.\n\\end{aligned}"})]})})}),(0,t.jsx)(e.span,{className:"katex-html","aria-hidden":"true",children:(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"9.6092em",verticalAlign:"-4.5546em"}}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsxs)(e.span,{className:"mtable",children:[(0,t.jsx)(e.span,{className:"col-align-r",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"5.0546em"}
1,children:[(0,t.jsxs)(e.span,{style:{top:"-7.6691em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3.4546em"}}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"entity_volume"})})})]}),(0,t.jsxs)(e.span,{style:{top:"-5.5591em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3.4546em"}}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"in_volume"})})})]}),(0,t.jsxs)(e.span,{style:{top:"-2.8546em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3.4546em"}}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"in_boundary"})})})]}),(0,t.jsxs)(e.span,{style:{top:"-0.15em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3.4546em"}}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"in_skeleton"})})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"4.5546em"},children:(0,t.jsx)(e.span,{})})})]})}),(0,t.jsx)(e.span,{className:"col-align-l",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"5.0546em"},children:[(0,t.jsxs)(e.span,{style:{top:"-7.6691em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3.4546em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:":="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mord",children:"\u2223"}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"e"}),(0,t.jsx)(e.span,{className:"mord",children:"\u2223"})]})]}),(0,t.jsxs)(e.span,{style:{top:"-5.5591em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3.4546em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:":="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsxs)(e.span,{className:"minner",children:[(0,t.jsx)(e.span,{className:"mopen delimcenter",style:{top:"0em"},children:(0,t.jsx)(e.span,{className:"delimsizing size3",children:"{"})}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsxs)(e.span,{className:"mtable",children:[(0,t.jsx)(e.span,{className:"col-align-c",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"1.45em"},children:[(0,t.jsxs)(e.span,{style:{top:"-3.61em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"true"})}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"1em"}})]})]}),(0,t.jsxs)(e.span,{style:{top:"-2.41em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"false"})}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"1em"}})]})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.95em"},children:(0,t.jsx)(e.span,{})})})]})}),(0,t.jsx)(e.span,{className:"arraycolsep",style:{width:"0.5em"}}),(0,t.jsx)(e.span,{className:"arraycolsep",style:{width:"0.5em"}}),(0,t.jsx)(e.span,{className:"col-align-c",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"1.45em"}
1,children:[(0,t.jsxs)(e.span,{style:{top:"-3.61em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord",children:"if\xa0"})}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"e"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"\u2208"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathcal",style:{marginRight:"0.25417em"},children:"T"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.3361em"},children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"-0.2542em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"h"})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]})]})]}),(0,t.jsxs)(e.span,{style:{top:"-2.41em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord",children:"otherwise"})})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.95em"},children:(0,t.jsx)(e.span,{})})})]})})]})}),(0,t.jsx)(e.span,{className:"mclose nulldelimiter"})]})]})]}),(0,t.jsxs)(e.span,{style:{top:"-2.8546em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3.4546em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:":="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsxs)(e.span,{className:"minner",children:[(0,t.jsx)(e.span,{className:"mopen delimcenter",style:{top:"0em"},children:(0,t.jsx)(e.span,{className:"delimsizing size3",children:"{"})}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsxs)(e.span,{className:"mtable",children:[(0,t.jsx)(e.span,{className:"col-align-c",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"1.4546em"},children:[(0,t.jsxs)(e.span,{style:{top:"-3.6054em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"true"})}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"1em"}})]})]}),(0,t.jsxs)(e.span,{style:{top:"-2.4054em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"false"})}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"1em"}})]})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.9546em"},children:(0,t.jsx)(e.span,{})})})]})}),(0,t.jsx)(e.span,{className:"arraycolsep",style:{width:"0.5em"}}),(0,t.jsx)(e.span,{className:"arraycolsep",style:{width:"0.5em"}}),(0,t.jsx)(e.span,{className:"col-align-c",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"1.4546em"}
1,children:[(0,t.jsxs)(e.span,{style:{top:"-3.6054em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord",children:"if\xa0"})}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"e"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"\u2208"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathcal",style:{marginRight:"0.09931em"},children:"F"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.8491em"},children:[(0,t.jsxs)(e.span,{style:{top:"-2.4169em",marginLeft:"-0.0993em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"h"})})]}),(0,t.jsxs)(e.span,{style:{top:"-3.063em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsxs)(e.span,{className:"mord mtight",children:[(0,t.jsx)(e.span,{className:"mord mtight",style:{marginRight:"0.05556em"},children:"\u2202"}),(0,t.jsx)(e.span,{className:"mord mtight",children:"\u03a9"})]})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.2831em"},children:(0,t.jsx)(e.span,{})})})]})})]})]})]}),(0,t.jsxs)(e.span,{style:{top:"-2.4054em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord",children:"otherwise"})})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.9546em"},children:(0,t.jsx)(e.span,{})})})]})})]})}),(0,t.jsx)(e.span,{className:"mclose nulldelimiter"})]})]})]}),(0,t.jsxs)(e.span,{style:{top:"-0.15em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3.4546em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:":="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsxs)(e.span,{className:"minner",children:[(0,t.jsx)(e.span,{className:"mopen delimcenter",style:{top:"0em"},children:(0,t.jsx)(e.span,{className:"delimsizing size3",children:"{"})}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsxs)(e.span,{className:"mtable",children:[(0,t.jsx)(e.span,{className:"col-align-c",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"1.45em"},children:[(0,t.jsxs)(e.span,{style:{top:"-3.61em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"true"})}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"1em"}})]})]}),(0,t.jsxs)(e.span,{style:{top:"-2.41em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"false"})}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"1em"}})]})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.95em"},children:(0,t.jsx)(e.span,{})})})]})}),(0,t.jsx)(e.span,{className:"arraycolsep",style:{width:"0.5em"}}),(0,t.jsx)(e.span,{className:"arraycolsep",style:{width:"0.5em"}}),(0,t.jsx)(e.span,{className:"col-align-c",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"1.45em"}
1,children:[(0,t.jsxs)(e.span,{style:{top:"-3.61em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord",children:"if\xa0"})}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"e"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"\u2208"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathcal",style:{marginRight:"0.09931em"},children:"F"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.8247em"},children:[(0,t.jsxs)(e.span,{style:{top:"-2.4169em",marginLeft:"-0.0993em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"h"})})]}),(0,t.jsxs)(e.span,{style:{top:"-3.063em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"i"})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.2831em"},children:(0,t.jsx)(e.span,{})})})]})})]})]})]}),(0,t.jsxs)(e.span,{style:{top:"-2.41em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord",children:"otherwise"})})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.95em"},children:(0,t.jsx)(e.span,{})})})]})})]})}),(0,t.jsx)(e.span,{className:"mclose nulldelimiter"})]})]})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"4.5546em"},children:(0,t.jsx)(e.span,{})})})]})})]})})]})})]})}),"\n",(0,t.jsxs)(e.p,{children:["In the cases where ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mi,{children:"e"}),(0,t.jsx)(e.mo,{children:"\u2208"}),(0,t.jsxs)(e.msubsup,{children:[(0,t.jsx)(e.mi,{mathvariant:"script",children:"F"}),(0,t.jsx)(e.mi,{children:"h"}),(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mi,{mathvariant:"normal",children:"\u2202"}),(0,t.jsx)(e.mi,{mathvariant:"normal",children:"\u03a9"})]})]}),(0,t.jsx)(e.mo,{children:"\u222a"}),(0,t.jsxs)(e.msubsup,{children:[(0,t.jsx)(e.mi,{mathvariant:"script",children:"F"}),(0,t.jsx)(e.mi,{children:"h"}),(0,t.jsx)(e.mi,{children:"i"})]})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"e\\in\\mathcal{F}_h^{\\partial\\Omega}\\cup\\mathcal{F}_h^i"})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.5782em",verticalAlign:"-0.0391em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"e"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"\u2208"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1.1322em",verticalAlign:"-0.2831em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathcal",style:{marginRight:"0.09931em"},children:"F"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.8491em"}
1,children:[(0,t.jsxs)(e.span,{style:{top:"-2.4169em",marginLeft:"-0.0993em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"h"})})]}),(0,t.jsxs)(e.span,{style:{top:"-3.063em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsxs)(e.span,{className:"mord mtight",children:[(0,t.jsx)(e.span,{className:"mord mtight",style:{marginRight:"0.05556em"},children:"\u2202"}),(0,t.jsx)(e.span,{className:"mord mtight",children:"\u03a9"})]})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.2831em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsx)(e.span,{className:"mbin",children:"\u222a"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1.1078em",verticalAlign:"-0.2831em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathcal",style:{marginRight:"0.09931em"},children:"F"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.8247em"},children:[(0,t.jsxs)(e.span,{style:{top:"-2.4169em",marginLeft:"-0.0993em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"h"})})]}),(0,t.jsxs)(e.span,{style:{top:"-3.063em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"i"})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.2831em"},children:(0,t.jsx)(e.span,{})})})]})})]})]})]})]})," we also have that its unit outer normal vector is exposed with the keywords ",(0,t.jsx)(e.code,{children:"normal_[x|y|z]"})," such that"]}),"\n",(0,t.jsx)(e.span,{className:"katex-display",children:(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mo,{stretchy:"false",children:"["}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"normal_x"}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"normal_y"}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"normal_z"}),(0,t.jsx)(e.mo,{stretchy:"false",children:"]"}),(0,t.jsx)(e.mo,{children:":"}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsxs)(e.msub,{children:[(0,t.jsxs)(e.mover,{accent:"true",children:[(0,t.jsx)(e.mi,{children:"\u03bd"}),(0,t.jsx)(e.mo,{children:"^"})]}),(0,t.jsx)(e.mi,{children:"F"})]}),(0,t.jsx)(e.mo,{separator:"true",children:","})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"[\\texttt{normal\\_x}, \\texttt{normal\\_y}, \\texttt{normal\\_z}] := \\hat{\\nu}_F,"})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1em",verticalAlign:"-0.25em"}}),(0,t.jsx)(e.span,{className:"mopen",children:"["}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"normal_x"})}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"normal_y"})}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"normal_z"})}),(0,t.jsx)(e.span,{className:"mclose",children:"]"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:":="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.8889em",verticalAlign:"-0.1944em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord accent",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.6944em"}
1,children:[(0,t.jsxs)(e.span,{style:{top:"-3em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.06366em"},children:"\u03bd"})]}),(0,t.jsxs)(e.span,{style:{top:"-3em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"accent-body",style:{left:"-0.2222em"},children:(0,t.jsx)(e.span,{className:"mord",children:"^"})})]})]})})})}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.3283em"},children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"-0.0637em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",style:{marginRight:"0.13889em"},children:"F"})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mpunct",children:","})]})]})]})}),"\n",(0,t.jsxs)(e.p,{children:["where ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsxs)(e.msub,{children:[(0,t.jsxs)(e.mover,{accent:"true",children:[(0,t.jsx)(e.mi,{children:"\u03bd"}),(0,t.jsx)(e.mo,{children:"^"})]}),(0,t.jsx)(e.mi,{children:"F"})]}),(0,t.jsx)(e.mo,{children:"\u2208"}),(0,t.jsxs)(e.msup,{children:[(0,t.jsx)(e.mi,{mathvariant:"double-struck",children:"R"}),(0,t.jsx)(e.mn,{children:"3"})]})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\hat{\\nu}_F\\in \\mathbb{R}^3"})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.8444em",verticalAlign:"-0.15em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord accent",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.6944em"},children:[(0,t.jsxs)(e.span,{style:{top:"-3em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.06366em"},children:"\u03bd"})]}),(0,t.jsxs)(e.span,{style:{top:"-3em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"accent-body",style:{left:"-0.2222em"},children:(0,t.jsx)(e.span,{className:"mord",children:"^"})})]})]})})})}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.3283em"},children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"-0.0637em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",style:{marginRight:"0.13889em"},children:"F"})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"\u2208"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.8141em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathbb",children:"R"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.8141em"}
1,children:(0,t.jsxs)(e.span,{style:{top:"-3.063em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:"3"})})]})})})})})]})]})]})]})," is the extension of ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{children:"\u03bd"}),(0,t.jsx)(e.mi,{children:"F"})]}),(0,t.jsx)(e.mo,{children:"\u2208"}),(0,t.jsxs)(e.msup,{children:[(0,t.jsx)(e.mi,{mathvariant:"double-struck",children:"R"}),(0,t.jsx)(e.mi,{children:"d"})]})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\nu_F\\in\\mathbb{R}^d"})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.6891em",verticalAlign:"-0.15em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.06366em"},children:"\u03bd"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.3283em"},children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"-0.0637em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",style:{marginRight:"0.13889em"},children:"F"})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"\u2208"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.8491em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathbb",children:"R"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.8491em"},children:(0,t.jsxs)(e.span,{style:{top:"-3.063em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"d"})})]})})})})})]})]})]})]})," into ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsx)(e.mrow,{children:(0,t.jsxs)(e.msup,{children:[(0,t.jsx)(e.mi,{mathvariant:"double-struck",children:"R"}),(0,t.jsx)(e.mn,{children:"3"})]})}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\mathbb{R}^3"})]})})}),(0,t.jsx)(e.span,{className:"katex-html","aria-hidden":"true",children:(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.8141em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathbb",children:"R"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.8141em"},children:(0,t.jsxs)(e.span,{style:{top:"-3.063em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:"3"})})]})})})})})]})]})})]}),"."]}),"\n",(0,t.jsx)(e.h2,{id:"contextual-scalar-field-keywords",children:"Contextual Scalar Field Keywords"}),"\n",(0,t.jsxs)(e.p,{children:["There are cases where the evaluation of ",(0,t.jsx)(e.code,{children:"{math-expr}"})," is made when the results of the scalar values ",(0,t.jsx)(e.code,{children:"{var}"})," (or a trial function of them) are known. In such cases, the value of ",(0,t.jsx)(e.code,{children:"{var}"})," evaluated at position ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsx)(e.mrow,{children:(0,t.jsx)(e.mi,{children:"x"})}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"x"})]})})}),(0,t.jsx)(e.span,{className:"katex-html","aria-hidden":"true",children:(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.4306em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"x"})]})})]})," is made available thoruhg the parsers. Additionally, its gradient ",(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsx)(e.mrow,{children:(0,t.jsxs)(e.mfrac,{children:[(0,t.jsx)(e.mi,{mathvariant:"normal",children:"\u2202"}),(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mi,{mathvariant:"normal",children:"\u2202"}),(0,t.jsxs)(e.mover,{accent:"true",children:[(0,t.jsx)(e.mi,{children:"x"}),(0,t.jsx)(e.mo,{children:"^"})]})]})]})}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\frac{\\partial}{\\partial \\hat{x}}"})]})})}),(0,t.jsx)(e.span,{className:"katex-html","aria-hidden":"true",children:(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"1.2251em",verticalAlign:"-0.345em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mopen nulldelimiter"}),(0,t.jsx)(e.span,{className:"mfrac",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.8801em"}
1,children:[(0,t.jsxs)(e.span,{style:{top:"-2.655em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsxs)(e.span,{className:"mord mtight",children:[(0,t.jsx)(e.span,{className:"mord mtight",style:{marginRight:"0.05556em"},children:"\u2202"}),(0,t.jsx)(e.span,{className:"mord accent mtight",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.6944em"},children:[(0,t.jsxs)(e.span,{style:{top:"-2.7em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"x"})]}),(0,t.jsxs)(e.span,{style:{top:"-2.7em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"accent-body",style:{left:"-0.2222em"},children:(0,t.jsx)(e.span,{className:"mord mtight",children:"^"})})]})]})})})})]})})]}),(0,t.jsxs)(e.span,{style:{top:"-3.23em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"frac-line",style:{borderBottomWidth:"0.04em"}})]}),(0,t.jsxs)(e.span,{style:{top:"-3.394em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",style:{marginRight:"0.05556em"},children:"\u2202"})})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.345em"},children:(0,t.jsx)(e.span,{})})})]})}),(0,t.jsx)(e.span,{className:"mclose nulldelimiter"})]})]})})]}),(0,t.jsx)(e.code,{children:"{var}"})," is also represented by the ",(0,t.jsx)(e.code,{children:"grad_{var}_[x|y|z]"})," tokens."]}),"\n",(0,t.jsxs)(e.admonition,{title:"example",type:"tip",children:[(0,t.jsx)(e.p,{children:"The configuration file to represent the system of ordinary differential equations"}),(0,t.jsx)(e.span,{className:"katex-display",children:(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mtable,{rowspacing:"0.25em",columnalign:"right left",columnspacing:"0em",children:[(0,t.jsxs)(e.mtr,{children:[(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"true",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{mathvariant:"normal",children:"\u2202"}),(0,t.jsx)(e.mi,{children:"t"})]}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"u"})]})})}),(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"true",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mrow,{}),(0,t.jsx)(e.mo,{children:"\u2212"}),(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{mathvariant:"script",children:"R"}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"u"})]}),(0,t.jsx)(e.mo,{stretchy:"false",children:"("}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"u"}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"z"}),(0,t.jsx)(e.mo,{stretchy:"false",children:")"}),(0,t.jsx)(e.mo,{separator:"true",children:","})]})})})]}),(0,t.jsxs)(e.mtr,{children:[(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"true",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{mathvariant:"normal",children:"\u2202"}),(0,t.jsx)(e.mi,{children:"t"})]}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"z"})]})})}),(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"true",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mrow,{}),(0,t.jsx)(e.mo,{children:"\u2212"}),(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{mathvariant:"script",children:"R"}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"z"})]}),(0,t.jsx)(e.mo,{stretchy:"false",children:"("}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"u"}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"z"}),(0,t.jsx)(e.mo,{stretchy:"false",children:")"})]})})})]})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\begin{aligned}\n\\partial_t \\texttt{u}& - \\mathcal{R}_\\texttt{u}(\\texttt{u}, \\texttt{z}),\\\\\n\\partial_t \\texttt{z}& - \\mathcal{R}_\\texttt{z}(\\texttt{u}, \\texttt{z})\n\\end{aligned}"})]})})}),(0,t.jsx)(e.span,{className:"katex-html","aria-hidden":"true",children:(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"3em",verticalAlign:"-1.25em"}}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsxs)(e.span,{className:"mtable",children:[(0,t.jsx)(e.span,{className:"col-align-r",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"1.75em"}
1,children:[(0,t.jsxs)(e.span,{style:{top:"-3.91em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord",style:{marginRight:"0.05556em"},children:"\u2202"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.2806em"},children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"-0.0556em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"t"})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"u"})})]})]}),(0,t.jsxs)(e.span,{style:{top:"-2.41em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord",style:{marginRight:"0.05556em"},children:"\u2202"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.2806em"},children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"-0.0556em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"t"})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"z"})})]})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"1.25em"},children:(0,t.jsx)(e.span,{})})})]})}),(0,t.jsx)(e.span,{className:"col-align-l",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"1.75em"},children:[(0,t.jsxs)(e.span,{style:{top:"-3.91em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsx)(e.span,{className:"mbin",children:"\u2212"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathcal",children:"R"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.1514em"},children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"0em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord text mtight",children:(0,t.jsx)(e.span,{className:"mord texttt mtight",children:"u"})})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mopen",children:"("}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"u"})}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"z"})}),(0,t.jsx)(e.span,{className:"mclose",children:")"}),(0,t.jsx)(e.span,{className:"mpunct",children:","})]})]}
1),(0,t.jsxs)(e.span,{style:{top:"-2.41em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsx)(e.span,{className:"mbin",children:"\u2212"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathcal",children:"R"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.1514em"},children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"0em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord text mtight",children:(0,t.jsx)(e.span,{className:"mord texttt mtight",children:"z"})})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mopen",children:"("}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"u"})}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"z"})}),(0,t.jsx)(e.span,{className:"mclose",children:")"})]})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"1.25em"},children:(0,t.jsx)(e.span,{})})})]})})]})})]})})]})}),(0,t.jsx)(e.p,{children:"with the reaction networks on the form of"}),(0,t.jsx)(e.span,{className:"katex-display",children:(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mtable,{rowspacing:"0.25em",columnalign:"right left",columnspacing:"0em",children:[(0,t.jsxs)(e.mtr,{children:[(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"true",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{mathvariant:"script",children:"R"}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"u"})]}),(0,t.jsx)(e.mo,{stretchy:"false",children:"("}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"u"}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"z"}),(0,t.jsx)(e.mo,{stretchy:"false",children:")"})]})})}),(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"true",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mrow,{}),(0,t.jsx)(e.mo,{children:":"}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"z"}),(0,t.jsx)(e.mo,{children:"\u22c5"}),(0,t.jsxs)(e.msup,{children:[(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"u"}),(0,t.jsx)(e.mn,{children:"2"})]}),(0,t.jsx)(e.mo,{children:"\u22c5"}),(0,t.jsx)(e.mo,{stretchy:"false",children:"("}),(0,t.jsx)(e.mn,{children:"1"}),(0,t.jsx)(e.mo,{children:"\u2212"}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"u"}),(0,t.jsx)(e.mo,{stretchy:"false",children:")"}),(0,t.jsx)(e.mo,{children:"\u2212"}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"u"}),(0,t.jsx)(e.mo,{separator:"true",children:","})]})})})]}),(0,t.jsxs)(e.mtr,{children:[(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"true",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{mathvariant:"script",children:"R"}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"z"})]}),(0,t.jsx)(e.mo,{stretchy:"false",children:"("}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"u"}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"z"}),(0,t.jsx)(e.mo,{stretchy:"false",children:")"})]})})}),(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"true",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mrow,{}),(0,t.jsx)(e.mo,{children:":"}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mo,{fence:"true",children:"{"}),(0,t.jsxs)(e.mtable,{rowspacing:"0.16em",columnalign:"center center",columnspacing:"1em",children:[(0,t.jsxs)(e.mtr,{children:[(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"false",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsxs)(e.mfrac,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mn,{children:"1"}),(0,t.jsx)(e.mo,{children:"\u2212"}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"z"})]}),(0,t.jsx)(e.mn,{children:"1.25"})]}),(0,t.jsx)(e.mspace,{width:"1em"})]})})}),(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"false",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mtext,{children:"if\xa0"}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"u"}),(0,t.jsx)(e.mo,{children:"\u2264"}),(0,t.jsx)(e.mn,{children:"0.1"})]})})})]}),(0,t.jsxs)(e.mtr,{children:[(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"false",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mo,{children:"\u2212"}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"z"}),(0,t.jsx)(e.mspace,{width:"1em"})]})})}),(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"false",children:(0,t.jsx)(e.mtext,{children:"otherwise"})})})]})]})]})]})})})]})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\begin{aligned}\n\\mathcal{R}_\\texttt{u}(\\texttt{u}, \\texttt{z})&:= \\texttt{z}\\cdot\\texttt{u}^2\\cdot(1-\\texttt{u}) - \\texttt{u},\\\\\n\\mathcal{R}_\\texttt{z}(\\texttt{u}, \\texttt{z})&:=\n  \\left\\{\n  \\begin{matrix}\n    \\frac{1 - \\texttt{z}}{1.25} \\quad& \\text{if }\\texttt{u} \\leq 0.1\\\\\n    -\\texttt{z} \\quad& \\text{otherwise}\n  \\end{matrix}\n  \\right.\\\\\n\\end{aligned}"})]})})}),(0,t.jsx)(e.span,{className:"katex-html","aria-hidden":"true",children:(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"4.2292em",verticalAlign:"-1.8646em"}}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsxs)(e.span,{className:"mtable",children:[(0,t.jsx)(e.span,{className:"col-align-r",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"2.3646em"}
1,children:[(0,t.jsxs)(e.span,{style:{top:"-4.9531em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3.4526em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathcal",children:"R"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.1514em"},children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"0em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord text mtight",children:(0,t.jsx)(e.span,{className:"mord texttt mtight",children:"u"})})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mopen",children:"("}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"u"})}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"z"})}),(0,t.jsx)(e.span,{className:"mclose",children:")"})]})]}),(0,t.jsxs)(e.span,{style:{top:"-2.8405em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3.4526em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathcal",children:"R"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.1514em"},children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"0em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord text mtight",children:(0,t.jsx)(e.span,{className:"mord texttt mtight",children:"z"})})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mopen",children:"("}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"u"})}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"z"})}),(0,t.jsx)(e.span,{className:"mclose",children:")"})]})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"1.8646em"},children:(0,t.jsx)(e.span,{})})})]})}),(0,t.jsx)(e.span,{className:"col-align-l",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"2.3646em"},children:[(0,t.jsxs)(e.span,{style:{top:"-4.9531em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3.4526em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:":="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"z"})}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsx)(e.span,{className:"mbin",children:"\u22c5"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"u"})}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.8641em"}
1,children:(0,t.jsxs)(e.span,{style:{top:"-3.113em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:"2"})})]})})})})})]}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsx)(e.span,{className:"mbin",children:"\u22c5"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsx)(e.span,{className:"mopen",children:"("}),(0,t.jsx)(e.span,{className:"mord",children:"1"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsx)(e.span,{className:"mbin",children:"\u2212"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"u"})}),(0,t.jsx)(e.span,{className:"mclose",children:")"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsx)(e.span,{className:"mbin",children:"\u2212"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"u"})}),(0,t.jsx)(e.span,{className:"mpunct",children:","})]})]}),(0,t.jsxs)(e.span,{style:{top:"-2.8405em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3.4526em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:":="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsxs)(e.span,{className:"minner",children:[(0,t.jsx)(e.span,{className:"mopen delimcenter",style:{top:"0em"},children:(0,t.jsx)(e.span,{className:"delimsizing size3",children:"{"})}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsxs)(e.span,{className:"mtable",children:[(0,t.jsx)(e.span,{className:"col-align-c",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"1.4526em"},children:[(0,t.jsxs)(e.span,{style:{top:"-3.6074em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mopen nulldelimiter"}),(0,t.jsx)(e.span,{className:"mfrac",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"0.8451em"},children:[(0,t.jsxs)(e.span,{style:{top:"-2.655em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:"1.25"})})})]}),(0,t.jsxs)(e.span,{style:{top:"-3.23em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"frac-line",style:{borderBottomWidth:"0.04em"}})]}),(0,t.jsxs)(e.span,{style:{top:"-3.394em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsxs)(e.span,{className:"mord mtight",children:[(0,t.jsx)(e.span,{className:"mord mtight",children:"1"}),(0,t.jsx)(e.span,{className:"mbin mtight",children:"\u2212"}),(0,t.jsx)(e.span,{className:"mord text mtight",children:(0,t.jsx)(e.span,{className:"mord texttt mtight",children:"z"})})]})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.345em"},children:(0,t.jsx)(e.span,{})})})]})}),(0,t.jsx)(e.span,{className:"mclose nulldelimiter"})]}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"1em"}})]})]}),(0,t.jsxs)(e.span,{style:{top:"-2.4074em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord",children:"\u2212"}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"z"})}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"1em"}})]})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.9526em"},children:(0,t.jsx)(e.span,{})})})]})}),(0,t.jsx)(e.span,{className:"arraycolsep",style:{width:"0.5em"}}),(0,t.jsx)(e.span,{className:"arraycolsep",style:{width:"0.5em"}}),(0,t.jsx)(e.span,{className:"col-align-c",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"1.4526em"}
1,children:[(0,t.jsxs)(e.span,{style:{top:"-3.6074em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord",children:"if\xa0"})}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"u"})}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"\u2264"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mord",children:"0.1"})]})]}),(0,t.jsxs)(e.span,{style:{top:"-2.4074em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord",children:"otherwise"})})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.9526em"},children:(0,t.jsx)(e.span,{})})})]})})]})}),(0,t.jsx)(e.span,{className:"mclose nulldelimiter"})]})]})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"1.8646em"},children:(0,t.jsx)(e.span,{})})})]})})]})})]})})]})}),(0,t.jsx)(e.p,{children:"will contain something similar to this:"}),(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-ini",metastring:'title="config.ini"',children:"[model.scalar_field.u]\nstorage.expression = 1\n# %highlight\nreaction.expression = z*u^2*(1-u) - u\nreaction.jacobian.u.expression = u*z*(2-3*u)-1\nreaction.jacobian.z.expression = (1-u)*u^2\n\n[model.scalar_field.z]\nstorage.expression = 1\n# %highlight\nreaction.expression = (u <= 0.1) ? (1 - z)/1.25 : -z\nreaction.jacobian.z.expression = (u <= 0.1) ? -1/1.25 : -1\n"})}),(0,t.jsxs)(e.p,{children:["Notice how the tokens ",(0,t.jsx)(e.code,{children:"u"})," and ",(0,t.jsx)(e.code,{children:"z"})," are allowed in each ",(0,t.jsx)(e.code,{children:"{math-expr}"})," across different scalar field sub-sections of ",(0,t.jsx)(e.code,{children:"*.u"})," and ",(0,t.jsx)(e.code,{children:"*.z"}),". This allows to express non-linearities in a natural form."]})]}),"\n",(0,t.jsx)(e.h2,{id:"custom-keywords",children:"Custom Keywords"}),"\n",(0,t.jsx)(e.admonition,{title:"Config Options:",type:"note",children:(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.strong,{children:(0,t.jsx)(e.code,{children:"parser_context.{tkn}.type={enum}"})})}),"\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.strong,{children:(0,t.jsx)(e.code,{children:"parser_context.{tkn}.{...}={...}"})})}),"\n"]})}),"\n",(0,t.jsxs)(e.p,{children:["Independently of the evaluation context, you are allowed to inject keywords into the parser in order to express mathematical expressions easier. The defined keywords will be defined and allowed to be used within ",(0,t.jsx)(e.code,{children:"math-expr"})," definitions."]}),"\n",(0,t.jsx)(e.h3,{id:"constants",children:"Constants"}),"\n",(0,t.jsx)(e.admonition,{title:"Config Options:",type:"note",children:(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.strong,{children:(0,t.jsx)(e.code,{children:"parser_context.{tkn}.type='constant'"})})}),"\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.strong,{children:(0,t.jsx)(e.code,{children:"parser_context.{tkn}.value={float}"})})}),"\n"]})}),"\n",(0,t.jsxs)(e.p,{children:["Defines a keyword ",(0,t.jsx)(e.code,{children:"{tkn}"})," that when evaluated gets replaced by the constant contained in ",(0,t.jsx)(e.code,{children:"{float}"}),"."]}),"\n",(0,t.jsxs)(e.admonition,{title:"Example",type:"tip",children:[(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-ini",metastring:'title="config.ini"',children:"[parser_context.water_diffusion]\ntype = constant\nvalue = 2.299E10\u22129\n"})}),(0,t.jsx)(e.p,{children:"is equivalent to"}),(0,t.jsx)(e.span,{className:"katex-display",children:(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"water_diffusion"}),(0,t.jsx)(e.mo,{children:":"}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsx)(e.mn,{children:"2.299"}),(0,t.jsx)(e.mo,{children:"\u22c5"}),(0,t.jsx)(e.mn,{children:"1"}),(0,t.jsxs)(e.msup,{children:[(0,t.jsx)(e.mn,{children:"0"}),(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mo,{children:"\u2212"}),(0,t.jsx)(e.mn,{children:"9"})]})]})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\texttt{water\\_diffusion}:=2.299\\cdot 10^{-9}"})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.7063em",verticalAlign:"-0.0951em"}}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"water_diffusion"})}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:":="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.6444em"}}),(0,t.jsx)(e.span,{className:"mord",children:"2.299"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsx)(e.span,{className:"mbin",children:"\u22c5"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.8641em"}}),(0,t.jsx)(e.span,{className:"mord",children:"1"}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord",children:"0"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsx)(e.span,{className:"vlist-t",children:(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.8641em"}
1,children:(0,t.jsxs)(e.span,{style:{top:"-3.113em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsxs)(e.span,{className:"mord mtight",children:[(0,t.jsx)(e.span,{className:"mord mtight",children:"\u2212"}),(0,t.jsx)(e.span,{className:"mord mtight",children:"9"})]})})]})})})})})]})]})]})]})})]}),"\n",(0,t.jsx)(e.h3,{id:"function-math-expressions",children:"Function Math Expressions"}),"\n",(0,t.jsx)(e.admonition,{title:"Config Options:",type:"note",children:(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.strong,{children:(0,t.jsx)(e.code,{children:"parser_context.{tkn}.type='function'"})})}),"\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.strong,{children:(0,t.jsx)(e.code,{children:"parser_context.{tkn}.expression={func-expr}"})})}),"\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.strong,{children:(0,t.jsx)(e.code,{children:"parser_context.{tkn}.parser_type={enum}"})})}),"\n"]})}),"\n",(0,t.jsxs)(e.p,{children:["Declares a keyword ",(0,t.jsx)(e.code,{children:"{tkn}"})," than may be used as a function within the parsers. The definition of the function starts with up to 4 comma separated string arguments followed by a colon and a math expression."]}),"\n",(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.code,{children:"{args} := {arg0}[, {arg1}[, {arg2}[, {arg3}]]]"})}),"\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.code,{children:"{func-expr} := {args}: {math-expr}"})}),"\n"]}),"\n",(0,t.jsxs)(e.p,{children:["The math expression ",(0,t.jsx)(e.code,{children:"{math-expr}"})," is allowed to use the arguments ",(0,t.jsx)(e.code,{children:"{args}"})," as numerical values and any other custom defined keywords exceptuating other function keywords."]}),"\n",(0,t.jsxs)(e.admonition,{title:"example",type:"tip",children:[(0,t.jsxs)(e.p,{children:["This example defines a keyword ",(0,t.jsx)(e.code,{children:"pulse"})," that may be used in other math expression config option argument to evaluate ",(0,t.jsx)(e.code,{children:"{math-expr}"})," when provided with 3 arguments."]}),(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-ini",metastring:'title="config.ini"',children:"[parser_context.pulse]\ntype = function\nexpression = t, t0, dt: abs(t-t0) < dt ? 1 : 0\n"})}),(0,t.jsx)(e.p,{children:"is equivalent to"}),(0,t.jsx)(e.span,{className:"katex-display",children:(0,t.jsxs)(e.span,{className:"katex",children:[(0,t.jsx)(e.span,{className:"katex-mathml",children:(0,t.jsx)(e.math,{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block",children:(0,t.jsxs)(e.semantics,{children:[(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:"pulse("}),(0,t.jsx)(e.mi,{children:"t"}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{children:"t"}),(0,t.jsx)(e.mn,{children:"0"})]}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{children:"\u03b4"}),(0,t.jsx)(e.mi,{children:"t"})]}),(0,t.jsx)(e.mtext,{mathvariant:"monospace",children:")"}),(0,t.jsx)(e.mo,{children:":"}),(0,t.jsx)(e.mo,{children:"="}),(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mo,{fence:"true",children:"{"}),(0,t.jsxs)(e.mtable,{rowspacing:"0.16em",columnalign:"center center",columnspacing:"1em",children:[(0,t.jsxs)(e.mtr,{children:[(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"false",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mn,{children:"1"}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsx)(e.mspace,{width:"1em"})]})})}),(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"false",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mtext,{children:"if\xa0"}),(0,t.jsx)(e.mi,{mathvariant:"normal",children:"\u2223"}),(0,t.jsx)(e.mi,{children:"t"}),(0,t.jsx)(e.mo,{children:"\u2212"}),(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{children:"t"}),(0,t.jsx)(e.mn,{children:"0"})]}),(0,t.jsx)(e.mi,{mathvariant:"normal",children:"\u2223"}),(0,t.jsx)(e.mo,{children:"<"}),(0,t.jsxs)(e.msub,{children:[(0,t.jsx)(e.mi,{children:"\u03b4"}),(0,t.jsx)(e.mi,{children:"t"})]})]})})})]}),(0,t.jsxs)(e.mtr,{children:[(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"false",children:(0,t.jsxs)(e.mrow,{children:[(0,t.jsx)(e.mn,{children:"0"}),(0,t.jsx)(e.mo,{separator:"true",children:","}),(0,t.jsx)(e.mspace,{width:"1em"})]})})}),(0,t.jsx)(e.mtd,{children:(0,t.jsx)(e.mstyle,{scriptlevel:"0",displaystyle:"false",children:(0,t.jsx)(e.mtext,{children:"otherwise"})})})]})]})]}),(0,t.jsx)(e.mi,{mathvariant:"normal",children:"."})]}),(0,t.jsx)(e.annotation,{encoding:"application/x-tex",children:"\\texttt{pulse(}t, t_0, \\delta_t\\texttt{)}:=\n\\left\\{\n  \\begin{matrix}\n    1, \\quad& \\text{if }|t-t_0| < \\delta_t\\\\\n    0,   \\quad& \\text{otherwise}\n  \\end{matrix}\n  \\right.\n  ."})]})})}),(0,t.jsxs)(e.span,{className:"katex-html","aria-hidden":"true",children:[(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"0.9167em",verticalAlign:"-0.2222em"}}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:"pulse("})}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"t"}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathnormal",children:"t"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.3011em"}
1,children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"0em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:"0"})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.03785em"},children:"\u03b4"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.2806em"},children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"-0.0379em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"t"})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord texttt",children:")"})}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:":="}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}})]}),(0,t.jsxs)(e.span,{className:"base",children:[(0,t.jsx)(e.span,{className:"strut",style:{height:"2.4em",verticalAlign:"-0.95em"}}),(0,t.jsxs)(e.span,{className:"minner",children:[(0,t.jsx)(e.span,{className:"mopen delimcenter",style:{top:"0em"},children:(0,t.jsx)(e.span,{className:"delimsizing size3",children:"{"})}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsxs)(e.span,{className:"mtable",children:[(0,t.jsx)(e.span,{className:"col-align-c",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"1.45em"},children:[(0,t.jsxs)(e.span,{style:{top:"-3.61em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord",children:"1"}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"1em"}})]})]}),(0,t.jsxs)(e.span,{style:{top:"-2.41em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord",children:"0"}),(0,t.jsx)(e.span,{className:"mpunct",children:","}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"1em"}})]})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.95em"},children:(0,t.jsx)(e.span,{})})})]})}),(0,t.jsx)(e.span,{className:"arraycolsep",style:{width:"0.5em"}}),(0,t.jsx)(e.span,{className:"arraycolsep",style:{width:"0.5em"}}),(0,t.jsx)(e.span,{className:"col-align-c",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsxs)(e.span,{className:"vlist",style:{height:"1.45em"},children:[(0,t.jsxs)(e.span,{style:{top:"-3.61em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord",children:"if\xa0"})}),(0,t.jsx)(e.span,{className:"mord",children:"\u2223"}),(0,t.jsx)(e.span,{className:"mord mathnormal",children:"t"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsx)(e.span,{className:"mbin",children:"\u2212"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2222em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathnormal",children:"t"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.3011em"}
1,children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"0em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mtight",children:"0"})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]}),(0,t.jsx)(e.span,{className:"mord",children:"\u2223"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsx)(e.span,{className:"mrel",children:"<"}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.2778em"}}),(0,t.jsxs)(e.span,{className:"mord",children:[(0,t.jsx)(e.span,{className:"mord mathnormal",style:{marginRight:"0.03785em"},children:"\u03b4"}),(0,t.jsx)(e.span,{className:"msupsub",children:(0,t.jsxs)(e.span,{className:"vlist-t vlist-t2",children:[(0,t.jsxs)(e.span,{className:"vlist-r",children:[(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.2806em"},children:(0,t.jsxs)(e.span,{style:{top:"-2.55em",marginLeft:"-0.0379em",marginRight:"0.05em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"2.7em"}}),(0,t.jsx)(e.span,{className:"sizing reset-size6 size3 mtight",children:(0,t.jsx)(e.span,{className:"mord mathnormal mtight",children:"t"})})]})}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.15em"},children:(0,t.jsx)(e.span,{})})})]})})]})]})]}),(0,t.jsxs)(e.span,{style:{top:"-2.41em"},children:[(0,t.jsx)(e.span,{className:"pstrut",style:{height:"3em"}}),(0,t.jsx)(e.span,{className:"mord",children:(0,t.jsx)(e.span,{className:"mord text",children:(0,t.jsx)(e.span,{className:"mord",children:"otherwise"})})})]})]}),(0,t.jsx)(e.span,{className:"vlist-s",children:"\u200b"})]}),(0,t.jsx)(e.span,{className:"vlist-r",children:(0,t.jsx)(e.span,{className:"vlist",style:{height:"0.95em"},children:(0,t.jsx)(e.span,{})})})]})})]})}),(0,t.jsx)(e.span,{className:"mclose nulldelimiter"})]}),(0,t.jsx)(e.span,{className:"mspace",style:{marginRight:"0.1667em"}}),(0,t.jsx)(e.span,{className:"mord",children:"."})]})]})]})})]}),"\n",(0,t.jsxs)(e.admonition,{title:"Linear interpolation",type:"tip",children:[(0,t.jsx)(e.admonition,{title:"Config Options:",type:"note",children:(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.strong,{children:(0,t.jsx)(e.code,{children:"parser_context.{tkn}.interpolate={bool}"})})}),"\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.strong,{children:(0,t.jsx)(e.code,{children:"parser_context.{tkn}.domain.{arg}={float-pair}"})})}),"\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.strong,{children:(0,t.jsx)(e.code,{children:"parser_context.{tkn}.intervals={integer}"})})}),"\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.strong,{children:(0,t.jsx)(e.code,{children:"parser_context.{tkn}.out_of_bounds={enum}"})})}),"\n"]})}),(0,t.jsxs)(e.p,{children:["In cases where ",(0,t.jsx)(e.code,{children:"{math-expr}"})," is very expensive to compute and the function has one argument, these options allow to replace the function definition with a linear interpolation of ",(0,t.jsx)(e.code,{children:"{math-expr}"}),"."]}),(0,t.jsxs)(e.admonition,{title:"example",type:"tip",children:[(0,t.jsxs)(e.p,{children:["This example defines a keyword ",(0,t.jsx)(e.code,{children:"my_exp"})," referring to an interpolation of ",(0,t.jsx)(e.code,{children:"exp(x)"})," evaluated in ",(0,t.jsx)(e.code,{children:"100"})," sub-intervals between the domain values ",(0,t.jsx)(e.code,{children:"0"})," and ",(0,t.jsx)(e.code,{children:"10"}),"."]}),(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-ini",metastring:'title="config.ini"',children:"[parser_context.my_exp]\ntype = function\nexpression = x: exp(x)\n# %highlight-start\ninterpolate = true\ndomain.x = 0 10\nintervals = 100\nout_of_bounds = error\n# %highlight-end\n"})}),(0,t.jsxs)(e.p,{children:["The interpolation may be disabled by setting ",(0,t.jsx)(e.code,{children:"interpolate=false"}),", in which case ",(0,t.jsx)(e.code,{children:"exp(x)"})," will be compiled and evaluated as any other mathematical expression."]})]})]}),"\n",(0,t.jsxs)(e.admonition,{title:"Other functions",type:"caution",children:[(0,t.jsxs)(e.p,{children:["A ",(0,t.jsx)(e.code,{children:"{math-expr}"})," with ",(0,t.jsx)(e.code,{children:"'function'"})," type is not allowed to contain other custom keywords defined as ",(0,t.jsx)(e.code,{children:"'function'"})," type. This means that recursive and composition of functions is not allowed."]}),(0,t.jsx)(e.admonition,{title:"example",type:"note",children:(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-ini",metastring:'title="config.ini"',children:"[parser_context.factorial]\ntype = function\n# %highlight-error\nexpression = n: (n > 0) ? n * factorial(n-1) : n\n# error: 'factorial' keyword is not known\n\n[parser_context.f]\ntype = function\nexpression = x, y: sin(x) * cos(y)\n\n[parser_context.g]\ntype = function\n# %highlight-error\nexpression = x: f(x, x-1)\n# error: 'f' keyword is not known\n"})})})]}),"\n",(0,t.jsx)(e.admonition,{title:"muparser max limit",type:"caution",children:(0,t.jsxs)(e.p,{children:["There is a maximum limit to the number of functions may can be defined when the ",(0,t.jsx)(e.code,{children:"{math-expr}"})," is compiled using ",(0,t.jsx)(e.code,{children:"[*.]parser_t
1ype='MuParser'"}),". This limit is severely reduced when the assembly is made in concurrent mode. We recommend using other parsers when defining functions."]})}),"\n",(0,t.jsx)(e.h3,{id:"random-field",children:"Random Field"}),"\n",(0,t.jsx)(e.admonition,{title:"Config Options:",type:"note",children:(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.strong,{children:(0,t.jsx)(e.code,{children:"parser_context.{tkn}.type='random_field'"})})}),"\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.strong,{children:(0,t.jsx)(e.code,{children:"parser_context.{tkn}.{parafields-key}={parafields-value}"})})}),"\n"]})}),"\n",(0,t.jsxs)(e.p,{children:["These options generate a Gaussian random field based on circulant embedding using ",(0,t.jsx)(e.a,{href:"https://parafields.readthedocs.io/en/latest/intro.html",children:"parafields"})," and declares it as a function with the keyword ",(0,t.jsx)(e.code,{children:"{tkn}"}),". The number of arguments of such function depends on the dimension of the grid used to generate the random field. All parameters ",(0,t.jsx)(e.code,{children:"{parafields-key}={parafields-value}"})," under the ",(0,t.jsx)(e.code,{children:"parser_context.{tkn}"})," subsection will be forwarded to the ",(0,t.jsx)(e.a,{href:"https://github.com/parafields/parafields-core",children:(0,t.jsx)(e.code,{children:"parafields-core"})})," engine."]}),"\n",(0,t.jsxs)(e.admonition,{title:"example",type:"tip",children:[(0,t.jsxs)(e.p,{children:["The example below shows the definition of the keyword ",(0,t.jsx)(e.code,{children:"my_rng"})," in the parsers as a 2D function with the contents of a random field. Later, the keyword ",(0,t.jsx)(e.code,{children:"my_rng"})," is used within a math expression to initialize the variable ",(0,t.jsx)(e.code,{children:"u"})," using the contextual domain keywords ",(0,t.jsx)(e.code,{children:"position_x"})," and ",(0,t.jsx)(e.code,{children:"position_y"}),"."]}),(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-ini",metastring:'title="config.ini"',children:"[parser_context.my_rng]\ntype = random_field\ngrid.extensions = 1.0 1.0\ngrid.cells = 1000 1000\nrandomField.transform = logNormal\nstochastic.corrLength = 0.10\nstochastic.covariance = exponential\nstochastic.variance = 0.2\n\n[model.scalar_field.u]\ninitial.expression = my_rng(2*position_x, 2*position_y)\n"})})]}),"\n",(0,t.jsx)(e.admonition,{title:"Out of domain behavior",type:"info",children:(0,t.jsxs)(e.p,{children:["If the resulting function ",(0,t.jsx)(e.code,{children:"{tkn}"})," is evaluated outside the domain values, the\narguments will be ",(0,t.jsx)(e.a,{href:"https://en.wikipedia.org/wiki/Clamping_(graphics)",children:"clamped"})," to\nthe nearest valid point in the domain."]})}),"\n",(0,t.jsx)(e.admonition,{title:"Random Fields availability",type:"caution",children:(0,t.jsxs)(e.p,{children:["This option is only available when ",(0,t.jsx)(e.code,{children:"dune-copasi"})," is compiled with ",(0,t.jsx)(e.a,{href:"https://github.com/parafields/parafields-core",children:"parafields"}),"."]})}),"\n",(0,t.jsx)(e.h3,{id:"1d-linear-interpolation",children:"1D Linear Interpolation"}),"\n",(0,t.jsx)(e.admonition,{title:"Config Options:",type:"note",children:(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.strong,{children:(0,t.jsx)(e.code,{children:"parser_context.{tkn}.type='interpolation'"})})}),"\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.strong,{children:(0,t.jsx)(e.code,{children:"parser_context.{tkn}.domain={float-list}"})})}),"\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.strong,{children:(0,t.jsx)(e.code,{children:"parser_context.{tkn}.range={float-list}"})})}),"\n"]})}),"\n",(0,t.jsxs)(e.p,{children:["A 1D function with a ",(0,t.jsx)(e.a,{href:"https://en.wikipedia.org/wiki/Interpolation",children:"linear interpolation"})," may be generated from of domain and range pairs."]}),"\n",(0,t.jsxs)(e.admonition,{title:"example",type:"tip",children:[(0,t.jsx)(e.p,{children:"A configuration file with the following input"}),(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-ini",metastring:'title="config.ini"',children:"[parser_context.f]\ntype   = interopation\ndomain = 0       1       2       3       4       5       6\nrange  = 0       0.8415  0.9093  0.1411  \u22120.7568 \u22120.9589 \u22120.2794\n"})}),(0,t.jsxs)(e.p,{children:["represents a function ",(0,t.jsx)(e.code,{children:"f(x)"})," with this graphical representation:\n",(0,t.jsx)(e.img,{src:"https://upload.wikimedia.org/wikipedia/commons/6/67/Interpolation_example_linear.svg",alt:"Function f interpolation"})]})]}),"\n",(0,t.jsx)(e.admonition,{title:"Out of domain behavior",type:"info",children:(0,t.jsxs)(e.p,{children:["If the resulting function ",(0,t.jsx)(e.code,{children:"{tkn}"})," is evaluated outside the domain values, the\narguments will be ",(0,t.jsx)(e.a,{href:"https://en.wikipedia.org/wiki/Clamping_(graphics)",children:"clamped"})," to\nthe nearest valid point in the domain."]})}),"\n",(0,t.jsx)(e.h3,{id:"images-tiff-format",children:"Images (TIFF Format)"}),"\n",(0,t.jsx)(e.admonition,{title:"Config Options:",type:"note",children:(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.strong,{children:(0,t.jsx)(e.code,{children:"parser_context.{tkn}.type='tiff'"})})}),"\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.strong,{children:(0,t.jsx)(e.code,{children:"parser_context.{tkn}.path={path}"})})}),"\n"]})}),"\n",(0,t.jsx)(i.o,{children:d(l["parser_context.{tkn}.[type|expression|parser_type|domain|range|value|path|interpolate|seed]"][".options"].type[".options"]["'tiff'"][".details"])}),"\n",(0,t.jsxs)(e.admonition,{title:"Expample",type:"tip",children:[(0,t.jsxs)(e.p,{children:["The example below shows the definition of the keyword ",(0,t.jsx)(e.code,{children:"my_image"})," in the parsers as a 2D function with the contents of the file in ",(0,t.jsx)(e.code,{children:"path/to/file.tif"}),". Later, the keyword ",(0,t.jsx)(e.code,{children:"my_image"})," is used within a math expression to initialize the variable ",(0,t.jsx)(e.code,{children:"u"})," using the contextual domain keywords ",(0,t.jsx)(e.code,{children:"position_x"})," and ",(0,t.jsx)(e.code,{children:"position_y"}),"."]}),(0,t.jsx)(e.pre,{children:(0,t.jsx)(e.code,{className:"language-ini",metastring:'title="config.ini"',children:"[parser_context.my_image]\ntype = tiff\npath = path/to/file.tif\n\n[model.scalar_field.u]\ninitial.expression = my_image(2*position_x, 2*position_y)\n"})})]}
1),"\n",(0,t.jsx)(e.h3,{id:"grid-cell-data-txt-format",children:"Grid Cell Data (TXT Format)"}),"\n",(0,t.jsx)(e.admonition,{title:"Config Options:",type:"note",children:(0,t.jsxs)(e.ul,{children:["\n",(0,t.jsx)(e.li,{children:(0,t.jsx)(e.strong,{children:(0,t.jsx)(e.code,{children:"grid.cell_data.{dtkn}.path={prefix}"})})}),"\n"]})}),"\n",(0,t.jsxs)(e.p,{children:["The keywords ",(0,t.jsx)(e.code,{children:"{dtkn}"})," defined by ",(0,t.jsx)(e.code,{children:"grid.cell_data.{dtkn}.path={prefix}"})," will be additionally available within the math expressions that are under a domain context. When evaluated it will contain the data defined within the ",(0,t.jsx)(e.code,{children:"{prefix}"})," file."]}),"\n",(0,t.jsx)(e.h2,{id:"reserved-keywords",children:"Reserved Keywords"}),"\n",(0,t.jsx)(e.p,{children:"The following keywords are reserved to have special meaning within the program:"}),"\n",(0,t.jsxs)(e.table,{children:[(0,t.jsx)(e.thead,{children:(0,t.jsxs)(e.tr,{children:[(0,t.jsx)(e.th,{children:"Keyword"}),(0,t.jsx)(e.th,{children:"Description"})]})}),(0,t.jsx)(e.tbody,{children:(0,t.jsxs)(e.tr,{children:[(0,t.jsx)(e.td,{children:(0,t.jsx)(e.code,{children:"no_value"})}),(0,t.jsx)(e.td,{children:"Indicates that the result of an expression does not represent a numeric value"})]})})]}),"\n",(0,t.jsx)(e.admonition,{title:"Parser reserved keywords",type:"caution",children:(0,t.jsx)(e.p,{children:"Additionally to those defined here, every underlying parser has its own set of keywords that are reserved. Visit the documentation of your preferred parser to learn more about its syntax and its reserved keywords."})})]})}function x(s={}){const{wrapper:e}={...(0,n.R)(),...s.components};return e?(0,t.jsx)(e,{...s,children:(0,t.jsx)(p,{...s})}):p(s)}},6133:(s,e,a)=>{a.d(e,{A:()=>r});a(6540);var t=a(8215),n=a(8774);const i={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};var l=a(4848);function r(s){let{permalink:e,label:a,count:r,description:m}=s;return(0,l.jsxs)(n.A,{href:e,title:m,className:(0,t.A)(i.tag,r?i.tagWithCount:i.tagRegular),children:[a,r&&(0,l.jsx)("span",{children:r})]})}},2030:s=>{s.exports=JSON.parse('{"compartments.{cmp}.[expression|parser_type]":{".brief":"Compartment definition with name `{cmp}` as a sub-domain of the grid",".details":["Compartments represent one sub-domain within the grid where the model scalar fields have support.","There must be at least one non-empty compartment."],".options":{"expression":{".type":"math-expr",".brief":"Expression that defines a compartment in terms of a function evaluated on grid elements",".details":["If the expression evaluates to a value different than zero in the center of a grid entity,","such entity is assigned to the compartment `{cmp}` For example, an the expression","`compartments.top.expression=\\"position_y > 0.5\\"` defines a compartment `{cmp}` with","name `top` that is only defined for the top half of an squared grid.","If the grid was read from a gmsh file (i.e., `grid.path=path/to/gmsh/file`), the parser","will additionally know the `gmsh_id` for each of entity. For example, an expression of the form","`compartments.gmsh_domain.expression = (gmsh_id == 2)` will be a compartment with name","`gmsh_domain` with entities that have a gmsh id equal to `2`."]},"parser_type":{".type":"enum",".brief":"Parser type of the compartment expression",".default":"<see \'--parser-default\' option>"}}},"grid.[dimension|path|cells|extensions|origin|refinement_level|axis_names]":{".brief":"Parameters to read or define a grid",".details":["Reads or defines a grid. If a file is not provided with the `path` option, an","structured grid will be automatically generated with a given `origin`, `extensions`, and `cells`."],".options":{"dimension":{".type":"integer",".brief":"Dimension of the simulation",".default":"<deduced from `grid.extensions` if define, otherwise 2>"},"path":{".type":"path",".brief":"Path to a Gmsh file containing a grid",".details":["Reads [`gmsh` format v2.0](https://gmsh.info/doc/texinfo/gmsh.html#MSH-file-format) and constructs the grid with it.","Additionally, the token `gmsh_id` will be added to the math parsers for each entity of the grid. It will contain the physical id in the gmsh file."]},"cells":{".type":"integer-list",".brief":"Numbers of cells per dimension direction",".default":"<one-per-dimension (e.g., \'1 1 1\' in 3D)>",".details":"This option can only be used if no `grid.path=/path/to/grid` was given"},"extensions":{".type":"float-list",".brief":"Extensions of an squared domain",".default":"1 1",".details":"This option can only be used if no `grid.path=/path/to/grid` was given"},"origin":{".type":"float-list",".brief":"Position of the origin of an squared domain",".default":"<caresian-origin (e.g., \'0. 0. 0.\' in 3D)>",".details":"This option can only be used if no `grid.path=/path/to/grid` was given"},"refinement_level":{".type":"integer",".brief":"Number of global refinements to make to the initial grid",".default":"0"},"axis_names":{".type":"string-list",".brief":"Names given to the axis of the grid",".default":"\\"x y z\\"",".details":["These names are used to identify the cartesian components of several parameters in the","program (e.g. `position_x`, `model.scalar_field.{var}.velocity.z.initial.expression`, etc).","Through the rest of the documentation, they are assumed to be the default ones."]}}},"grid.cell_data.{dtkn}.[type|path]":{".brief":"Sets up a token `{dtkn}` in the dune-copasi parsers that holds cell data loaded from a file",".options":{"type":{".type":"enum",".options":{"\'
1scalar\'":{".brief":"Sets token `{dtkn}` as a scalar double."},"\'vector\'":{".brief":"Sets token `{dtkn}` as a vector double. (Not implemented - WIP)."},"\'tensor\'":{".brief":"Sets token `{dtkn}` as a tensor double. (Not implemented - WIP)."}}},"path":{".type":"path",".brief":"The path of the file containing values for `{dtkn}` for the entities values"}},".details":["The cell data file needs to provide the values of the entities to which the values needs to be assigned.","The first entry in the file should contain the total number of cells to assign data to.","The subsequent entries should contain the data, starting with the `grid_cell_id`,","followed by the n `floats`s and terminating with a end of line character:"," - `\'scalar\'`: n := 1"," - `\'vector\'`: n := `grid.dimension`"," - `\'tensor\'`: n := `grid.dimension` * `grid.dimension`","","Lines starting with `#` are not read. A simple example for a `\'scalar\'` case is:","```","# this line is ignored","2","50 +0.5","51 -0.5","```","This example would assign the values `+0.5` and `-0.5` to the cells `50` and `51` respectively for the coarsest entities of the grid.","Note that the indexation of the entities starts with `0`, whereas file formats like gmsh start their indices with `1`."]},"model.[order|is_linear|parser_type]":{".brief":"General options of the model",".options":{"is_linear":{".type":"bool",".brief":"Whether the problem is linear",".default":"false"},"order":{".type":"integer",".brief":"Polynomail order of the finite elements",".default":"1"},"parser_type":{".type":"enum",".brief":"Default underlying parser for dune-copasi models",".details":"Whenever a `model.*` option doesn\'t define its own parser, this one is selected",".default":"<see \'--parser-default\' option>"}}},"model.jacobian.[type|epsilon]":{".brief":"General options for the jacobian of the model",".options":{"type":{".type":"enum",".brief":"Evaluation type of the jacobian",".default":"analytical",".details":["This option specifies how to generate the assembled operator that is applied on linear systems.","If the type is \'analytical\', each entry is constructed from the \'model.scalar_field.{var}.jacobian.{dvar}\'","configuration options."],".options":{"\'analytical\'":{".brief":"Jacobians are computed from analyicial expressions provided within the configuration options",".details":["In this case, the sparsity pattern is inferred from the \'model.scalar_field.{var}.jacobian.{dvar}\'","configuration options and its value corresponds to the evaluation of these expressions."]},"\'numeric\'":{".brief":"Jacobians are computed numerically from the primary expressions provided within the configuration options",".details":["In this case, the sparsity pattern is inferred from the \'model.scalar_field.{var}.jacobian.{dvar}\'","configuration options and its value corresponds a forward euler evaluation of the","\'model.scalar_field.{var}\' expressions. Notice that the \'jacobian\' configuration options may not be evaluated at all","(e.g. \'no_value\' is a valid expression) but they still need to be present, otherwise, the pattern will not be created","correctly and the numerical evaluation will yield an invalid access error."]}}},"epsilon":{".type":"float",".brief":"The discretization step to evaluate jacobians with a numerical type",".default":"1e-7"}}},"model.assembly.[type|partition.type|partition.patches|partition.coloring]":{".brief":"Options for the execution policy on the assembly of residuals and jacobians",".options":{"type":{".type":"enum",".brief":"Type of execution policy",".default":"\'concurrent\'",".options":{"\'sequential\'":{".brief":"The assembly of residuals/jacobians is sequenced one after the other"},"\'concurrent\'":{".brief":"The assembly of residuals/jacobians is made concurrently"}}},"partition.type":{".type":"enum",".brief":"Type of partition of the grid entities. Only used if `model.assembly.partition.type=concurrent`",".default":"<\'METIS\' if found, otherwise \'Simple\'>",".options":{"\'METIS\'":{".brief":"Partition the grid patches using METIS library"},"\'Simple\'":{".brief":"Partition the grid patches by naively splitting the grid iterator"}}},"partition.patches":{".type":"integer",".brief":"Number of patches to partition the grid",".default":"<cells / 40>"},"partition.coloring":{".type":"enum",".brief":"Whether to use a coloring for a synchronization free assembly",".default":"\'None\'",".options":{"\'None\'":{".brief":"No Coloring and use local basis lock to sincronize accumulation to residuals/jacobians"},"\'DSatur\'":{".brief":"Use DSatur algorithm to find patches free of synchronization requirements"}}}}},"model.blocked_layout.[compartments|scalar_fields]":{".type":"bool",".brief":"Control data layout of the matrices and vectors. Note that this affects the allowed solvers",".details":"To visualize the resulting layout of a matrix use the `model.time_step_operator.linear_solver.layout.writer.svg.path` option."},"model.domain.deformation.[x|y|z].[expression|parser_type]":{".brief":"Expression o
1ptions for the deformation of the domain (Experimental)`",".details":["The domain deformation expressions may depend on any number of variables `{var}` from the \'scalar_field\' section and only works when using numerical jacobians.","Depending on a variable `{var}` makes the problem non-linear and makes every `{var}` in \'scalar_field\' depend on the variables `{var}` used here.","In practice, this means that the jacobian of every sub-section in `scalar_field.{var}` needs to also explicitly show the dependency on the variables used here.","The differential equations on the `scalar` section are posed on the deformed domain and conserved over time via the Reynolds Transport Theorem.","The latter means that the equations are in their conservative form."],".options":{"expression":{".type":"math-expr"},"parser_type":{".type":"enum",".default":"<see \'--parser-default\' option>"}}},"model.scalar_field.{var}.[reaction|storage|velocity.[x|y|z]|outflow.{cmp}].jacobian.{wrt}.[expression|parser_type]":{".brief":"Expression options for the jacobian wrt variable `{wrt}` of the scalar field equation in variable `{var}`",".options":{"expression":{".type":"math-expr"},"parser_type":{".type":"enum",".default":"<see \'--parser-default\' option>"}}},"model.scalar_field.{var}.[reaction|storage|velocity.[x|y|z]|outflow.{cmp}|initial].[expression|parser_type]":{".brief":"Expression options for the scalar field equation in variable `{var}`",".options":{"reaction.expression":{".type":"math-expr",".brief":"Math expression for the reaction part for equation on variable `{var}`"},"storage.expression":{".type":"math-expr",".brief":"Math expression for the storage part on the temporal derivative for equation on variable `{var}`"},"velocity.[x|y|z].expression":{".type":"math-expr",".brief":"Math expression for the convection part for equation on variable `{var}`"},"outflow.{cmp}.expression":{".type":"math-expr",".brief":"Math expression for the outflow condition w.r.t compartment `{cmp}` for equation on variable `{var}`"},"initial.expression":{".type":"math-expr",".brief":"Math expression for the initial condition for equation on variable `{var}`"},"[reaction|storage|velocity.[x|y|z]|outflow.{cmp}|initial].parser_type":{".type":"enum",".default":"<see \'--parser-default\' option>"}}},"model.scalar_field.{var}.compartment":{".type":"string",".brief":"Compartment name `{cmp}` where the scalar field `{var}` is has support"},"model.scalar_field.{var}.constrain.[boundary|skeleton|volume].[expression|parser_type]":{".brief":"Constraints expressions for `{var}` on `boundary`, `skeleton` and `volume` degrees of freedom",".details":["When the expression evaluates to `no_value` the degree of freedom will be left unconstrained","and left to be solved. Otherwise, the resulting value on the expression will be set as a constrain","and the degree of freedom won\'t be modified when the system is solved. When this option not set,","the all the degrees of freedom for `{var}` will automatically be unconstrained. The `boundary`","degrees of freedom refer to the coefficients bound to the boundary of the entire grid  (i.e., not","necessarily the compartment boundary). Warning: Time dependent constraints are currently unsupported."],".options":{"expression":{".type":"math-expr"},"parser_type":{".type":"enum",".default":"<see \'--parser-default\' option>"}}},"model.scalar_field.{var}.cross_diffusion.{dwrt}.jacobian.type":{".type":"enum",".brief":"Selects the kind of cross diffusion jacobian of the variable `{drwt}` diffusing into variable `{var}`",".default":"\'scalar\'",".options":{"\'scalar\'":{".details":"The cross diffusion jacobian is an scalar and it must be set with the `model.scalar_field.{var}.cross_diffusion.{dwrt}.jacobian.{wrt}.[expression|parser_type]` options."},"\'tensor\'":{".details":"The cross diffusion jacobian is a tensor and it must be set with the `model.scalar_field.{var}.cross_diffusion.{dwrt}.jacobian.[xx|xy|xz|yx|yy|yz|zx|zy|zz].{wrt}.[expression|parser_type]` options where each sub-section `xx|xy|xz|yx|yy|yz|zx|zy|zz` has its own `expression` and `parser_type` definition."}}},"model.scalar_field.{var}.cross_diffusion.{dwrt}.jacobian[.xx|.xy|.xz|.yx|.yy|.yz|.zx|.zy|.zz].{wrt}.[expression|parser_type]":{".brief":"Options for the cross diffusion jacobian wrt variable `{wrt}` of the variable `{drwt}` diffusing into variable `{var}`",".options":{"expression":{".type":"math-expr"},"parser_type":{".type":"enum",".default":"<see \'--parser-default\' option>"}}},"model.scalar_field.{var}.cross_diffusion.{dwrt}.type":{".type":"enum",".brief":"Selects the kind of cross diffusion of the variable `{drwt}` diffusing into variable `{var}
1`",".default":"\'scalar\'",".options":{"\'scalar\'":{".details":"The cross diffusion is an scalar and it must be set with the `model.scalar_field.{var}.cross_diffusion.{dwrt}.[expression|parser_type]` options."},"\'tensor\'":{".details":"The cross diffusion is a tensor and it must be set with the `model.scalar_field.{var}.cross_diffusion.{dwrt}.[xx|xy|xz|yx|yy|yz|zx|zy|zz].[expression|parser_type]` options where each sub-section `xx|xy|xz|yx|yy|yz|zx|zy|zz` has its own `expression` and `parser_type` definition."}}},"model.scalar_field.{var}.cross_diffusion.{dwrt}[.xx|.xy|.xz|.yx|.yy|.yz|.zx|.zy|.zz].[expression|parser_type]":{".brief":"Expression options for the cross diffusion of the variable `{drwt}` diffusing into variable `{var}`",".options":{"expression":{".type":"math-expr"},"parser_type":{".type":"enum",".default":"<see \'--parser-default\' option>"}}},"model.time_step_operator.linear_solver.[type|verbosity|matrix_free|restart]":{".brief":"Options of the linear solver",".options":{"type":{".type":"enum",".brief":"Type of the linear solver",".default":"<first found from \'UMFPack\', \'SuperLU\', and \'BiCGSTAB\'>",".options":{"\'RestartedGMRes\'":{},"\'CG\'":{},"\'BiCGSTAB\'":{},"\'UMFPack\'":{},"\'SuperLU\'":{}}},"restart":{".type":"integer",".brief":"Number of iterations before the Gram-Schmidt orthognialization is restarted",".details":"This option can only be used together with `type=RestartedGMRes`"},"matrix_free":{".type":"bool",".brief":"Whether to perform computations with matrix-free methods in the linear solver",".default":"false",".details":["In general, the matrix-free version will require less memory but will take more","computation time to calculate the jacobian application. Additionally,","it is not compatible with direct solvers."]}}},"model.time_step_operator.linear_solver.convergence_condition.[relative_tolerance|iteration_range]":{".brief":"Convergence condition options for the linear solver",".options":{"relative_tolerance":{".type":"float",".brief":"Minimum relative tolerance (defect\u2080/defect\u1d62) to accept convergence",".default":"1e-4"},"iteration_range":{".type":"integer-pair",".brief":"Iteration range [min_it, max_it] allowed to assert convergence",".default":"\\"1, 500\\""}}},"model.time_step_operator.linear_solver.layout.writer.svg.path":{".type":"path",".brief":"Path to write `svg` layout of the matrix",".details":["Writes a `svg` file with the matrix layout of the jacobian of the system in the current directory.","","There are a number of parameters that affect the resulting layout:","* The `model.blocked_layout.[compartments|scalar_fields]=<bool>` options affect the hierarchal structure of the matrix.","* The number of scalar fields in `model.scalar_field.{var}.*` and the compartment `{cmp}`  where the belong (i.e., `model.scalar_field.{var}.compartment={cmp}`) affacts the position of the matrix entries.","* The grid connectivity affects the position of the matrix entries.","* The jacobian options of the reaction operator (i.e. `model.scalar_field.{var}.reaction.jacobian.{wrt}.expression`) affects the appearance of many entries in the matrix.","","To visualize the results of this option use your web browser, [GIMP](https://www.gimp.org), [Inkscape](https://inkscape.org), [Affinity Designer](https://affinity.serif.com) or [another vector graphics editor](https://en.wikipedia.org/wiki/Comparison_of_vector_graphics_editors).","","This option will only have effect when the a matrix is created, (e.g., matrix-free computation won\'t write any file)."]},"model.time_step_operator.nonlinear_solver.[norm|linearization_threshold|dx_inverse_fixed_tolerance|dx_inverse_min_relative_tolerance]":{".brief":"Options of the non-linear solver",".options":{"norm":{".type":"enum",".brief":"Type of norm to evaluate the resuldual",".default":"\'l_2\'",".options":{"\'l_2\'":{},"\'l_inf\'":{},"\'l_1\'":{}}},"linearization_threshold":{".type":"float",".brief":"Threshold to trigger linearization of the jacobian",".default":"0.0",".details":"Whenever the defect rate (defect\u1d62/defect\u1d62\u208b\u2081) between iterations is lower than this threshold, the system is linearized at a new linearization once again. Notice that the default behavior linearizes on every newton iteration."},"dx_inverse_fixed_tolerance":{".type":"bool",".brief":"Whether jacobian inverse relative reduction is fixed between newton iterations",".default":"false",".details":"The newton method may have a better guess for a relative reduction for the jacobian inverse correction at each iteration. If this is set to `false`, the newton application will modify the `convergence_condition.relative_tolerance` on the jacobian inverse solver property before each iteration of the newton method"},"dx_inverse_min_relative_tolerance":{".type":"float",".brief":"Minimum relative reduction of the jacobian inverse solver",".default":"0.1"}}},"model.time_step_operator.nonlinear_solver.convergence_condition.[relative_tolerance|absolute_tolerance|iteration_range]":{".brief":"Convergence condition options for the non-linear solver",".options":{"relative_tolerance":{".type":"float",".brief":"Minimum relative tolerance (defect\u2080/defect\u1d62) to accept convergence",".default":"1e-8"},"absolute_tolerance":{".type":"float",".brief":"Minimum absolute tolerance (defect\u1d62) to accept convergence",".details":["Note that the absence of an absolute tolerance might be hurtful for convergence","since good initial guesses will have very hard time to converge with the relative tolerance"]},"iteration_range":{".type":"integer-pair",".brief":"Iteration range [min_it, max_it] allowed to assert convergence",".default":"\\"0, 45\\""}}},"model.time_step_operator.time_[begin|end]":{".type":"float",".brief":"Initial and final time the simulation",".options":{"time_begin":{".default":"0."},"time_end":{".default":"1."}}},"model.time_step_operator.time_step_[initial|increase_factor|decrease_factor|max|min]":{".brief":"Time-step settings of the simulation",".options":{"time_step_initial":{".type":"float",".brief":"Initial time step when starting the simulation",".default":"0.1"},"time_step_increase_factor":{".type":"float",".brief":"In case of time-step success, the subsequent time-step will be increased by this factor",".default":"1.1"},"time_step_decrease_factor":{".type":"float",".brief":"In case of time-step failure, the subsequent time-step will be decreased by this factor",".default":"0.5"},"time_step_max":{".type":"float",".brief":"Maximum time-step that the simulation is allowed to make"},"time_step_min":{".type":"float",".brief":"Minimum time-step that the simulation is allowed to make"}}},"model.time_step_operator.type":{".type":"enum",".brief":"Type of the time-stepping scheme for the operator",".default":"\'Alexander2\'",".options":{"\'ExplicitEuler\'":{},"\'ImplicitEuler\'":{},"\'Heun\'":{},"\'Shu3\'":{},"\'RungeKutta4\'":{},"\'Alexander2\'":{},"\'Alexander3\'":{},"\'FractionalStepTheta\'":{}}},"model.transform_reduce.{key}.[evaluation|reduction|transformation|error|warn].[expression|parser_type]":{".brief":"Define an evaluation/reduction/transformation algorithm on grid functions",".details":["The token `{key}` defines the context for a generic reduction algorithm over grid functions.","In general, this allows to evaluate a pointwise function over the whole grid","```","   # set initial value from options","   value := initial.value","   for entity in grid:","     for [pos, weight] in quadrature(entity):","       # contextual evaluation to the current quadrature position","       quad_eval := evaluation.expression() ","       # apply reduction to new and old value","       value = reduction.expression(quad_eval, value) ","   # apply final transformation to last reduced value","   value = transformation.expression(value) ","```","Finally, the warn and error expressions allow to control whether the final value must be","reported as an error or a warning."],".options":{"evaluation.expression":{".type":"math-expr",".brief":"Pointwise math expression to evaluate. Its context includes values defined in the `scalar_field` sections",".details":["This expression additionally defines the keyword `integration_order` with the quadrature factor to weight integrals"]},"reduction.expression":{".type":"function-expr",".brief":"Reduce the successive value after the every evaluation",".details":["Function expression with exactly 2 arguments:","  1. New value: Contextual evaluation of `evaluation.expression`","  2. Old value: previous result of `reduction.expression` or `initial.value`"]},"transformation.expression":{".type":"function-expr",".brief":"Transform the final value after the last reduction",".details":["Function expression with exactly 1 argument:","  1. Old value: Value after a reduction over all of the quadrature points"]},"error.expression":{".type":"function-expr",".brief":"If expression evaluates different than `0`, an error is thrown",".details":["Function expression with exactly 1 argument:","  1. Final value: Value after a transformation"]},"warn.expression":{".type":"function-expr",".brief":"If expression evaluates different than `0`, an warning is thrown",".details":["Function expression with exactly 1 argument:","  1. Final value: Value after a transformation"]}}},"model.transform_reduce.{key}.[initial.value|quiet]":{".brief":"Define the initial value and quietness of an evaluation/reduction/transformation algorithm on grid functions",".options":{"initial.value":{".type":"float",".brief":"Initial value of the evaluation/reduction/transformation algorithm for the token `{key}`",".default":"0."},"quiet":{".type":"bool",".brief":"Skip printing results of `{key}` unless a warning or error occur",".default":"false"}}},"model.writer.vtk.path":{".type":"path",".brief":"If not empty, path to write VTK results",".details":["Writes a set `vtu` files with the scalar field solution of the problem in the file system under `{prefix}-{cmp}` directory for each `{cmp}` compartment.","Additionally, a compendium of all timesteps for each compartment is 
1written in a `pvd` file on the same directory.","The resulting `vtu` and `pvd` files can be opened by [ParaView](https://www.paraview.org/) or [VisiIt](https://wci.llnl.gov/simulation/computer-codes/visit/) to visualize their results."]},"parser_context.{tkn}.[type|expression|parser_type|domain|range|value|path|interpolate|seed]":{".brief":"Sets up a token `{tkn}` in the dune-copasi parsers",".options":{"type":{".type":"enum",".brief":"Type of token `{tkn}` within the dune-copasi parsers",".options":{"\'constant\'":{".brief":"Sets token `{tkn}` as a constant float. Options: `parser_context.{tkn}.value`"},"\'function\'":{".brief":"Sets token `{tkn}` as an inline function. Options: `parser_context.{tkn}.[expression|interpolate|interpolation.[...]]`"},"\'tiff\'":{".brief":"Sets token `{tkn}` as a 2D function with the contents of a tiff file. Options: `parser_context.{tkn}.path`",".details":["Reads an image file with [`tiff` format](https://en.wikipedia.org/wiki/TIFF) and makes it available as a 2D function expression with the `{tkn}` token.","Images with grayscale values of `8`, `16`, `32`, and `64` bits are supported."]},"\'interpolation\'":{".brief":"Sets token `{tkn}` as a 1D interpolation function. Options: `parser_context.{tkn}.[domain|range]`"},"\'random_field\'":{".brief":"Sets token `{tkn}` as a random field function. Options: `parser_context.{tkn}.[seed|grid|...]`"}}},"value":{".type":"float",".brief":"Value of the token `{tkn}` as a float",".details":"This option can only be used together with `parser_context.{tkn}.type=constat`"},"function":{".options":{"expression":{".type":"math-expr",".brief":"Expression of an inline function for the token `{tkn}`",".details":["The expression must start with a comma serparated list of arguments","followed by a colon which splits the function arguments from the function definition.","For example: `parser_context.pow2.expression=\\"x: x^2\\"` defines a function","that may be called as `pow2(1.)` in the context of parsed expressions. Note","that inline functions know other contexts defined in the parser (e.g., `random_field`,","`constant`, `interpolation`, etc.), except other inline functions. Thus, inline","functions are not recursive nor composable with other inline functions.","This option can only be used together with `parser_context.{tkn}.type=function`."]}}},"interpolate":{".type":"bool",".brief":"Whether 1D functions should be interpolated",".default":"false",".details":"If a function is expensive to evaluate, this option will help to reduce the cost by automatically interpolating the function on a given domain."},"domain":{".type":"float-list",".brief":"Domain of values to be interpolated for token `{tkn}`",".details":"For example, the options `parser_context.f.domain=\\"0 1 2\\"` and `parser_context.f.range=\\".5 .1 .3\\"` will define an interpolated function f: domain -> range within the parser. This option can only be used together with `parser_context.{tkn}.type=interpolation`"},"range":{".type":"float-list",".brief":"Range of values to be interpolated for token `{tkn}`",".details":["The number of arguments in the list must be the same as for `parser_context.{tkn}.range`","This option can only be used together with `parser_context.{tkn}.type=interpolation`"]},"parser_type":{".type":"enum",".brief":"Underlying parser for inlined function of the token `{tkn}`",".default":"<see \'--parser-default\' option>",".details":"This option can only be used together with `parser_context.{tkn}.type=function`"},"path":{".type":"path",".brief":"File path of a TIFF image to set token `{tkn}` as a 2D function",".details":"This option can only be used together with `parser_context.{tkn}.type=tiff`"},"seed":{".type":"integer",".brief":"Seed to be used in the pseudorandom number field generator",".details":"This option can only be used together with `parser_context.{tkn}.type=random_field`"}}},"parser_context.{tkn}.grid.[cells|extensions|refinement_level]":{".brief":"Parameters to define a structured grid of the random field in token `{tkn}`",".options":{"cells":{".type":"integer-list",".brief":"Numbers of cells per dimension direction"},"extensions":{".type":"float-list",".brief":"Extensions of an squared domain"},"refinement_level":{".type":"integer",".brief":"Number of global refinements to make to the initial grid",".default":"0"}}},"parser_context.{tkn}.{parafields-key}={parafields-value}":{".brief":"Parameters to generate the random field in token `{tkn}`",".details":"When the token `{tkn}` is a `\'random_field\'` type, all parameters `{parafields-key}={parafields-value}` under the `parser_context.{tkn}` subsection will be forwarded to the [`parafields-core`](https://github.com/parafields/parafields-core) engine."},"parser_context.{tkn}.interpolation.[domain.{arg}|intervals|out_of_bounds]":{".brief":"Interpolation options for the context function `{tkn}`",".options":{"domain.{arg}":{".type":"float-pair",".brief":"Domain interval for the function argument `{arg}` where the interpolation needs to be made"},"intervals":{".type":"integer",".brief":"Number of sub-divisions to split the interpolation scheme. Default: 1000",".default":"1000"},"out_of_bounds":{".type":"enum",".brief":"Type of behavior when function is evaluated out of the defined domain bounds",".default":"\'error\'",".options":{"\'error\'":{".brief":"Throw an error when function `{tkn}` is evaluated outside of `domain.{arg}`"},"\'clamp\'":{".brief":"Clamps the arguments of the function `{tkn}` to be evaluated inside of `domain.{arg}`"}}}}},"parser_context.{tkn}.writer.vtk.path":{".type":"path",".brief":"Path to write VTK file of `random_field` contexts",".details":["Writes a `vtu` file with the contents of the generated random field in the filesystem with the `{tkn}` keyword as a base name.","This option can only be used together with `parser_context.{tkn}.type=random_field`.","The resulting `vtu` files can be opened by [ParaView](https://www.parav
1iew.org/) or [VisiIt](https://wci.llnl.gov/simulation/computer-codes/visit/) to visualize their results."]},"parser_context.parser_type":{".type":"enum",".default":"<see \'--parser-default\' option>",".brief":"Selects default underlying parser for the `parser_context` sub-sections",".details":"Whenever an `parser_context.*` option doesn\'t define its own parser, this one is selected."},"trace.path":{".type":"path",".brief":"File path to store the trace of the program",".details":["Writes a trace file with the timing information of the simulation on the current directory. ","To visualize the trace, use [Perfetto Trace Viewer](https://ui.perfetto.dev/).","Only available if binary is built with Perfetto. "]}}')}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.