{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Definition\n\nLet $\\Omega \\subset \\R^d$ be a bounded polygonal domain, divided into non-overlapping polygonal subdomains $\\Omega_1, \\dots, \\Omega_N$.\nOn each $\\Omega_k$ let $X_k \\subset H^1(\\Omega_k)$ be a conforming [[finite element|98GZ9DVHTA]] space on a mesh of $\\Omega_k$.\nThe meshes of neighboring subdomains need not match on their common boundary.\nLet $\\Gamma_1, \\dots, \\Gamma_M$ be the interfaces, each a common side of two subdomains.\nFor each $\\Gamma_m$ choose one side as the *slave* side $s(m)$ and the other as the *master* side $\\mu(m)$.\nLet $M_h(\\Gamma_m)$ be a space of functions on $\\Gamma_m$ (the *mortar* or *multiplier space*) built on the mesh of the slave side.\nIts dimension equals the number of slave degrees of freedom interior to $\\Gamma_m$.\nThe *mortar finite element space* is\n$$V_h = \\Bigl\\{ v : v|_{\\Omega_k} \\in X_k \\text{ for all } k, \\ \\int_{\\Gamma_m} \\bigl( v|_{\\Omega_{\\mu(m)}} - v|_{\\Omega_{s(m)}} \\bigr) \\psi \\, ds = 0 \\text{ for all } \\psi \\in M_h(\\Gamma_m) \\text{ and all } m \\Bigr\\},$$\nwhere $v|_{\\Omega_k}$ on $\\Gamma_m$ means the [[trace|Z2T5R88QDB]] of the restriction, together with the boundary conditions of the problem.\nA *mortar method* for a problem $a(u, v) = \\ell(v)$ is the Galerkin method in $V_h$ with the broken form $a_h(u, v) = \\sum_k a_{\\Omega_k}(u, v)$.\n\n## Remarks\n\nExample: take $-\\Delta u = f$ on two squares meeting along a segment $\\Gamma$, with piecewise linear elements on independent triangulations.\nThe standard $M_h(\\Gamma)$ consists of the continuous piecewise linear functions on the slave mesh of $\\Gamma$ that are constant on the two end elements.\nThe number of these functions equals the number of slave nodes interior to $\\Gamma$, so the condition determines the slave interior values from the master trace.\nNon-example: requiring the slave nodal values to equal the master trace at the slave nodes is pointwise interpolation, not a mortar method.\nThe gluing is not by orthogonality to a multiplier space, and it loses the optimal error order on non-matching meshes.\nThe functions of $V_h$ are in general discontinuous across interfaces, so the method is nonconforming, and $a_h$ replaces the global form.\nEquivalently, the constraint can be kept as an equation with a Lagrange multiplier on each interface, which gives a saddle point formulation.\n\n## Explanations\n\n### L1 human\n\nEach subdomain gets its own mesh and its own finite elements.\nAlong an interface, the two sides may not agree at every point, but their difference must average to zero against every test function in the mortar space.\nThis weak gluing is enough to keep the method as accurate as a method on one matching mesh.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "defines": "33SJNF8V7Z",
    "kind": "definition",
    "msc": [
      "65N30",
      "65N55"
    ],
    "name": "Mortar methods",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Mortar_methods"
      }
    ],
    "tag": "A8S152S9CG",
    "uses": [
      "98GZ9DVHTA",
      "M4CEZ5K9HP",
      "Z2T5R88QDB"
    ]
  },
  "kind": "definition",
  "link": "https://tamnd.github.io/math2/node/A8S152S9CG/",
  "links": [
    {
      "field": "defines",
      "target": "33SJNF8V7Z"
    },
    {
      "field": "uses",
      "target": "98GZ9DVHTA"
    },
    {
      "field": "uses",
      "target": "M4CEZ5K9HP"
    },
    {
      "field": "uses",
      "target": "Z2T5R88QDB"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/A8S152S9CG.md",
  "msc": [
    "65N30",
    "65N55"
  ],
  "name": "Mortar methods",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/A8S/A8S152S9CG.md",
  "status": null,
  "tag": "A8S152S9CG",
  "uri": "m2://A8S152S9CG",
  "url": "https://tamnd.github.io/math2/wiki/mortar-methods-definition/",
  "writing": {
    "tag": "A8S152S9CG",
    "kind": "definition",
    "level": "W0",
    "next": [
      {
        "what": "an inventory row",
        "note": "the row of the inventory that the node accounts for",
        "have": 0,
        "want": 1
      },
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
