{
    "componentChunkName": "component---src-templates-markdown-doc-tsx",
    "path": "/2025.1.3/knowledge_base/boundary_conditions",
    "result": {"data":{"mdx":{"id":"b65de135-c1cd-587a-a6c2-06c42ee270e6","frontmatter":{"title":"Boundary Conditions","images":[{"publicURL":"/static/07e8c60d84a25115d7afa8dce5ed4c75/side_set_explanation.png","childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#080808","images":{"fallback":{"src":"/static/07e8c60d84a25115d7afa8dce5ed4c75/2d1a5/side_set_explanation.png","srcSet":"/static/07e8c60d84a25115d7afa8dce5ed4c75/645cd/side_set_explanation.png 150w,\n/static/07e8c60d84a25115d7afa8dce5ed4c75/f9ded/side_set_explanation.png 300w,\n/static/07e8c60d84a25115d7afa8dce5ed4c75/2d1a5/side_set_explanation.png 600w,\n/static/07e8c60d84a25115d7afa8dce5ed4c75/69739/side_set_explanation.png 1200w","sizes":"(min-width: 600px) 600px, 100vw"},"sources":[{"srcSet":"/static/07e8c60d84a25115d7afa8dce5ed4c75/bfe8f/side_set_explanation.webp 150w,\n/static/07e8c60d84a25115d7afa8dce5ed4c75/28fe5/side_set_explanation.webp 300w,\n/static/07e8c60d84a25115d7afa8dce5ed4c75/2d044/side_set_explanation.webp 600w,\n/static/07e8c60d84a25115d7afa8dce5ed4c75/825c8/side_set_explanation.webp 1200w","type":"image/webp","sizes":"(min-width: 600px) 600px, 100vw"}]},"width":600,"height":416}}}]},"body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"Boundary Conditions\",\n  \"images\": [\"../images/side_set_explanation.png\"]\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", null, \"Boundary Conditions\"), mdx(\"p\", null, \"Without additional boundary conditions that constrain the wavefield at the boundaries of the computational domain, the \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/knowledge_base/wave_equation\"\n  }, \"wave equation\"), \" does not obey a unique solution.\"), mdx(\"p\", null, \"All boundary conditions are defined on so-called side sets of the mesh.\\nA side set is just a way to flag edges (in 2D) or faces (in 3D) of a mesh and to give these a name.\\nThis is important, whenever different conditions are applied on different parts of the boundary of the domain.\"), mdx(\"p\", null, \"The example mesh below has 4 side sets, each denoting one side of the mesh. The actual names are arbitrary and mesh dependent.\"), mdx(props.images.Img1, null), mdx(\"p\", null, \"Common defaults for labelling the boundaries are\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"for Cartesian meshes: \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"x0\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"x1\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"y0\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"y1\"), \", and additionally \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"z0\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"z1\"), \" in 3D,\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"for spherical meshes: \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"r0\"), \" for the inner radius (if present), \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"r1\"), \" for the\\nouter radius,\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"for spherical chunks: \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"r0\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"r1\"), \" \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"p0\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"p1\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"t0\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"t1\"), \".\")), mdx(\"p\", null, \"In the following, \", mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"math math-inline\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"katex\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"katex-mathml\"\n  }, mdx(\"math\", {\n    parentName: \"span\",\n    \"xmlns\": \"http://www.w3.org/1998/Math/MathML\"\n  }, mdx(\"semantics\", {\n    parentName: \"math\"\n  }, mdx(\"mrow\", {\n    parentName: \"semantics\"\n  }, mdx(\"mi\", {\n    parentName: \"mrow\",\n    \"mathvariant\": \"normal\"\n  }, \"\\u0393\")), mdx(\"annotation\", {\n    parentName: \"semantics\",\n    \"encoding\": \"application/x-tex\"\n  }, \"\\\\Gamma\")))), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"katex-html\",\n    \"aria-hidden\": \"true\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"base\"\n  }, mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"strut\",\n    \"style\": {\n      \"height\": \"0.68333em\",\n      \"verticalAlign\": \"0em\"\n    }\n  }), mdx(\"span\", {\n    parentName: \"span\",\n    \"className\": \"mord\"\n  }, \"\\u0393\"))))), \" denotes a side set where a certain\\nboundary condition is imposed.\"), mdx(\"p\", null, \"Without \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"explicitly\"), \" specifying boundary conditions, the spectral-element\\nmethod will fall back to the \", \"[natural boundary conditions]\", \"\\n(./boundary_conditions/natural_boundary_conditions).\"));\n}\n;\nMDXContent.isMDXComponent = true;"},"site":{"siteMetadata":{"salvusDocVersions":{"current":"2026.5.0"}}}},"pageContext":{"id":"b65de135-c1cd-587a-a6c2-06c42ee270e6"}},
    "staticQueryHashes": ["1756726491","1865182279","3419370438","3597190305","4112489441","519097329"]}