5
$\begingroup$

I've imported a 2D element mesh from another program as a list of triangle coordinates {{x1,y1},{x2,y2}....} ("nodes") and element connections {{n1,n2,n3},...} ("elements"). Then I create an ElementMesh as follows:

mesh = ToElementMesh["Coordinates" -> nodes, 
   "MeshElements" -> {TriangleElement[elements]}, 
   "BoundaryMarkerFunction" -> boundaryMarkerFunction];

I was hoping this would automatically assign ElementMarkers to each boundary edge, using the boundaryMarkerFunction specified in the documentation for ToBoundaryMesh:

boundaryMarkerFunction = 
  Compile[{{boundaryElementCoords, _Real, 3}, {pointMarkres, _Integer,
      2}}, Range[Length[boundaryElementCoords]]];

However, no boundary edges actually get ElementMarkers assigned to them: mesh showing no unique elementMarkers

How can I assign ElementMarkers to these boundary edges? (Even a randomized assignment would be okay, as long as each edge gets a unique marker). I just need a way to reference particular boundary edges for a NeumannValue condition.

Any help would be greatly appreciated. Thanks!

Edit: Here is what I get from running

Show[ mesh["Wireframe"], mesh["Wireframe"["MeshElement" -> "BoundaryElements", "MeshElementMarkerStyle" -> Red]]]:

after trying the suggestions from @user21 : enter image description here

$\endgroup$
2
  • 2
    $\begingroup$ What application created this mesh? $\endgroup$
    – user21
    Apr 16 '20 at 6:23
  • $\begingroup$ @user21 A MATLAB package for electrical impedance tomography (eidors3d.sourceforge.net). Thanks for your help! $\endgroup$
    – bob800
    Apr 16 '20 at 16:16
2
$\begingroup$

I downloaded your $nodes$ and $elements$ from your GitHub link and created mesh that subsequently Compress. Now, we have your mesh that we can expand with Uncompress. Now, I modified version of @user21's work flow to your problem and verify that it works.

Needs["NDSolve`FEM`"]
(* place nodes and elements from GitHub link into Element Mesh *)
mesh = ToElementMesh["Coordinates" -> nodes, 
   "MeshElements" -> {TriangleElement[elements]}];
(* Compress it so others may copy it without going the link *)
Compress[mesh];
(* Copy output string from Compress *)
mesh = Uncompress[
   "1:eJyNnWV4VFcTgJFQJAQCxYsEd1gXbHB3dyvBXYpb0eJWoLgEt0KCBhgkBILEiBN3\
ojgU/VJy52zuMnu/8oN9NvPuHLlHZ+acW3nklJ6j8+bKlWuGfdZ/\
bSY6T3KePLOL84yxznmyvkPWf/9+Bn/7918m5pL+dX/e0Jjp+RS/9W79c5EpGXDszY7ds+\
Oew7CBs+yq+\
sTCCen70OzvWFviH2bzWDpx39BPbnfx6ELY3WtfJh5z2DhmyecLOPu9fujU55m4ot3O8pP\
aLYaB9nP972SlOzcuSX+0+\
yWo79lppl90JhZbMaXJpPtP8HKhh7lMlTKxYN8Fvxu63cFR93y37xiYjgsn//X67rTzaB9\
Z/E3QlXRcl39lr2uj5kHXZR3ODsN0rPFx7S/l7S+\
CWXXjQ8z2dJxaZu3HPk734MaRuMZHN2ZiWtvwK/5x3tAEmr6JcsjErgHDz0/\
9NQAi3UPGq/tkYOc1Ho3C7kbjq+Rxu2+0SEW/\
X0ucuFs2Ah06REfVXZKGg9cN9HNbHoJN6/\
jE5t6Yjrnijk9o0cUfuzY6kHepNg2PRcw6uXTjI+yS/+nUq4FpGPLkos8vvW+hQ4/\
xjn9XSsXLATfbtXc6iZd3LSz2un8qBromvipY4wD0aGpYc7xPKu5N/\
lb17Ii7kFmoSYmC9dJxx80z88r7PIZOf+RrXetxGu72TLZr+8IfNoVd2FSyWhoefNxjbw+\
7YFjQvHNvv+qp2OnUu/JlyoTCL6rGU/NNTcfRa3vcv7s4Ag5q+\
5xPdk7DtqVvLIx5GovDPxfbZxf9HE/euNWs1MdIvLS7+1pNrec40qhZs+JzGE4fks/\
kNjQFFy5/m9LhYhBeX9Z8UrGOqdi81TqP8vt88aLDTDvvrN9Pr5Oc1771A+\
xx8c6s1v1T8HDume5/qi/jnPTC2OZbMj7o/XGyJmE41Ox9pXBkg6z0GtXp+\
Tb0KiSeHZLv8PkU7Gfcn3HyrScs6OnxvOb6FFzfbVCJazt8QfV0YEbuvCk4Jl8Xr1ZnA+\
B911ItmiYm4+\
Z6RRqdaPkMit3a7nbcmIKO5grBY4pFQZmihspeH5Mxyvv3vaGR0WA41rm0ozoVo7eWqPfh\
dCKWmzLZr+m2RPQZc/f17cfxuG5Uy/\
DxPZJx69SG9waNi8G0Xn0vfwpLwlLjSr3bMiIcE8pW76Z6nYjG0xt72+\
0Pwap957zYVDEZm4dF9H04NQA7lZu6ouHzZPSodGWdbtBjXNXeu4yjSxK6Fs1ffdbBO1i/\
YZkiVX2TcNCCCpPGdjyC5TftelvHnISLzzTsPbDd3zBq6aSlb1XJOLuqe+3DXe9AWJ/\
YKfc1yZgxauL5J+seQ+69J5slxyXh7yc8roVU8IePV+Y/m3A9EaG0asV07xAoVH54zS7/\
JOGwMmfcl80Nh51Djg9pfCER67dK+NBnYgzsP+L0al1WeZps/s07T3IsbK/\
n9bSn33O80D7BK/pJPEStNc+b1T0ZX3/YUfTNmGR8s7pgRKcL8Vh8+vKHy/\
Mm4JqW35qWeRuPh2e9XDKlTRx+HttkYdv5idhu9PqiZ4pEo/HLCbu+\
ZxPwSEzZfAOuhmKRK0eWvnGPx4AV0KdhiSB08Ly6u2FYAg7J9XVzPnc/\
TL1V2Ovs0kS0n7BluXa1J9YM+HKgVe8EdOr099j7LS7jnV2hy1z2J+\
BBCLv9YsE6uF++6ZajUQn4z/HwvhnhVyBx98vS+\
7wScPLwYzMe17oPexPer17mkYAdWy3Y80uYNzTdnbdd0K54nBLX7GxY2SCoGhLp/\
OhSAt5x67Ni6P1QGNHj3e7ji+JxS+4VZb6po2HA68+tnLYk4KO8g2efaBEH+\
ndLzsWNy3reUffazvsSD8X9N+UpnxmP5Z8k+MfuSYS+54yDB7gk4rZ1pT54/\
vMcJw0fubzd37GYT71o9MKjiTjpL7fTLk3i0P91jeJXXOLw4DTzwY2RsTh2c4BucnAMjr7\
x0yDToHjMnyvP7Z4jI3BfsZEPFy6JwyW5nyxsXzgY3d0cMq8vjsWdezJ/\
G971KR7ufb9i751xWK1oifkfVj/\
Bfsfc26xrEI97E6fdO9frFp54Njh9UKs4DDt37VpCvsOYN3z9378+icPj/\
zw++3eFE7Cqj8OoHovjsLc2qn/fpNvwxLvL2vrr43B8twX3u27zgrURGc53R8Vip6dHbo/\
o/xRqrc9fePyUOKz728dN2ysHQ//5p1o26xSLv01M+f33GxHg/+\
2n282HxmGBqPyxlfPEQkTJEa1W5YrHpe2q9isZFgfvB9jfGLI2FsfP/\
VxwwrpEOFGrf1tT0zicuCn26tT+yVA6M3/dPzzicVSpnc4vhmf1S/\
RtcGlTNF6L7hDwpnQyDnN6frlE7xjc2ezAuMyeCZiZxzFe9zoaq9q1CSjUNRbhn8k3xoRH\
41uXN05Vp0RjAb/DF8pXjsVJroN/DbgThg73HX7yaB2DI3YW2NJ/\
WAB22bquy7c20bh8xLkXUfN8cfmL5fWmDo/B7eODDh5qfB/XbP/l8de0GJwZ97ZXw+\
pu2Ebv+Mfy8TH4VzmVU6vIiRDR0f9M434xmDqiyoBzL69AqW/\
DRmaMisGM2iNGGM0e8Lbf7EqvtNHYe86kwsaNvnA+T0SLck1isN4/\
R3p6TQ4A7wJ9r5yrFI3DGv3lUrbsM3CoGnJ6kD4G12z2GNjsdDTUOnbU7t2tGGzjkL+\
8elssVJm8pnLizGgMyJ2yqdiuBKi4YnKpfLujMbNny1u1nZKhSt7lBe9PjMHkvu/\
XXhiSCkeWH1nruD0aP7Qf0+v63jT87WOqwyOXcHT6+Nw9ZNxzPLfngvP9K5HoMHFS/\
KqgRFz9tNLW5rsicFP3BtG/ZMShKtC5x7rjEdji3R7H12Vi8J6zKjqtVwSu+\
bXtxD29InF3mRuldiyJwqLlMqa4NgvBfm+\
XXJxQIxJbuo97dOeEH3puDbzTsGY49r429nSZ7o9wWIeHLwYujsSr7QLOPQi5hSFbxxZYM\
yUKxzRYsCG4rQvubhWX/LBEJD5p69svoOopqDR25izj5khc/\
Hh8Obs8N8D3RFz70tXC8XyDygFPjI9hgMk7arlTJNZt9/7wtEL+MHFKLu9p959h9yalh/\
YaGwJ1k47syF8sEg+svJWr+rpIWF9hU9t2jaJwy/Y3X/\
voY2D9zr1DRt0NxzEDNtVcYoyHhht6lz5jF4GbF7bVB1RJgsifCrfcaB+B9T/XmNh2+\
nNob+/y7afQSFxZfPesQcfT4Pe29Yeo54Wj74aYmVfOpOPruo4TlmQE4x33Qws3HE7B3HY\
fBi7ZE4aTH/QbtbNzMhbX++1+\
rQnFCz5PPsybkoDjx6y697RFKPrsKFZgj1ssOg261XP22xD0fzTLf2TBaDzkXnVgX98Q3L\
ffbfwZ32fY+dVk30ePwnDrsOF1Yt0CMaZYSok5L0Ix/U/NspRB3tjstxF281KC8VDhuo/\
737uHuVyjS9/sHIbtu0w8uNftEr6Nf/LPsBlhmKTbMy5u9HI4v2uN9nKtMGw0IP+\
wRRVcYdqa+\
6qqMcG4fEIPdYU4T5jZLdqh1qdQvFxxy5DVu71h0aeSjz4vCcY8k07D7EJB0Hdds8qDN4e\
idtHD1a8/PYP1/VtFm2+\
EoWpyvf6FvaKgWf5xs18PD8E9ueo4vouKheDiwXPsMAQXz767f6F7Aph+\
3jAftoZgifaldaYFydCj9/SHI2+HYJe36qiOR1Pg7/R6kx/tCsO8+/\
u4O99Ih6gI9xM1DwTju6Zpu9ouy8D9N3xS3Ns/xTMuayJOT03F4a/\
qPlmmCcJgfcrGlvAcP8ypq9/xRwC2zDPHuPN8ItapGKd59zgAce280ys+\
xOGa5c2WJM0IwLi2qZ83T41Buwtv332Ie4qdj2XYB06KwOQl3ROL7w3Aw2lTA3ffzcrn3G\
FetcoFYVJT9XjnAk+xi9PLk1NnBeKdhIgVV088wHkRLb41aBCAnT8Vibz29SaW+\
mtat4A1gfi0cesj7x4dwp7thl4KyBOEI+4k9hud5xB0mpwZH+r1FP+\
8Ps01V8JtqDw1pXWjPYF4u/zEmel+XhCba8yE1yWe4qufdzQI7Zg1/\
j5uXPJSh0BsXrfwyjmDQ+He5Y4ub4sEYacy1ZYW7xQBO1uElLGLeooVLj6+\
NX5JDMQutsvoNyEAHbwcXD37x0O3lVX+7qkKwBUORzRLCydBaoXiPqn3n+\
KGhY06npnxHA72HqoO6xeAZZZ2+3ZpayrkX3wqpJ1dEOb9+e7q5bsz4KGT95Odp/2xqmf/\
KM9amfjrvS9lHlZ/gp/ST9ntapuGo1OPT+221g+\
NrgkDdfYpeCOk6o3uZXyxc8BKXeyuJKxS4FO+Ts19MH36ydUtOybgqh7j24WV9MWZe5/\
kXXIrFj8NG9XkdWtvbHvKp5L5fhQu+XIz8+JIH3S1L/aoTPUwnNn6W7P6G31x/\
PUeRaYPCcR9tzvGxxbyw3P3V51a/dgHL4y4/U/5RF/\
EzQ90jpU8MOZjzb47s35fQ7U0xK23G35xDuplfueL1xs/y7craQbOX/ZXfK+\
XPjj59vO4VuWuwp3gAdPudvTDw0Xm71tywAM+bI8J3F/AG41xXeu5x/\
hCZLFCpetc9UXVjtM96q4NghmuU5pdn5w1zhXd/mn14TCYUyp404t0b+\
xa8OqO7ZWi4WXlfhMK2/vg1neTfKq5xsL7PDW2T7jig3fafW61t0cCpNZe/\
237Im98Un5Yc/s9SXArr3rbgN+\
f4PLU0lfbv38OE68kfut6zwf3XV1b0fvXNNiyzP38qK5+\
qHtwulu1VpnQbtqD0it7PcL7JQ95/HYgE5sX/7OL98K7+\
HF5fpeemWkY8b57Rt5aXrgPDlYP3pqC5R66lvo24j6WmbVCV84/a93X++se+MsT+\
03b++vBN/Ho9NcU50lJntiq+\
IGL9bLmudLTftJ3WeyJh8p5djEcDMfTxSqlrXS5j3N8QiMdOgbjz83U+0/\
MuI8ty37tdLyxP35aFV29bp8H6JnrytmXlR7imfiHgc2d7+\
OS9SmfVH9fR92k2fYlYjxxy8aGXWoPOogNw3pN3erniaptFar8EnAaXl7THn7Y0wuL5Bqw\
/NKgW1AxbEWC8cg9xPhPjhX2PYbjFedM9NI/\
wNSMRd2HJT6FTlX679ka8QAbvo1pFbk1BBYmDo9taPTEv0vnv3ipZSQY/\
Fab8lXyxB6w9ffqhWLhWZ/OJ084euLt63UK9HKPB88Sd5rvG+CJjxYtHpLyOgm8bnTMH+\
PngXmj6lbzXpsCZS+Mejw62BMTmzmonr1MgzMz+h/1GuSFx0p0rTDrYibMSwr+\
NLXRbRw96ok+\
MClrn1pryLLOR13xnlPD0NNt09F9turikC03cOaZghMWFE7FYoGFZrYf4451HiV/cT+\
djJffdCqY+\
ukaPnwysHORUokYXzO4QV3763jgy5Lf11eKww4vftuw2O0WpuxcdODXnVFYPy6k/\
KPgm9htmT5+ZL4wvJAU1ieg+HVMGVByeOCeAMxMvRrdOModVbWzdmStfHBs726xpR644/\
bixT50WuSBI1IWFvS/5I5NNrXODO/riiVjVu+8GHwVx+/\
c19swcwUsuTT0208lbuDHmK0TNdsuws/9F62vn3ENh+/\
te6f2FU94EVvT3L3cdZyy6NHUget94cix97c9w2/\
gwks1j60cFwhjwyqd9KjpjhEZl057FHoGqr6qK790vIYd2p0tVmhwNDRd9xKGPL2GnR3vz\
DLWioORbYcf/7n8VfRtmnfBMt8EGHdyfvyxP2/ggHND80w7lgyDTv18efCiS9h/xuEX7T+\
mwEwf17aL61zHuvMqNoqclA5zPoyqqHqIWC+9wrqUN5nwZWv99Iz9J3Hakk4rcX46Oq+\
K6NrI/iC6F9/7okDlVLzQKcXjwIYDGPQ5X5ln25Jx8Um7zqrrB3HFjAahMyolYsfxs+\
Z2jTqEn9I6e9e8FIf5/\
q797VaN09h64OmlxZrHYFfXV6kz557DYsEbXkzJFYG38td5UaHbUbz18uvijxOCMWPapy7\
tch/CMzVOnajb3h93HO3ZtKjDXuxd03Xo40YPscau8B0FLh7A1Ap3X7VIuIldEgrs/\
ppnHz5/ss6py+ODeHNHUOErEw9gx241dT4NjkHZzYnnXq/fg5vqz3/paLoFX7/\
1hIPpB7FjYubOP8IfwoKvQ8JPJR7EU//8Mze8qz8E9Nz1efuZA1njVcMyJV2DYV/\
DAaOcnQ/gzS8+5waaImC6l2uRHqsOYMu+j6tXbB4DHc+GvRtwej/\
eX31repOPcXAg8VuuJn67cWbSoTZ7OifC54WFV277dAxfV+x7fuvg55C/\
XuMCB89txNPvPH46szoVQhe2Wqi5eggnr3ZzqXs9HXJPTlva4tlxfJ/\
3lzcfkjPxq2ty0XENXOHTp82HQyak45m9G3Z3Hncc/o6ILx9QLBVrd3Vt+nKzC+\
R53uP6znXJWKrFjU5/FT0E5z0q74wNTcBaA4b1fVh/D+Q5OSTmhCYOG1bUFrXLuwW+\
ftqTVGhNNPrP/bRwY+dNsG/\
1zptTRz3Dat2WDXtWaB9M1q36MKVWEPZconr2avRRgLt35rrt9sWTYx3sp+w7Bo/\
3Lyr0sLgnem5Ojaw+5Ag4F5uVMq/XJay6u+\
eIVP9jUD0wOax9u8moHxD3fMOro5C387nTK9a5QdmhA6Z9GXsCLv11Zde5yR5QKl/J3x/\
Oc4HVR0q+b3TZG+yeVu13N+0YOO7Y/eDVgQBonRR8tLbLESh+dLPn+CJhcKna2Y9jih+\
BiC5po0IbRUFI/S2/\
65YehagdUMeoj4VZR65uWvD7UWj8qfGuMtHxMDA1Yva210fhuNOH0AcdksCn8raye5f9Cd\
tLjuyYMiAVWs2q2+74+uOQuT384xWPdAhstjGPavh+\
mFtpQuGYT5kw4ssF31dNDsDYSzMPDTqSiffrfxlf+MsdeN4kdMdPddLx8V3XJq+\
r3YIXhZaOH30mBVfVKRA0ptF1uPQi9n3fssm499yZZPfR1yDZbcDRNX8kYN70SZ+cn1+\
GE0OOx7z5HIsTF58zVfh6CU6oRzTy2hqNqdeq21XIfQnCzh3zm9oqHB/VH3E5d8IVaLH/\
z0yXScHYuu/oCwscboKqTYd/0rb6Y26HjW/mV0GYm1ajboXSD/HQgZili7bfgIAi4/\
sWLnALu+WdpJ0yHOFJUb+\
DUyoexuMNitivC78JPYMznIrdcYEVpfN7tA9GUJmNzd5eugVDr55PLLYUwXX8vp+\
2FXsI7fe2aeCuQvg4e/\
iMhZv8YfunEYPKnL0JvRdcSaj0Ihg8Sid929r1BqT2rl8ptyYCJntUKHzuwk1YkKpdMrxa\
DJQZNeUy+t8EN49xX13vxMGqDqaOCcabkJY/\
b1Pcngjr51e8s3uAO3SOdzqYWv45TCi7rMXeAm5Qp3DG4Brd0qH/tIFHFrS4Dg4+\
Q8dGPcyEO163Z5/55QZMGqmrVr5hJvq1zQzef+Ux9LnuvXF73nS8FTw2pN+Qh6A+E9/\
9zZQUbHwtyTU6yRMC37p8a/U+CRcHVC8ZCp6wbJtfYolFCfj+yPgyu594QNm/\
39yNzxOHQR9m/jr4hAc86Jw+IGlGNH6NHzLPfN0D/J32xnY9/gw/VjJ1/BTsCRVq/ja1/\
owgHNQmptHqDl6wofOkejDCF1ulBfjHf7wPHys9mbbW1ROvnq386JqzF4x/\
dOV8saNumMfe6chR/QPoXKxTjamq2rixduO7ib8+hLF/\
mFosd70ELSN8Z6ZUfAALuz7Kf6aLJ8w51PxwUvJDeGS3ocrKZz5Q6t2VinFTHgBstVNFxA\
TCwy1L9hVu/AAuDC67enSbZ+B/+\
e77Lb89gLJNp5fqOTQaNDtqlKjW1wvcqrzokZgUC4MLOq4o4f8Aqt4+9pv2cAIkOF+\
pWaP8fXgwJPT6jDHJELlal1zqHw/YX7rdOXVwCnw541PhRuBtOFJl6GW3semwT6M/\
EzXsAeR32Ho59+hMyHxWr8Y51wfw7fSSY5XWZeC8+V33jnB8Cj/d/\
KtBYMNUdDzU6cDQjr6wYeLZuRljkvHagb3bNl32gffGivdrH01At5EZjh+03uBqDB7/\
ulgcuv5uf2vR709gc3P/\
rtN3RePYEqWcdQW94eGGt18vzgzHfUvaF9yVyxf676rgWqZuCNb9kDG3wwI/iIi+\
Prv8cH88f7jqk4V6X8i7pWNUy8uP8MN4Y438UX5Q56x7fa9gxIbNG4+\
r1dgXfnF0cVFdOIEHanxNiH/kB6W2p64pO+kkbAw7GFL9Zz/\
Ys77F8axlIAQV3VxqptEPVux527Ld/cdwcvKHwsEaf+jbSjdofpA/VOvzy+\
mkLH3FTlaqNft6CDSK8rr7IWude27buO0F60TC1c6NXb0L+sHEk/\
Ga8z4xsGb29PYdLvmB5z8VIht3iAejpsXAand8oVXSpml9fRPh9uBBHSod94HhpcoH9tA+\
h99HeL09HfMEog8afZwGp8Lpfp3Pb7/8CJb92f2u+50MmBF6b+qSw34wP7PAkPe/\
pmGdmIuN7mWt65r8o3ccMuc5vm17a0z0nACYMfzJ4FwuidipcEHviPincHv1rJAJz+Nw+\
6Bmc96ueQo/f/av82ZADLYMM25vcvIptKr2cvj7wpGYu/\
OL1LVHAuDWvjunKlYKwzY9H00ftTMIjhetNqqjPgB3HJ6+0XAqAJxig+YOK+uLZ7r+\
nRR6Kgj2dVGN2rDhLqZXb3N2rHsAnMjTZ/\
fs6Zfw5Jl7fWquCYIF9W8sXrduJZS8nf9EfrcAOFhOnf9Pu8sweFifSje+\
BMHJPsXyD3jlAeo7dqv2OARCszd5Uj8W9YPdGavSH10Ogjr458/\
JRQLhZPefPJ9uCACXfOXblMz/DI6tyDdm/\
elA8O5kP1vlFA0Vqx348OpNICQdLPPO9XosRPfd4Vc0MAgyfLf9FXknHlwvXF7/\
pW4g5Pdq72ZumARlx051rDckALpu2m2feuU5dJ7dMrDL3qewrfHPb8p0SYMi6yb1XNbOH4\
5MNrwvuj4dvU2nCpXYEAKVFvZfH5+\
WgpeeRta3PxUCHzvXWR5UIhmH2BVsN2NPCMxybDpuV/\
8EzF1jz4u4jiEwcMTE8VfcYvGnkEYnbncLgX7tFg4qbIxGnwJFM1s7hoI2/uph/\
6z9wvXTBc3Y7BnM2Nc+LrJVEL5t4tQhb6NQKP5RP6X0aH+s/6TxLyXGPQP7ux+Prav2AE+\
kepZMfhkCvxQZ/zm45C3s4hd2/VHrZ+\
BzIvjoYIcDOGDHBDfUh0LjUytaVIw9CNvy5RqTtjAM3K5N2tTG/za0Kn3v4utuz+\
BwWIlxNUs+BPvQId7LX4WA77NFhe4ufQp9A5e/OmF8Bo063Nw9fFEwOP0843x6/lAYc/\
GVXePfIqBor8zQhH1hsH1obzO2jgG3QwumlTFn8XZ/VeiZFgcNzvfQNbrzDJY/\
3lyvYUgCRNUuUmTqrlCY8I/\
P8CHLkmF70Qu5Zt0MgddJG1of7ZgK1zp1b15nTzAUGtljIMSkQ6GYZq0mJQdBd/+\
eeR0npWGBqQ67a46KgOB5i2OOXHqO7593c7rWJAJMbp65Ur4lYrHl4TWHfwyHL8nHar3tE\
Y+O6T4Hc78Ph/\
blA56suhmDmsHx9u5TIiDAZ8egZ2Oi8G9n77MHNkbBtfEuj2IxBEvfOHzCYVUEDHtXuPHx\
woEY5fhgVf8vUfBk9NGe+74+\
xohzQ6897RcBcduPb75f7h42WeK8pNTJKCiwdv7mi6vP4oaG3YZ9vRAB1T4e8Slimgwl71\
XIVf5VFDQoXHnFq1FucNovebFddAQkO97NvKy9D41H1b39D0bBIVOc1/\
hr3lDi48fTeQwR8G798/IZDwMh1aP+1zcnoiD/+Fa/1QgJBbfIBnaqwxGQ+\
rh41JP4KHDb69/r1O0omPlg/8NVh2Nhb/r5zBNlo0GV+\
HXIt2EJ0GnluIpra0fDwOJTHX41JYGbS/\
OBI7LyV7thSP0pxVMAIjZGtfgzHIaOnPs6r0cafL5fs+\
qDguGwusuthufLp2L3o5WKLPsWDUkVcF/8qGQc3WbzvFGZ0WA/\
2yt3zYis9Y3ru2ItvKMh4a7fw67N49C/\
5vTXSz5Gw9gq665nvI3G8nVvf5waHAOV44uanRc9w72D9mhXPY+\
GG55LvSb6BOOk8r6FBtWJhc1QvUFSXj/87B72rdmLaHhR6+bo5lUfYoH8+\
je5c8eC47n95xfWu4bn5zSqHZSVflCHxp/3HHXBfg33tJnmFAtnK404NbbQSTj/\
ckCPI46x4Lf7qvvxCzfgcp2QBx8zosFndqfhruUew76mlb7El40F31Nj8g0IzRqXO814Gx\
EUDW+8TzRsVjEEtnj/VnhGyVioX3ePw8MK4ZBWNDHypH0MjFva7nTNWjHgOC1p+\
qXGsdC16B9p7gXi4WahAvvfjoyFcu02fKoYmQhHIjdUnD84Fmo6jEsNOZEMmlwF49aci4b\
4KhO7u0xOhYIjj3f4NDcrP0ELqrXd+hwrn5x3eH/jOLgz9lHDKW8ScUcHlxq/\
zogDl3Hdt83yjMcLRXu1+\
tQ5DnzHdf7pfr9YbNLOv4PuWRxMef0pV2bNSBz66UiunRXjoOPrC4/\
9VoWhx7VJnsP6x8OQ4uc03YOeovu49n2vqeIgONG5cHIeXxy5t9ues5p4eJXeOqVXhTtof\
jPqryMV4qCG/9XFrvfd8I+FSaNfdI0HaNJuYdMz8yBXv8MNZ/aKBxzhPE+\
79DKcr37IdYM5HtJdql5psP8uJL880mt64ThYW8hhVe9+vlC6UKmGnj3joXD+\
P2I2mQOgeY/Inw9UiYNFnx65Hx4VBkXy3u0TOy0ecqfXUB/qHAlO5Qe+\
bd49DibHzboBw2LhRqmFnuP6xEOet9rxuScnwKutThH5VsfDzwMPZZaangzLziwu0PNoVv\
pFepc/fTUJXeLe5jLOTYA5xz/btxkQjz/1/D3o9N8J0Pjv2V+WbYvGx71/m/\
xVl5C1fqr6OPzXCGywVj/20cJECN1wauDna0E4zeAxrvHsBGhwMML9Qbg/XoyqE+mdJe+\
fqJ4M7+/j/\
psh33ZoE8C1deVdA3vcwmOL2s1dOykRXnjVmlG1jQumvLyZ5L8tEbaP6D1y2bVjMPDg/\
ENDXBKh4xrfl1U33oKHnxFLDkiEQa/KTem35wF4ntkTatc6Af4uGvyxQ4A/\
DM21KnfHlYmwslHMIf2+IEiHBWdqzkyASnu3PqqfHA5zmv05sNTZRAjR+HU5Mzoaelfp+/\
fKPxIg5qx5kWF9HNgfu14O+yfCrFGn+zp7JsKb3Cvsds5LhLvRPjjAMRGH/\
OXQY0T9JJgeU3RQ5dqxWNcQfvhu5SSId8rtOKtENOo8/hq+\
ZnMyePwZGwNjQvFr2709m55JgkedXhco3SkQ+6Uk5/7lTjI0WDbu/YR+\
T3B1VGW7zCFJ0OBC8yH5f72HszN3N9r6ezK8mvXz6J2DL+K+\
yhdf9vZNhqi9R4vtcO0C9bps7/VTajL4VDm8aGD+SzDq3rEx+VKSIWCI/\
tCN9vegw5vCY9fMSgbnIrvr/3bzCbjYB7nVX5oElS5d6ljl50AY/+\
1uQcfwZHCZ1n5E7i9Z/XPh+\
sXHvZLg122PC4cMj4KqLWYVbvgpGRatnO9QziUGwD69zHvPJBjz0/qzEz/\
Hw4xniyr0rpUMY91KjSihjccEH58CR/ySwT934ICb3WLR+5ifa/\
1mKbAj43I156BneHDg7IRbvs9hVoker3F+MM5RJ/fP9TEF/jh8+\
UO5z774a2IdfJe1TqhdYVx5Fw8vdNh32FRiRwpgrfeVNF1u4eSvCebe5VLh9rXuDY5/\
OoalAuwq+LVKhe7RvUtVszsEbRY53nBqmQpjrve063zwJpxSl7p3KIu/FrDc+\
8ogLyhcuEoX3J0C05bNvfvwvS90bvBlYL5Hz7Pad72MIX2CoYC5YCGneqkwqaNns8vOz2D\
IHNP4Xo4p4KYKrzwuVwx8rGVOcyqfCpnDTnXq6xAHmszNbk8vPod/\
Fl9o79QrGpuedOwZuCIV2p3eGL1qQzjOWlD6ZqfDadB88+ZKv3/\
1x0rRGcf6fkmF2uevVJvf9DH28DmTr9ntNGjhtXGF1/47uGtXmUEFR6dD3Xaf/\
9nc8QIWHzusXLET6bC1Vd3xySsmgP2RDX8Nu5QOO9OMU+\
80d4NSH++t8jyaDvNLrmjodPMuHNrduWruAelQdIV+yWn7J2A4WFq1MTQNGsx1rrU30x+\
KzV88rJFdGhT2irJ37BQKDV/Xdv/FOR38t9wdXfBu1rydVPdL395p0HtV+E8j2oVg9O0t+\
Y/tToczzbokr7T3Ro8Hhxc6/ZIJHwqoL0d+vos/l2q7YOnuTFg47p3vFKMrRtc+\
ZYhLztrH6B83O5gxC2Y51HkV8y0TEvOO94q4fRGc89eoPzg2E853+GvKHO09+Pw0/\
HXIhkxYt8np5aiDPnB8ft4ZL3JnQvzB0se7Hw2AY9c7FI/ukAGjc/8bEWSX9V/\
ncTNmZn8rmvVf7+njRkweM9FZihMaXd8uJ5Y35486/PtNrdFmf6q0Hf5VomMYrU6d/\
anWS58GK+rfCCSN6fuH2vj9Q6viEHNO8geE8vGv0KTJ/tCyeVZJn9n5UuvUDKVX6bI/\
JUqv4nRZpBKtNXGU3pz9acxOWW8wK6aoUdClM6m+17RW+\
o2GYTRGrfSZrVFj5jRpVdm50WoM0qeeo7SSVEtPj6t3rVotp3nKoJLr0lq3hOzy66VPqT5\
URra2sutUZ87WqWPrVGcwSrVmVtClM5iyP3UGJV0iJZNiiiY5beIorV6qAb1Oqgm2vrT0h\
MzSE2P7F+kgiu08BsP3D112/9JxDUKjzi6+\
RuqwGh2XKY3UjS00S2nNcpqnpIeoUWVXmtrEFZCkgtay3dqUnZLaIHVrLVfxQko0myJJKU\
UblNRA/x0EbQ5+huzOrDUZpU+uyQsp0QauhFo1dWcVDajMg9aqs5+\
wzvZAKsmk8VRprNVppSGXHWvV8nFUwz1indQQdFLF6/hRTWomgmYprdkkfUrVZWSbi1ka/\
cya74+FG91FT9cZFfqyXk+jujR6aPg5QCOn+\
DlA6NAo6NKZaLyikYgbk0kqdLHjgk5qxIJmKb2edEmjro6bUcQMpjdJFK/\
LJKf5WjWY5LSNujdZ0ewsoNPKS2Ej9wYrWlGXxvhfykg0T4mUFHMv9aB/5/\
Ts72zuNSoZbYMiKdFqdnbSUnuXZid2BhaUWiv1N7ZnS1JB87r0ZnmKJi73Qkr0D7osax6d\
Sa2kiaSkiaeElGh+raWWpcvWgt5olSuWEukYFdLT66X+bJDaq5br/\
WJ1p5OmQ34UJKlepUSRlGh2DWiR6hQordQCaV2pMbJTHa06idZwlCXXeoXcW1LSK6RoWQV\
LpWBXwyS1rIr5utfLddmYgcwyOksnN39KCyi11PbVWm6MUEstVS2trH+kvs/\
h2fsdg43V3fc/mnMiWutekUNGS0VrLf92hWxCnT2zcvs4SWT8/j+\
XD312VvXZyxS2hYv9gbT84ncTWctAqa1Iy0N2jNVItavR0+\
KRfa5S7Qqap4SUaG5toZX6ulZPSz5uBBJl00qrdxW74hFSotn1gE4jfUojFbtq0OtohqB9\
Jkvp9XLawM+\
VkpRmVp4S865aKUVaeahoZuXnN5MVze7kxD7PpESZVTKK36PpDLQGoxGe3zsaSKpQ95Yno\
7yuM8lStLVbNcppPl8mqgGDAkVtwULz6xSDnNKwo7E0L2mlsZtfnQtrg15pnNXq1VYUP5e\
QHYHmFHY0NqnktA1KLaM07DxukRLNzzhmq5TZFInSK6VIKWmkvmRjlCMdRPG6hFStQIn2p\
aP9A9s7SGpQ7EOCov0Wu1MRUqIVrTQaGu3Y9SbpIMrAruyEDr1CvrQ0f1Mr1LPjPVG0O+\
XbvegVeiVKJc0ZWo1C+1JLrVCtyt7I89aJLOi7kFhutjZJTLaeHwYl2e/\
1fFo5rEqSNlaNtKiQEB23iKHMGJQyLFNjYHufOrsOhRnrB3vzd/\
VkJZBoNbsL1ahNcsrM7dpFikSzFmW1OfuZqnUGxRSNcpql1NIMZjHG8QYqsnBTymy+\
SCpo1rxGlEGrpEtIiWZHPmnnqDaZlXIvSS1lZXXRWkzahfJrMotU818otYbyyeZeI6fZfa\
8wIaql3KvY50gmRGkcUrNWITL4aczCk8KNHdQWBMWOj7SnN9Coxc5zUt0TpWNrQivZ9Cx2\
fXaWFhSZQllKeBCMSrpISjqVUxQ0t9uRXE0aaUvDOqWMMpLbzhCit62FZLrveyLrZvB9OD\
TIbLZsz5L2pRarK+//Ugs62w/\
GpZZt1NVpbJdKkknkD8aK7zJ1TpJHNDmrSKn6KD3rkmerzv7I3r8auZmD8mnm85JdIxpRQ\
2zNSN3PCmaHQpWGnIy2IWHvllq9jvVFCqmwjrPeImk01eqo73LrIyElWs2uotTSil9Y3Hl\
Lu9RzzAal1YqQahUonU4lLytbRiEVNGtrl1LSS/\
OMnk1RWHA1StZqnZnsqWSh5FewRhltyzdI3khpjcrbvkxS3dMqj28TQko0u4LVqmW0DYqk\
RLN+Rh3tAqms7MpaK+1XtEZpnavn18wSRR5Ofh9FUkHzz5H8G+\
QRZtsESVUGBcriBSFdvJVBTtnYNQup4t46a7/\
y74AvleGHfVtOmcEGQ9IcLG9pUVn5CFjrv15aW+q1SvZlISVr9P+hyNOh6LuQZmIb+\
dJa5csGZZDTevY5SzsnnVSnOj1raRH9QaNE0chAlI2eqJHrtEFJFiDhAeA9Lxormqe0Vvl\
idxJkrScrOW/RpnWFNIKpjRxFUosu3udgktM8ZdTIaI2RXfOSVHg5eMosp/\
kUNWQ7UawJozTuSn2I9yaopTFSbZRWWkZ2HSb5HEStsj4HS53rlOpemvMsOlldQodE6/\
n1Ie03pCfF1oQoG1FGdrFEUqoRXhdJhS52dUspmvUKtaqRdkkaDT1Hfp9tlNeEjfrSWtFs\
GaVRRC1Z8tRGdhdHlNS31eycJyip96q17K6XdAhaKSRGbaKdNL+DlqQi6EWZUhGtRAl/\
FOutIh1Es5SwQ0rjlw2bJkmFn0eRoiAhPjhI2sKZDbY3EdJiVk0GGN5spDXJC8pTpINonh\
KRShJlI2JJZZUy+3hESoq6BEVlZLuGnnRQs+b2rFptTrci609Um3KSPJK9lVKrbTsUs/\
dratX/IzSSKi6cSWvIifAuVENO9+\
QPa57vzcaQc0P6QyP63vykRbtw2LGLAeFIlGjNDzX8/bdkVtErOf9omyAoA7/\
gNstpduthSUmnmKJerotPkSgyxvBmHyHVK+rSySh+\
iWWRmhUoiyNYqnve1UtOZa3SE7JIlQYfS9yiTokiKRkM+\
XwJKS3u2O2otI3RmsjkprTRtNA8ZZDTfKgqObulmrDh9Kb2RRQ7uYlcC118WzXJddowsND\
Wlgwt7ELfoJXTJqWwO0HZ0KWT06wu4RKXzB28S1VsRwXFboBJKjbAfEiaSp4yu+URFIU+\
KqdIwQL89l247BWD84RUq0SJ4DwqI+/ONsoptneQ1BIGoESJIAHeUC71Co204LEx3ktSy+\
ygSImAFnbMoTlD0OzcYSTTHLkwWdeltMUXNEvpJMeQxSjIu1Sl7a9wrfJuUDpOQH2cNWWK\
8Hgamfgxh6RqJUqE4xiUUtSq5Snzo5wIOFArUVrrFPkQB4OVLnbEJKkIXuDdIhormqeojd\
JGlw850sp1siEhlhS1irWqs0pZMUUxovNtwmSVP3ZjRA4+\
k1KIFkmF04kPMCOHmpacwLwD0mRF8ysFo5z+\
wSUl16X9LykKdyW75THTlpq2deyGzUxOctLFO8tJFzlG2bWvVAMWnbwulRXFmg1oH6Oj3Q\
+/N9LKKd4pTW1BTZtTNkWKO5DmbzVr1LVQtGnmt9S0PScHt5IjmWgbz1Hkx6SYL5OVTv5p\
U1ugUvC6zHKKnfnESlTqQ7bWqxoZxefLIjX8h7oXKdrotZQfg2K+\
1PL88U58csvrpGfAroaElOrLRgCFTq6Tr3uhQ6dIkfmOdPL2BZM8RXZdaMmPSSlFEY5i+\
i8p0nihOOZYaHYspL4jtX8Nv/5S6+Q031YpnEFLAcXsjoLOrBHNj77UCunMlpqfYYxymh/\
vaQw0kC42oEmSCppdIYt6MuiVasIgZilJlyJFOnm3NIWQSG3W1jERaT0ojovwYSm0UzUTz\
VFSYLg4vsEf26AUiWafkOWoiV4pX0KHRoGyhMvoqGbY+\
qLVkFL7EpTQqdRWLSnyFAXTSGsnthUKXUTZCPbRWOniUzRZ5c+a+\
m6HM8iCP7ioDwoaMUghNLa1qHW2EbU256EE7kCDmThb5xVIvfb/\
Ru9IoY1cgKQUmWI2KpifySRrg8kpNCuabzUUl0JxfbaCWOQ0u3QiqZi8FKc2jWKK4pyoRk\
mXyopifTw6io0gw40Ngw1RZPxRjMEhmjckmbQyir8PwCL9LxSd0ORPZmrVNKXReVb+\
dgVpANDRYMxHEFG8hUqRovN+\
FLHHbsRIaqaBnR3sKF5GrVPQJaSC5nVpZSnayD2VjWieIqmg+\
SgWKqNekVJZ0Xz8E9WTNOGw7Z5iqYjKSpltq1LLkYx4OnYpIGKoiOLbvZDqFCi9ZKDXS15\
7Peu/FVJB87pUVhSvSyWneUqcMSaKW3yIODGpj+vZiw+\
EVESVKdYE0TwlLXP0UsvWs9GcOslbT5SOfdpCaiSKvS9DZ5bn3kYZKV5HKgV/\
ksxI0W5SW2VjICz5MSrkS8TCEcXrElK9Yop6K5rtaRTHpqFTHbyhkk6IGBQp0iWN++wZTi\
EVEXRs7skkSjRPSREJOiPFJLEpmqnlUDtjzeWiXSm1L4suoVOBEvnjdQkp0ezIpKLRl5w2\
bBmNdBpNRa2RXcAbZLSNGC6SUsu2QRnlNJuiyI+RThnyNwepZZSNE+EkFefHFU+\
XC5pvOWarmuApk1Xu2RGTIgnVSjVBfZsoPWsQtOhQrFXSIaL/\
lHRZ8qcYIyjyxbcccmVKbZXfRoooO6LYFQxJxdaU16WX0+\
yWVC25YURMHhsPppHGQHEPgI3z7ERpiGYpg4zWsqttjYai6+\
jEIqtLSHVKlNGa4t3vkqmDIvdYd584jU80f/\
5fSIlmTR4iRlCtQKklB6PlBB5rBtPQETYd0UoURcaxuwCRotDJ6tJTNKKUIp97ISWaPfBH\
CRkVi2iWU/x1bBTOJ00KNoIlSWoW4X3sAyK/ATUJPvhPb0XxKRpllI3gPyFV/\
xdKhC6yXYg2cZLNk9/\
MaXQWytbVRRYNWpuMWvIDqvVapadjNMgp3uZAUnrirC6NinRQmCfrBZMoy4DCpmik+\
740CvkSugTFDoPUrSXKxkBCUpE/viakJ0yhmXwwKNUA0f8nZFSifogJ+\
m4EUuWMSfuhYeWUSSSHGMw5kR/Oaee4+cNEF4Bww4Ix5wFc9uStmq5Lo+Zn445Gs5SR7K+\
sF0eoUNmivhdXlTPAkC08VYxC/UgyifzBapAzBZUU88ghupwxjz+\
sO3IgkrIfjHffbZoqmTIFLURyQzhdrqKzjVBQps52vWi0sgBMLnxTQvQ623GVUsylRLIIB\
XBKl82xCalzBmnyJTLkJJW0aLJjSVmbskqWHGtTFohNJZqcSviWKx2b1Nru2RSQKlUxVx5\
JRrXC1a30aPQ2qj+7r9G4RnM5uxARFI1v/\
BhpktO8X5Wk0sbTBkVStaIuktJ1SjbKaLDSxdrgrRK04QCk+zqkFSwbsmqhFG9EpdBQCn/\
lXdoi5Evci6SUIgUXK4a+\
WGieojAaETKkQFkCitj1t7htROlOC0uKtP7mTw6Y5DRPiXA7otiwI3FvB1lcecogp9g9GU\
kt9iDW0SZ0UEitkk1J6GQpS4pqhdxbpGaFfFmCkmj5yTuYqVaNipROTvPhUEJqUqDUBvIU\
UdgKf/GrQU7zlNAhUcop0q0n/4eicBX+\
5BPlhwIs2GGVpBTeo0zpFH1nQgfp5HNvsNLJhx3p5TR/jzG57bX/JRhC0CxlcT8TxV+Ca+\
WG5k8YGciuIY0mysEQgmYpEaRBFx7z7Z6Ck0xKFEmFLra+dNYp8rk3yEvBUpbACgqmZ5+\
jkNKNGWzdU0gC0TYoydpHwZVsMJeFIu8Y2yYovEFHfks+\
sMIgp9hategwKOkiim6rV9YlLVFs3MgiUiSKiw0waHJGEbDxEoRIEQbc9sygy0kqaTFIF3\
fwtkVah5DvmfdMS89f+\
J75nmqS6dLyAeEkVQuzhmKK0tzIB6CSf1ikzLY8kZJGKUXymOsokJ6dhYVUrURRGTUqpZo\
QUr0CJZ4Q0ayFW+SLKNZYZkmR+g/bium0Ld32oaiL8qdhfYKixRjE82T7M93zrf4vlNDJ+\
/s1ctoGpbZKmV+/\
Sas7tUGBIqnwwvP3ndD9K0TzIXYixoKiA9gnJFqfVFbWQ2eRGpQocacLHQ1hfYIUy6ChSA\
M+ssZgRfFeW5Wc5nURRcdMbOhSy2itmfXZCKnhP1CWiAy2RZvpOVLLYfNF9SUo1gtJ/\
jIRKcJHd6jlNH9giuIipL6tZ/d5ejUdLKOjWrzvjXxudI8rG2EgdNHtpbznUC2n+\
cNXWhGvIX1ncy8oM9FsvnRyWlmXRP+fWAuhiz8eRxEZUso2Imu0coq/y0hI9f+\
FEvljU9RTZA21Cf4GYDrcR/EubE1QfoROVhfliyh29yxSIur/5F6nQIlbWCT/\
oo0bj0hqVIxNETpIp2LsANH8wUoawUXMDN9WiVLyq5MOC83mnuIQKDaFtzYIiqJi+\
Bg2ijCg0Ze1Nggp0ez4RfEtRPFxLiI6x6yUIkmJ5nVRvowqxdyr5PWlHBckdLFPiKQU16h\
MUf7MfKwYSTVKlJnGL5UCZZESzVOUolKMEUkttctTGitdfO61cpp1oloonWK+\
dFb5Yylq7yqKzeL7EN2wpFWktDJay7r8KObJQvE3tlGKakVKbZV75RuNyPLKHwKW9lT0/\
ij+XjdBmYhmy2iS07wujTXFr6Np/Uy1y6+jiaKxmp8VdHKab4WS1HLBBX/YQy/\
XxeaLLCkWnfyxF7UVxbunddInBUjw932Z5DRL0U1GRNly1OvlFH+\
fuMiXVlGX1ipfvKOeDr0rOupJKuKDFCmhk49EMlrpZCmSEq0cYyRo/jghHZ6je7/\
4e7VIqlWiRPSQmXQr6SLaRsCFVk7z0UNCl1GJooAgDUU18eFD5ERUK+\
kiKdF8ixYpGf8LpVEOa7LKPR8rpqZb3ahF8/ZZsvUq2dKElGjeLid06JV0kZRo/\
hY1ERlIcXH8OyTVcppdY4oUBc2/\
D0FtRfO3u5G1m0Y53jZukJdRub6IVk5R1ATnqjdJZ7fowi+\
OEUK1DYikEvz9QyFcxawQq2OWaWFDB8yyiBb+\
xj26hY4OjPNOf1Egovjb1TTyArJ5yo5AMEvxSpyBmhBpzuFvhadwND2dD+PDqzRymh+\
PBaX+L7ooXI6/pVGMZBoFSkOn24Qu5XA0tSKlklH8rZaWmGI1/UohX5Z4W6XcW4Lp+\
Fol36lym1HLKRthYBormj8zSDOAUoiiJaDVpEhZZpPseDduSLBosslIsWIGk+2QMUlGb+\
1SQCgwjwtakRC9QviadAxWo1OI5NLJYr44xCiLWfphZZ8T0dnu5BIijWJ8TKM2J8mPcBoZ\
YiMhGpzYQSmnkDLFFducXRgK72XPGUv3SpqzHXT8+V5JpnQDpZ6UZadkK9xJlh3+\
xgAK1aBwGd4RppFRvMPdItUo6BIpiRASPnSK8qN0D4O4y0HoZI9U0+\
Hx7G9cMCXd12jkkewuLM20Nt4KkENG7lMuM4RI7+\
PhmiO9klxtGzHK3nTwgxskByIdJGcv5jSpcrp52VdfmEShpTqwXSTSxvrDpLt9Ld5G3ldu\
kNPsesQi1ShQOjXtqslzw3uniCIPiaIucZaWj58wWNE8RVejUewW7wUyWdH8rfeSDZ+\
8LTZO+KnlNO+TEW9AkKz1Nt5WS7Z8sxJFKRHNpyikRPN+FIkiLxV7iZ0l1+SvULTla+\
hCD57SyCneE6Ely6LiWTSixFla1l8hdNHt9oq+D6Jt3LZP9lq9UopCqvtP+\
dJTWRV1kf2WpwwymqfoCj6dZAGycepTkoozojZORJK1WaKVT6MSzVNCF509ZnstUdSC+\
AhQ8T5bOknHv7FQI6d4i6zGym7L9jRB0bsS+\
RQFRRcuKqYoLLO8TcAky5eG35fQ8R064cdbBYkSVjje+\
qaz0slfBUunio0KubdciUnX3rKxOqRDXInJ6zJapczHDlNKaoUULZZ+o4IuNcVFq2g/\
x19iRxRFgPJ2NaOMtkWZ5BQf8C900J6VfxuaRq6THe8FJVJkLcXixnep5bCXSlryY1TIF0\
npvnpburRymr+YVejSKFFashTTeVP+\
fcRqeVnZE92CojKyV4hapGrFmqCLwejdCnwZDXKKbYWi1xJlo4wqOc2nSJSoN+\
X6UimVUdhYpRR52yHZH4nirbskpUhJZUqkzF8EabbKF/+\
uE3qvJY2cinZbonlK2FqFLZijpHsrBG3jyK1BTts4Q66R0Wo25sqSIpWV3wNryV6Y/\
ZXbkgkh2R1tKPr+KU4rKZ58UttKL/\
uvGiudPGUxu9rOltQjxCFIZdsY0Twl7KUSZeOQr05O8+8gFDpM/\
0kXHYDlXzKhsyoFexbdJDOUsZMGGeGEDZDXI2MV7GgmBYSyQwdY2eyYZWq43NBZSJNtQ5p\
kjpOQH+5T+\
y4zyxDWRiLTwlvJhDkp29alYLkiA5ZtLZKlhUVIJpFsDLsqp41Dyf5hIBsHg0hv0ZSQHya\
VHDLptZEsIsXaE8kG7qtlCNt+JXeO2XZ26R1QdOfHD/NIDgX0FiLehi/u8KBdA7/\
Sl6Rkb1GkLN4/3rpA0YYi1pTdb6rkNG/PIIruNeKjNIVUpaBL7PH1FAHE7/60VjS7+\
6O9odDFRwrSflOnRNF7A+mVGjbexmiW0zxFUpF7viZMcpqn6HJ5cZE+TxmsaCVdlr0+\
a3sTuaf8sXVPFgEN7aP4yHCTFcVHhhvkFB8pKOK8jPQrVhdFjWqVdImUyMrA594oLwX/\
hEiH0MnuSkWcl4jVUtzF09leVhdFgwlKMZJLpMjGQlEEEN36xesSFK1v2f0ArQylU7IaPu\
5FvIFQ6R1wlrcGEsXHVWmsUuRXrlbvk+NTJB1iNcy+\
zliauqR7Zdm7GQw5SXYBTA4SlW0tkowcJOzMrsu52OARfU5SSYvk4Fdy/\
hPJehd1siULi5hlywQbE24OkkWknxvp1l6utQrfh9QD2H2WZbals0q8PZnmT6PSPEpScVs\
lO0OSrVzQLCXuw6QUeVu+\
SU7xc7KQqmxQORqQRmH5J8moUSog5Mhm75bWy9JjF9fSC9m1tjsPdUG9bUSvz7m4/\
uH4Vs4uobeN0CZAb7tn6GX9i+880r3Q0jaHvVqGWjN5EDk1Vi/dYO+\
X1tJ7Zek2AzZWREu3GIiVJK9LK+8f/L0JQpeOaHb9a5bRtlLUWVF8HDP1W7qxgT8jarKi+\
Nzr5BSbeyHVq5RSJKlOse6FVKdAqdWygZCtB2LMNCDaYL5/0gVt/\
EtYSJOAOUg0PLMNVbJWTpBqdO6cUPY3++/fJju3meg8yXnyzNHdZEieH9NWZd+\
npmNkWnI3Z+Unzw/5kS5lz1qm/yij96BmrVx/VKuXTivqeamWzuRZJ/r9r+\
KWZLOV9N9CSLukrJXdj1nSSesCE/M7ySajsa6E7PJlf3C50Ul3I+u01lqz+\
5hGuqqOKQe9aE5rXQ7pr1QXnNRA5+xYqbQa1musH0x2TqWVtIGTas10qsDIllaSmqzrV/\
pr9jNgS0tzt4F7MtJUYq31+4tPv/\
9vnZvvf5NeXcDVD70pXc82eClahXvYJsmIYv3D7D9K7YhTaqDQaK74aroFUc1lV62ji0ms\
m8L3Xia97cE61e9/\
lKZp60rN8YIHriBa6SYE659lP0V6JSTXarX0whYd1wK0OrqHgG09WooC4YYaPd0MbmTbj3\
QxJNdCqGVxaeol+0RW+2PHIVq5sb/\
VUitiH6mRRn22OWjonlSurDnfHM48Hel9vtZN5fsf6W3AXFEt76TkMqSjtsYNVDnew8NIp\
ceqYas451twfnw4JuntIdwwRS+W4Ko35+sTuMZiuZSfk9J19uxDN9Il/\
NwAmPPG1h9LQy4m6xxnP6/sD7YPS4tybqYUl/L9mJzUu7l85rxuh+\
uIdK0DO9yKG1eYMS57b2DgVwNkFOXr1XJQm+vAlqPXnJR+y0lzHDvhcixiD7mWS+Ou+\
X8aDOxA"];
(* Display Uncompressed Mesh *)
mesh["Wireframe"];
(* Line Markers and Point Markers to 1 *)
bcEle = {LineElement[ElementIncidents[mesh["BoundaryElements"]][[1]],
    ElementMarkers[mesh["BoundaryElements"]][[1]] /. {0 -> 1}]};
pEle = {PointElement[ElementIncidents[mesh["PointElements"]][[1]], 
    Flatten[ElementMarkers[mesh["PointElements"]]] /. {0 -> 1}]};
mesh = ToElementMesh["Coordinates" -> mesh["Coordinates"], 
  "MeshElements" -> mesh["MeshElements"], 
  "BoundaryElements" -> bcEle, "PointElements" -> pEle]
(* Bob's Display *)
Show[mesh["Wireframe"], 
 mesh["Wireframe"["MeshElement" -> "BoundaryElements", 
   "MeshElementMarkerStyle" -> Red]]]

New work flow

It looks like a modified @user21's workflow works for your mesh.

$\endgroup$
5
  • $\begingroup$ thank you for taking the time to walk through this. As I mentioned, user21's answer works fine for displaying the "bmesh" ElementMarkers alongside the "mesh" wireframe. But if you change your last line to display the marked boundary elements of the "mesh" itself, you will get the scrambled picture I posted. For applying boundary conditions, I need to have these markers correctly set in the actual ElementMesh, not a boundary mesh (please correct me if I am mistaken). Perhaps I am missing something $\endgroup$
    – bob800
    Apr 16 '20 at 23:37
  • 1
    $\begingroup$ @bob800 I think that I may have fixed the issue using you Show command. Let me know if it works for you. $\endgroup$
    – Tim Laska
    Apr 17 '20 at 1:09
  • $\begingroup$ that did the trick, thank you very much! $\endgroup$
    – bob800
    Apr 17 '20 at 2:28
  • $\begingroup$ @bob800 You are welcome! I believe the mesher under the hood may reorder coordinates and renumber the incidents from the user supplied and that is how they got garbled. $\endgroup$
    – Tim Laska
    Apr 17 '20 at 2:44
  • $\begingroup$ Thanks Tim, stupid mistake in my side. $\endgroup$
    – user21
    Apr 17 '20 at 4:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.