def create_nodes(femmesh):
    # nodes
    femmesh.addNode(0.0, 2000.0, 0.0, 1)
    femmesh.addNode(0.0, 0.0, 0.0, 2)
    femmesh.addNode(2000.0, 2000.0, 0.0, 3)
    femmesh.addNode(2000.0, 0.0, 0.0, 4)
    femmesh.addNode(4000.0, 2000.0, 0.0, 5)
    femmesh.addNode(4000.0, 0.0, 0.0, 6)
    femmesh.addNode(6000.0, 2000.0, 0.0, 7)
    femmesh.addNode(6000.0, 0.0, 0.0, 8)
    femmesh.addNode(8000.0, 2000.0, 0.0, 9)
    femmesh.addNode(8000.0, 0.0, 0.0, 10)
    femmesh.addNode(10000.0, 2000.0, 0.0, 11)
    femmesh.addNode(10000.0, 0.0, 0.0, 12)
    femmesh.addNode(12000.0, 2000.0, 0.0, 13)
    femmesh.addNode(12000.0, 0.0, 0.0, 14)
    femmesh.addNode(1000.0, 1000.0, 2000.0, 15)
    femmesh.addNode(3000.0, 1000.0, 2000.0, 16)
    femmesh.addNode(5000.0, 1000.0, 2000.0, 17)
    femmesh.addNode(7000.0, 1000.0, 2000.0, 18)
    femmesh.addNode(9000.0, 1000.0, 2000.0, 19)
    femmesh.addNode(11000.0, 1000.0, 2000.0, 20)
    femmesh.addNode(0.0, 999.999999999999, 0.0, 21)
    femmesh.addNode(0.0, 1499.9999999999995, 0.0, 22)
    femmesh.addNode(0.0, 499.99999999999955, 0.0, 23)
    femmesh.addNode(2000.0, 999.999999999999, 0.0, 24)
    femmesh.addNode(2000.0, 1499.9999999999995, 0.0, 25)
    femmesh.addNode(2000.0, 499.99999999999955, 0.0, 26)
    femmesh.addNode(4000.0, 999.999999999999, 0.0, 27)
    femmesh.addNode(4000.0, 1499.9999999999995, 0.0, 28)
    femmesh.addNode(4000.0, 499.99999999999955, 0.0, 29)
    femmesh.addNode(6000.0, 999.999999999999, 0.0, 30)
    femmesh.addNode(6000.0, 1499.9999999999995, 0.0, 31)
    femmesh.addNode(6000.0, 499.99999999999955, 0.0, 32)
    femmesh.addNode(8000.0, 999.999999999999, 0.0, 33)
    femmesh.addNode(8000.0, 1499.9999999999995, 0.0, 34)
    femmesh.addNode(8000.0, 499.99999999999955, 0.0, 35)
    femmesh.addNode(10000.0, 999.999999999999, 0.0, 36)
    femmesh.addNode(10000.0, 1499.9999999999995, 0.0, 37)
    femmesh.addNode(10000.0, 499.99999999999955, 0.0, 38)
    femmesh.addNode(12000.0, 999.999999999999, 0.0, 39)
    femmesh.addNode(12000.0, 1499.9999999999995, 0.0, 40)
    femmesh.addNode(12000.0, 499.99999999999955, 0.0, 41)
    femmesh.addNode(1000.000000000001, 2000.0, 0.0, 42)
    femmesh.addNode(500.0000000000005, 2000.0, 0.0, 43)
    femmesh.addNode(1500.0000000000005, 2000.0, 0.0, 44)
    femmesh.addNode(1000.000000000001, 0.0, 0.0, 45)
    femmesh.addNode(500.0000000000005, 0.0, 0.0, 46)
    femmesh.addNode(1500.0000000000005, 0.0, 0.0, 47)
    femmesh.addNode(3000.000000000001, 2000.0, 0.0, 48)
    femmesh.addNode(2500.0000000000005, 2000.0, 0.0, 49)
    femmesh.addNode(3500.0000000000005, 2000.0, 0.0, 50)
    femmesh.addNode(3000.000000000001, 0.0, 0.0, 51)
    femmesh.addNode(2500.0000000000005, 0.0, 0.0, 52)
    femmesh.addNode(3500.0000000000005, 0.0, 0.0, 53)
    femmesh.addNode(5000.000000000001, 2000.0, 0.0, 54)
    femmesh.addNode(4500.000000000001, 2000.0, 0.0, 55)
    femmesh.addNode(5500.0, 2000.0, 0.0, 56)
    femmesh.addNode(5000.000000000001, 0.0, 0.0, 57)
    femmesh.addNode(4500.000000000001, 0.0, 0.0, 58)
    femmesh.addNode(5500.0, 0.0, 0.0, 59)
    femmesh.addNode(7000.000000000001, 2000.0, 0.0, 60)
    femmesh.addNode(6500.000000000001, 2000.0, 0.0, 61)
    femmesh.addNode(7500.0, 2000.0, 0.0, 62)
    femmesh.addNode(7000.000000000001, 0.0, 0.0, 63)
    femmesh.addNode(6500.000000000001, 0.0, 0.0, 64)
    femmesh.addNode(7500.0, 0.0, 0.0, 65)
    femmesh.addNode(9000.000000000002, 2000.0, 0.0, 66)
    femmesh.addNode(8500.0, 2000.0, 0.0, 67)
    femmesh.addNode(9500.0, 2000.0, 0.0, 68)
    femmesh.addNode(9000.000000000002, 0.0, 0.0, 69)
    femmesh.addNode(8500.0, 0.0, 0.0, 70)
    femmesh.addNode(9500.0, 0.0, 0.0, 71)
    femmesh.addNode(11000.000000000002, 2000.0, 0.0, 72)
    femmesh.addNode(10500.0, 2000.0, 0.0, 73)
    femmesh.addNode(11500.0, 2000.0, 0.0, 74)
    femmesh.addNode(11000.000000000002, 0.0, 0.0, 75)
    femmesh.addNode(10500.0, 0.0, 0.0, 76)
    femmesh.addNode(11500.0, 0.0, 0.0, 77)
    femmesh.addNode(500.00000000000085, 1499.999999999999, 1000.0000000000017, 78)
    femmesh.addNode(250.00000000000043, 1749.9999999999995, 500.00000000000085, 79)
    femmesh.addNode(750.0000000000009, 1249.999999999999, 1500.0000000000018, 80)
    femmesh.addNode(2500.000000000001, 1499.999999999999, 1000.0000000000017, 81)
    femmesh.addNode(2250.0000000000005, 1749.9999999999995, 500.00000000000085, 82)
    femmesh.addNode(2750.000000000001, 1249.999999999999, 1500.0000000000018, 83)
    femmesh.addNode(4500.000000000001, 1499.999999999999, 1000.0000000000017, 84)
    femmesh.addNode(4250.0, 1749.9999999999995, 500.00000000000085, 85)
    femmesh.addNode(4750.000000000001, 1249.999999999999, 1500.0000000000018, 86)
    femmesh.addNode(6500.000000000001, 1499.999999999999, 1000.0000000000017, 87)
    femmesh.addNode(6250.0, 1749.9999999999995, 500.00000000000085, 88)
    femmesh.addNode(6750.000000000001, 1249.999999999999, 1500.0000000000018, 89)
    femmesh.addNode(8500.0, 1499.999999999999, 1000.0000000000017, 90)
    femmesh.addNode(8250.0, 1749.9999999999995, 500.00000000000085, 91)
    femmesh.addNode(8750.0, 1249.999999999999, 1500.0000000000018, 92)
    femmesh.addNode(10500.0, 1499.999999999999, 1000.0000000000017, 93)
    femmesh.addNode(10250.0, 1749.9999999999995, 500.00000000000085, 94)
    femmesh.addNode(10750.0, 1249.999999999999, 1500.0000000000018, 95)
    femmesh.addNode(500.00000000000085, 500.00000000000085, 1000.0000000000017, 96)
    femmesh.addNode(250.00000000000043, 250.00000000000043, 500.00000000000085, 97)
    femmesh.addNode(750.0000000000009, 750.0000000000009, 1500.0000000000018, 98)
    femmesh.addNode(2500.000000000001, 500.00000000000085, 1000.0000000000017, 99)
    femmesh.addNode(2250.0000000000005, 250.00000000000043, 500.00000000000085, 100)
    femmesh.addNode(2750.000000000001, 750.0000000000009, 1500.0000000000018, 101)
    femmesh.addNode(4500.000000000001, 500.00000000000085, 1000.0000000000017, 102)
    femmesh.addNode(4250.0, 250.00000000000043, 500.00000000000085, 103)
    femmesh.addNode(4750.000000000001, 750.0000000000009, 1500.0000000000018, 104)
    femmesh.addNode(6500.000000000001, 500.00000000000085, 1000.0000000000017, 105)
    femmesh.addNode(6250.0, 250.00000000000043, 500.00000000000085, 106)
    femmesh.addNode(6750.000000000001, 750.0000000000009, 1500.0000000000018, 107)
    femmesh.addNode(8500.0, 500.00000000000085, 1000.0000000000017, 108)
    femmesh.addNode(8250.0, 250.00000000000043, 500.00000000000085, 109)
    femmesh.addNode(8750.0, 750.0000000000009, 1500.0000000000018, 110)
    femmesh.addNode(10500.0, 500.00000000000085, 1000.0000000000017, 111)
    femmesh.addNode(10250.0, 250.00000000000043, 500.00000000000085, 112)
    femmesh.addNode(10750.0, 750.0000000000009, 1500.0000000000018, 113)
    femmesh.addNode(1500.000000000001, 1500.000000000001, 999.9999999999983, 114)
    femmesh.addNode(1250.0000000000005, 1250.0000000000005, 1499.999999999999, 115)
    femmesh.addNode(1750.000000000001, 1750.000000000001, 499.9999999999982, 116)
    femmesh.addNode(3500.000000000001, 1500.000000000001, 999.9999999999983, 117)
    femmesh.addNode(3250.0000000000005, 1250.0000000000005, 1499.999999999999, 118)
    femmesh.addNode(3750.000000000001, 1750.000000000001, 499.9999999999982, 119)
    femmesh.addNode(5500.000000000001, 1500.000000000001, 999.9999999999983, 120)
    femmesh.addNode(5250.0, 1250.0000000000005, 1499.999999999999, 121)
    femmesh.addNode(5750.000000000001, 1750.000000000001, 499.9999999999982, 122)
    femmesh.addNode(7500.000000000001, 1500.000000000001, 999.9999999999983, 123)
    femmesh.addNode(7250.0, 1250.0000000000005, 1499.999999999999, 124)
    femmesh.addNode(7750.000000000001, 1750.000000000001, 499.9999999999982, 125)
    femmesh.addNode(9500.0, 1500.000000000001, 999.9999999999983, 126)
    femmesh.addNode(9250.0, 1250.0000000000005, 1499.999999999999, 127)
    femmesh.addNode(9750.0, 1750.000000000001, 499.9999999999982, 128)
    femmesh.addNode(11500.0, 1500.000000000001, 999.9999999999983, 129)
    femmesh.addNode(11250.0, 1250.0000000000005, 1499.999999999999, 130)
    femmesh.addNode(11750.0, 1750.000000000001, 499.9999999999982, 131)
    femmesh.addNode(1500.000000000001, 499.99999999999915, 999.9999999999983, 132)
    femmesh.addNode(1250.0000000000005, 749.9999999999995, 1499.999999999999, 133)
    femmesh.addNode(1750.000000000001, 249.9999999999991, 499.9999999999982, 134)
    femmesh.addNode(3500.000000000001, 499.99999999999915, 999.9999999999983, 135)
    femmesh.addNode(3250.0000000000005, 749.9999999999995, 1499.999999999999, 136)
    femmesh.addNode(3750.000000000001, 249.9999999999991, 499.9999999999982, 137)
    femmesh.addNode(5500.000000000001, 499.99999999999915, 999.9999999999983, 138)
    femmesh.addNode(5250.0, 749.9999999999995, 1499.999999999999, 139)
    femmesh.addNode(5750.000000000001, 249.9999999999991, 499.9999999999982, 140)
    femmesh.addNode(7500.000000000001, 499.99999999999915, 999.9999999999983, 141)
    femmesh.addNode(7250.0, 749.9999999999995, 1499.999999999999, 142)
    femmesh.addNode(7750.000000000001, 249.9999999999991, 499.9999999999982, 143)
    femmesh.addNode(9500.0, 499.99999999999915, 999.9999999999983, 144)
    femmesh.addNode(9250.0, 749.9999999999995, 1499.999999999999, 145)
    femmesh.addNode(9750.0, 249.9999999999991, 499.9999999999982, 146)
    femmesh.addNode(11500.0, 499.99999999999915, 999.9999999999983, 147)
    femmesh.addNode(11250.0, 749.9999999999995, 1499.999999999999, 148)
    femmesh.addNode(11750.0, 249.9999999999991, 499.9999999999982, 149)
    femmesh.addNode(2000.000000000001, 1000.0, 2000.0, 150)
    femmesh.addNode(1500.0000000000005, 1000.0, 2000.0, 151)
    femmesh.addNode(2500.0000000000005, 1000.0, 2000.0, 152)
    femmesh.addNode(4000.000000000001, 1000.0, 2000.0, 153)
    femmesh.addNode(3500.0000000000005, 1000.0, 2000.0, 154)
    femmesh.addNode(4500.0, 1000.0, 2000.0, 155)
    femmesh.addNode(6000.000000000001, 1000.0, 2000.0, 156)
    femmesh.addNode(5500.000000000001, 1000.0, 2000.0, 157)
    femmesh.addNode(6500.0, 1000.0, 2000.0, 158)
    femmesh.addNode(8000.000000000001, 1000.0, 2000.0, 159)
    femmesh.addNode(7500.000000000001, 1000.0, 2000.0, 160)
    femmesh.addNode(8500.0, 1000.0, 2000.0, 161)
    femmesh.addNode(10000.000000000002, 1000.0, 2000.0, 162)
    femmesh.addNode(9500.0, 1000.0, 2000.0, 163)
    femmesh.addNode(10500.0, 1000.0, 2000.0, 164)
    femmesh.addNode(1000.0, 1000.0, 0.0, 165)
    femmesh.addNode(500.0, 500.0, 0.0, 166)
    femmesh.addNode(1500.0, 1500.0, 0.0, 167)
    femmesh.addNode(3000.0, 1000.0, 0.0, 168)
    femmesh.addNode(2500.0, 500.0, 0.0, 169)
    femmesh.addNode(3500.0, 1500.0, 0.0, 170)
    femmesh.addNode(5000.0, 1000.0, 0.0, 171)
    femmesh.addNode(4500.0, 500.0, 0.0, 172)
    femmesh.addNode(5500.0, 1500.0, 0.0, 173)
    femmesh.addNode(7000.0, 1000.0, 0.0, 174)
    femmesh.addNode(6500.0, 500.0, 0.0, 175)
    femmesh.addNode(7500.0, 1500.0, 0.0, 176)
    femmesh.addNode(9000.0, 1000.0, 0.0, 177)
    femmesh.addNode(8500.0, 500.0, 0.0, 178)
    femmesh.addNode(9500.0, 1500.0, 0.0, 179)
    femmesh.addNode(11000.0, 1000.0, 0.0, 180)
    femmesh.addNode(10500.0, 500.0, 0.0, 181)
    femmesh.addNode(11500.0, 1500.0, 0.0, 182)
    return True


def create_elements(femmesh):
    # elements
    femmesh.addEdge([1, 21, 22], 1)
    femmesh.addEdge([21, 2, 23], 2)
    femmesh.addEdge([3, 24, 25], 3)
    femmesh.addEdge([24, 4, 26], 4)
    femmesh.addEdge([5, 27, 28], 5)
    femmesh.addEdge([27, 6, 29], 6)
    femmesh.addEdge([7, 30, 31], 7)
    femmesh.addEdge([30, 8, 32], 8)
    femmesh.addEdge([9, 33, 34], 9)
    femmesh.addEdge([33, 10, 35], 10)
    femmesh.addEdge([11, 36, 37], 11)
    femmesh.addEdge([36, 12, 38], 12)
    femmesh.addEdge([13, 39, 40], 13)
    femmesh.addEdge([39, 14, 41], 14)
    femmesh.addEdge([1, 42, 43], 15)
    femmesh.addEdge([42, 3, 44], 16)
    femmesh.addEdge([2, 45, 46], 17)
    femmesh.addEdge([45, 4, 47], 18)
    femmesh.addEdge([3, 48, 49], 19)
    femmesh.addEdge([48, 5, 50], 20)
    femmesh.addEdge([4, 51, 52], 21)
    femmesh.addEdge([51, 6, 53], 22)
    femmesh.addEdge([5, 54, 55], 23)
    femmesh.addEdge([54, 7, 56], 24)
    femmesh.addEdge([6, 57, 58], 25)
    femmesh.addEdge([57, 8, 59], 26)
    femmesh.addEdge([7, 60, 61], 27)
    femmesh.addEdge([60, 9, 62], 28)
    femmesh.addEdge([8, 63, 64], 29)
    femmesh.addEdge([63, 10, 65], 30)
    femmesh.addEdge([9, 66, 67], 31)
    femmesh.addEdge([66, 11, 68], 32)
    femmesh.addEdge([10, 69, 70], 33)
    femmesh.addEdge([69, 12, 71], 34)
    femmesh.addEdge([11, 72, 73], 35)
    femmesh.addEdge([72, 13, 74], 36)
    femmesh.addEdge([12, 75, 76], 37)
    femmesh.addEdge([75, 14, 77], 38)
    femmesh.addEdge([1, 78, 79], 39)
    femmesh.addEdge([78, 15, 80], 40)
    femmesh.addEdge([3, 81, 82], 41)
    femmesh.addEdge([81, 16, 83], 42)
    femmesh.addEdge([5, 84, 85], 43)
    femmesh.addEdge([84, 17, 86], 44)
    femmesh.addEdge([7, 87, 88], 45)
    femmesh.addEdge([87, 18, 89], 46)
    femmesh.addEdge([9, 90, 91], 47)
    femmesh.addEdge([90, 19, 92], 48)
    femmesh.addEdge([11, 93, 94], 49)
    femmesh.addEdge([93, 20, 95], 50)
    femmesh.addEdge([2, 96, 97], 51)
    femmesh.addEdge([96, 15, 98], 52)
    femmesh.addEdge([4, 99, 100], 53)
    femmesh.addEdge([99, 16, 101], 54)
    femmesh.addEdge([6, 102, 103], 55)
    femmesh.addEdge([102, 17, 104], 56)
    femmesh.addEdge([8, 105, 106], 57)
    femmesh.addEdge([105, 18, 107], 58)
    femmesh.addEdge([10, 108, 109], 59)
    femmesh.addEdge([108, 19, 110], 60)
    femmesh.addEdge([12, 111, 112], 61)
    femmesh.addEdge([111, 20, 113], 62)
    femmesh.addEdge([15, 114, 115], 63)
    femmesh.addEdge([114, 3, 116], 64)
    femmesh.addEdge([16, 117, 118], 65)
    femmesh.addEdge([117, 5, 119], 66)
    femmesh.addEdge([17, 120, 121], 67)
    femmesh.addEdge([120, 7, 122], 68)
    femmesh.addEdge([18, 123, 124], 69)
    femmesh.addEdge([123, 9, 125], 70)
    femmesh.addEdge([19, 126, 127], 71)
    femmesh.addEdge([126, 11, 128], 72)
    femmesh.addEdge([20, 129, 130], 73)
    femmesh.addEdge([129, 13, 131], 74)
    femmesh.addEdge([15, 132, 133], 75)
    femmesh.addEdge([132, 4, 134], 76)
    femmesh.addEdge([16, 135, 136], 77)
    femmesh.addEdge([135, 6, 137], 78)
    femmesh.addEdge([17, 138, 139], 79)
    femmesh.addEdge([138, 8, 140], 80)
    femmesh.addEdge([18, 141, 142], 81)
    femmesh.addEdge([141, 10, 143], 82)
    femmesh.addEdge([19, 144, 145], 83)
    femmesh.addEdge([144, 12, 146], 84)
    femmesh.addEdge([20, 147, 148], 85)
    femmesh.addEdge([147, 14, 149], 86)
    femmesh.addEdge([15, 150, 151], 87)
    femmesh.addEdge([150, 16, 152], 88)
    femmesh.addEdge([16, 153, 154], 89)
    femmesh.addEdge([153, 17, 155], 90)
    femmesh.addEdge([17, 156, 157], 91)
    femmesh.addEdge([156, 18, 158], 92)
    femmesh.addEdge([18, 159, 160], 93)
    femmesh.addEdge([159, 19, 161], 94)
    femmesh.addEdge([19, 162, 163], 95)
    femmesh.addEdge([162, 20, 164], 96)
    femmesh.addEdge([2, 165, 166], 97)
    femmesh.addEdge([165, 3, 167], 98)
    femmesh.addEdge([4, 168, 169], 99)
    femmesh.addEdge([168, 5, 170], 100)
    femmesh.addEdge([6, 171, 172], 101)
    femmesh.addEdge([171, 7, 173], 102)
    femmesh.addEdge([8, 174, 175], 103)
    femmesh.addEdge([174, 9, 176], 104)
    femmesh.addEdge([10, 177, 178], 105)
    femmesh.addEdge([177, 11, 179], 106)
    femmesh.addEdge([12, 180, 181], 107)
    femmesh.addEdge([180, 13, 182], 108)
    return True
