Skip to main content
added 2 characters in body
Source Link
Henrik Schumacher
  • 108k
  • 7
  • 180
  • 313
(*Preparation of Neumann boundary conditions for v*)

gradu = {x, y} \[Function] Evaluate[D[ufun[x, y], {{x, y}, 1}]];
J = N@RotationMatrix[Pi/2];
p = R["Coordinates"];
{i, j} = Transpose[R["BoundaryElements"][[1, 1]]];
normalprojections = MapThreadDot[R["BoundaryNormals"][[1]], (gradu @@@ (0.5 (p[[i]] + p[[j]]))).(-J)];
boundaryedgelengtsboundaryedgelengths = Sqrt[Total[(p[[i]] - p[[j]])^2, {2}]];
{α, β} = Transpose[bndedges];
vertexbndedgeconnectivity = SparseArray[
   Transpose[{
      Join[α, β],
      Join[Range[Length[α]], Range[Length[β]]]
      }] -> 1,
   {Length[p], Length[bndedges]}
   ];

(*Solving the system and creating an interpolating function*)

b = vertexbndedgeconnectivity.(normalprojections boundaryedgelengtsboundaryedgelengths);
vvals = solver[b];
vfun = ElementMeshInterpolation[{R}, vvals];
(*Preparation of Neumann boundary conditions for v*)

gradu = {x, y} \[Function] Evaluate[D[ufun[x, y], {{x, y}, 1}]];
J = N@RotationMatrix[Pi/2];
p = R["Coordinates"];
{i, j} = Transpose[R["BoundaryElements"][[1, 1]]];
normalprojections = MapThreadDot[R["BoundaryNormals"][[1]], (gradu @@@ (0.5 (p[[i]] + p[[j]]))).(-J)];
boundaryedgelengts = Sqrt[Total[(p[[i]] - p[[j]])^2, {2}]];
{α, β} = Transpose[bndedges];
vertexbndedgeconnectivity = SparseArray[
   Transpose[{
      Join[α, β],
      Join[Range[Length[α]], Range[Length[β]]]
      }] -> 1,
   {Length[p], Length[bndedges]}
   ];

(*Solving the system and creating an interpolating function*)

b = vertexbndedgeconnectivity.(normalprojections boundaryedgelengts);
vvals = solver[b];
vfun = ElementMeshInterpolation[{R}, vvals];
(*Preparation of Neumann boundary conditions for v*)

gradu = {x, y} \[Function] Evaluate[D[ufun[x, y], {{x, y}, 1}]];
J = N@RotationMatrix[Pi/2];
p = R["Coordinates"];
{i, j} = Transpose[R["BoundaryElements"][[1, 1]]];
normalprojections = MapThreadDot[R["BoundaryNormals"][[1]], (gradu @@@ (0.5 (p[[i]] + p[[j]]))).(-J)];
boundaryedgelengths = Sqrt[Total[(p[[i]] - p[[j]])^2, {2}]];
{α, β} = Transpose[bndedges];
vertexbndedgeconnectivity = SparseArray[
   Transpose[{
      Join[α, β],
      Join[Range[Length[α]], Range[Length[β]]]
      }] -> 1,
   {Length[p], Length[bndedges]}
   ];

(*Solving the system and creating an interpolating function*)

b = vertexbndedgeconnectivity.(normalprojections boundaryedgelengths);
vvals = solver[b];
vfun = ElementMeshInterpolation[{R}, vvals];
added 7 characters in body
Source Link
Henrik Schumacher
  • 108k
  • 7
  • 180
  • 313

For $z_0 \in \varOmega^\circ$, we make the following ansatz for the holomorphic map $f \colon \varOmega \to D^2$:

First, we discretize the the interior of the domain:

For $z_0 \in \varOmega^\circ$, we make the ansatz for the holomorphic map $f \colon \varOmega \to D^2$

First, we discretize the the interior of the domain:

For $z_0 \in \varOmega^\circ$, we make the following ansatz for the holomorphic map $f \colon \varOmega \to D^2$:

First, we discretize the interior of the domain:

deleted 102 characters in body
Source Link
Henrik Schumacher
  • 108k
  • 7
  • 180
  • 313
(*Preparation of Neumann boundary conditions for v*)

gradu = {x, y} \[Function] Evaluate[D[ufun[x, y], {{x, y}, 1}]];
J = N@RotationMatrix[Pi/2];
p = R["Coordinates"];
{i, j} = Transpose[R["BoundaryElements"][[1, 1]]];
normalprojections = MapThread[Dot, {R["BoundaryNormals"][[1]]MapThreadDot[R["BoundaryNormals"][[1]], (gradu @@@ (0.5 (p[[i]] + p[[j]]))).(-J)}];
boundaryedgelengts = Sqrt[Total[(p[[i]] - p[[j]])^2, {2}]];
{α, β} = Transpose[bndedges];
vertexbndedgeconnectivity = SparseArray[
   Transpose[{
      Join[α, β],
      Join[Range[Length[α]], Range[Length[β]]]
      }] -> 1,
   {Length[p], Length[bndedges]}
   ];

(*Solving the system and creating an interpolating function*)

b = vertexbndedgeconnectivity.(normalprojections boundaryedgelengts);
vvals = solver[b];
vfun = ElementMeshInterpolation[{R}, vvals];
tex = Import["https://i.sstatic.net/gRwc1.png"];
texcoords = Transpose[{
    Total[(f @@@ p)^2, {2}],
    ConstantArray[0.5, Length[p]]
    }];
g = GraphicsRow[{
   Graphics[{
     Texture[tex],
     GraphicsComplex[
      p,
      Polygon@R["MeshElements"][[1, 1]]ElementMeshToGraphicsComplex[R,
      VertexTextureCoordinates -> texcoords
      ]texcoords]
     }],
   Graphics[{
     Texture[tex],
     GraphicsComplex[
      f @@@ pElementMeshToGraphicsComplex[R,
    VertexTextureCoordinates -> Polygon@R["MeshElements"][[1texcoords, 1]],
      VertexTextureCoordinates"CoordinateConversion" -> texcoords
   (f @@@ # &)]
     }]
   },
  ImageSize -> Full]Full
  ]
(*Preparation of Neumann boundary conditions for v*)

gradu = {x, y} \[Function] Evaluate[D[ufun[x, y], {{x, y}, 1}]];
J = N@RotationMatrix[Pi/2];
p = R["Coordinates"];
{i, j} = Transpose[R["BoundaryElements"][[1, 1]]];
normalprojections = MapThread[Dot, {R["BoundaryNormals"][[1]], (gradu @@@ (0.5 (p[[i]] + p[[j]]))).(-J)}];
boundaryedgelengts = Sqrt[Total[(p[[i]] - p[[j]])^2, {2}]];
{α, β} = Transpose[bndedges];
vertexbndedgeconnectivity = SparseArray[
   Transpose[{
      Join[α, β],
      Join[Range[Length[α]], Range[Length[β]]]
      }] -> 1,
   {Length[p], Length[bndedges]}
   ];

(*Solving the system and creating an interpolating function*)

b = vertexbndedgeconnectivity.(normalprojections boundaryedgelengts);
vvals = solver[b];
vfun = ElementMeshInterpolation[{R}, vvals];
tex = Import["https://i.sstatic.net/gRwc1.png"];
texcoords = Transpose[{
    Total[(f @@@ p)^2, {2}],
    ConstantArray[0.5, Length[p]]
    }];
g = GraphicsRow[{
   Graphics[{
     Texture[tex],
     GraphicsComplex[
      p,
      Polygon@R["MeshElements"][[1, 1]],
      VertexTextureCoordinates -> texcoords
      ]
     }],
   Graphics[{
     Texture[tex],
     GraphicsComplex[
      f @@@ p,
      Polygon@R["MeshElements"][[1, 1]],
      VertexTextureCoordinates -> texcoords
      ]
     }]
   }, ImageSize -> Full]
(*Preparation of Neumann boundary conditions for v*)

gradu = {x, y} \[Function] Evaluate[D[ufun[x, y], {{x, y}, 1}]];
J = N@RotationMatrix[Pi/2];
p = R["Coordinates"];
{i, j} = Transpose[R["BoundaryElements"][[1, 1]]];
normalprojections = MapThreadDot[R["BoundaryNormals"][[1]], (gradu @@@ (0.5 (p[[i]] + p[[j]]))).(-J)];
boundaryedgelengts = Sqrt[Total[(p[[i]] - p[[j]])^2, {2}]];
{α, β} = Transpose[bndedges];
vertexbndedgeconnectivity = SparseArray[
   Transpose[{
      Join[α, β],
      Join[Range[Length[α]], Range[Length[β]]]
      }] -> 1,
   {Length[p], Length[bndedges]}
   ];

(*Solving the system and creating an interpolating function*)

b = vertexbndedgeconnectivity.(normalprojections boundaryedgelengts);
vvals = solver[b];
vfun = ElementMeshInterpolation[{R}, vvals];
tex = Import["https://i.sstatic.net/gRwc1.png"];
texcoords = Transpose[{
    Total[(f @@@ p)^2, {2}],
    ConstantArray[0.5, Length[p]]
    }];
g = GraphicsRow[{
   Graphics[{Texture[tex],
     ElementMeshToGraphicsComplex[R, VertexTextureCoordinates -> texcoords]
     }],
   Graphics[{Texture[tex],
     ElementMeshToGraphicsComplex[R, VertexTextureCoordinates -> texcoords, 
      "CoordinateConversion" -> (f @@@ # &)]
     }]
   },
  ImageSize -> Full
  ]
deleted 34 characters in body
Source Link
Henrik Schumacher
  • 108k
  • 7
  • 180
  • 313
Loading
added 974 characters in body
Source Link
Henrik Schumacher
  • 108k
  • 7
  • 180
  • 313
Loading
added 1133 characters in body
Source Link
Henrik Schumacher
  • 108k
  • 7
  • 180
  • 313
Loading
added 180 characters in body
Source Link
Henrik Schumacher
  • 108k
  • 7
  • 180
  • 313
Loading
Source Link
Henrik Schumacher
  • 108k
  • 7
  • 180
  • 313
Loading