Piping

import sys
from PSISymbols import *
from math import pi
from copy import deepcopy
class Pipe:
    if 'Coatings' in sys.modules:
        del sys.modules['Coatings']
    
    def __init__(self, density = None, EMod = None, nu = None, hardLaw = None, OD = None, WT = None, interPress = None, outerPress = None, T0 = None, T1 = None, expLambda = None, pipeThickness = None, pipeContentUD = None, innerPipeRef = None, isInnerPipe = False, pipeTag = '',matName=''):
        from Coatings import Coatings
        self.__density = density
        self.__EMod= EMod
        self.__nu = nu
        if type(hardLaw) is str:
            self.getSteelHL(hardLaw)
        else:
            self.__hardLaw = hardLaw
        self.__OD = OD
        self.__WT = WT
        self.__interPress = interPress if interPress else 0.
        self.__outerPress = outerPress if outerPress else 0.
        self.__T0 = T0 if T0 else 0.
        self.__T1 = T1 if T1 else 0.
        self.__expLambda = expLambda if T1 else 0.
        self.__pipeContentUD = pipeContentUD if pipeContentUD else 0.
        self.__pipeThickness = pipeThickness if pipeThickness else THIN
        self.__coatings = Coatings(OD)
        self.__innerPipeRef = innerPipeRef
        if not innerPipeRef == None:
            innerPipeRef.setIsInnerPipe(isInnerPipe = True)
            innerPipeRef.setPipeTag(pipeTag)
        self.__isInnerPipe = isInnerPipe
        self.__pipeTag = pipeTag
        
        
        self.__data = [0 for ii in range(10)]
        
        self.__matName = matName

        self.__G = 9.807
        
    def duplicate(self, newTag = None):
        newPipe = deepcopy(self)
        if newTag:
            newPipe.__pipeTag = newTag
        return newPipe
            
    def __eq__(self, other):
        if self is other:
            return True
        else:
            if self.__class__ == other.__class__:
                for field in self.__dict__:
                    if not getattr(self, field) == getattr(other, field):
                        return False
                return True
            else:
                raise TypeError('Comparing object is not of the same type.')    
    
    def setPipeData(self, ind, value):
        self.__data[ind] = value
    def getPipeData(self, ind):
        return self.__data[ind]

    def setMatName(self,matName):
        self.__matName = matName
    def getMatName(self):
        return self.__matName
    
    def setWT(self,WT):
        self.__WT = WT
    
    def getDensity(self):
        return self.__density
    def getEMod(self):
        return self.__EMod
    def getNu(self):
        return self.__nu
    def getHardLaw(self):
        return self.__hardLaw
    def getOD(self):
        return self.__OD
    def getWT(self):
        return self.__WT
    def getInterPress(self):
        return self.__interPress
    def getOuterPress(self):
        return self.__outerPress
    def getT0(self):
        return self.__T0
    def getT1(self):
        return self.__T1
    def getExpLambda(self):
        return self.__expLambda
    def getPipeContentUD(self):
        return self.__pipeContentUD
    def getPipeThickness(self):
        return self.__pipeThickness
    def getCoatings(self):
        return self.__coatings
    def getInnerPipeRef(self):
        return self.__innerPipeRef
    def setInnerPipe(self, innerPipeRef):
        self.__innerPipeRef = innerPipeRef
    def isInnerPipe(self):
        return self.__isInnerPipe
    def setIsInnerPipe(self,isInnerPipe):
        self.__isInnerPipe = isInnerPipe
    def getPipeTag(self):
        return self.__pipeTag
    def setPipeTag(self, pipeTag):
         self.__pipeTag = pipeTag
    
       
    def getSectionArea(self):
        return 0.25*pi*(self.getOD()**2.-(self.getOD()-2.*self.getWT())**2.)
        
    def getInternalSA(self):
        return 0.25*pi*(self.getOD()-2.*self.getWT())**2
        
        
    def addCoating(self, T, density):
        self.__coatings.addCoating(T,density)
        return self

    def __getPipeWeight(self):
        from math import pi
        
        Ai = pi/4.*(self.__OD-2.*self.__WT)**2.
        As = pi/4.*self.__OD**2.- Ai
        pipeWeight = self.__G * self.__density * As + self.__coatings.getCoatingWeight()
        return pipeWeight
    def getGravityLoad(self,contUD=None):
        from math import pi
        if not contUD:
            contUD = self.__pipeContentUD
        Ai = pi/4.*(self.__OD-2.*self.__WT)**2.
        if self.__innerPipeRef == None:
            AiEff = Ai
        else:
            AiEff = Ai - pi/4.*(self.__innerPipeRef.getEffectiveOD())**2.

        pipeWeight = self.__getPipeWeight() + self.__G * contUD * AiEff
        return pipeWeight
   def getEffectiveOD(self):
        return self.__OD + 2.0*self.__coatings.getTotalThickness()
    
   def getLVolume(self):
        from math import pi
        return pi/4.*self.getEffectiveOD()**2.
   def logStr(self,indLev = 0):
        preInd = indLev*'\t'
        if not self.__isInnerPipe:
            strM = 'Pipe Tag: '+self.getPipeTag()+'\n\t\t'
        else:
            strM = '\n\t\t'
        strM = strM + preInd + 'PiP: '+ ('Inner Pipe' if self.__isInnerPipe == True else 'No') +'\n\t\t'
        strM = strM + preInd + 'Pipe Density: '+str(self.__density)+'\n\t\t'
        if not self.__hardLaw == []:
            if len(self.__hardLaw[0]) == 3:
                strM = strM + preInd + 'Ramberg-Osgood Model:\n\t\t'
                strM = strM + preInd + '\tElastic modulus: '+str(self.__EMod)+'\n\t\t'
                strM = strM + preInd + '\tPoisson\'s ratio: '+str(self.__nu)+'\n\t\t'
                strM = strM + preInd + '\tYield stress: '+str(self.__hardLaw[0][0])+'\n\t\t'
                strM = strM + preInd + '\tExponent: '+str(self.__hardLaw[0][1])+'\n\t\t'
                strM = strM + preInd + '\tYield offset: '+str(self.__hardLaw[0][2])+'\n\t\t'
            else:
                strM = strM + preInd + 'Plastic model:\n\t\t'
                strM = strM + preInd + '\tElastic modulus: '+str(self.__EMod)+'\n\t\t'
                strM = strM + preInd + '\tPoisson\'s ratio: '+str(self.__nu)+'\n\t\t'
                strM = strM + preInd + '\tYield stress: '+str(self.__hardLaw[0][0])+'\n\t\t'
        else:
            strM = strM + preInd + 'Elastic Model:\n\t\t'
            strM = strM + preInd + '\tElastic modulus: '+str(self.__EMod)+'\n\t\t'
            strM = strM + preInd + '\tPoisson\'s ratio: '+str(self.__nu)+'\n\t\t'
        strM = strM + preInd + 'Outer diameter: '+str(self.__OD)+'\n\t\t'
        strM = strM + preInd + 'Wall thickness: '+str(self.__WT)+'\n\t\t'
        strM = strM + preInd + 'Internal pressure: '+str(self.__interPress)+'\n\t\t'
        strM = strM + preInd + 'External pressure: '+str(self.__outerPress)+'\n\t\t'
        strM = strM + preInd + 'Initial temperature: '+str(self.__T0)+'\n\t\t'
        strM = strM + preInd + 'Final temperature: '+str(self.__T1)+'\n\t\t'
        strM = strM + preInd + 'Thermal expansion: '+str(self.__expLambda)+'\n\t\t'
        strM = strM + preInd + 'Pipe type: '+['Thin','Thick'][self.__pipeThickness-1]+'\n'
        strM = strM + self.__coatings.logStr(indLev)
        if self.__innerPipeRef:
            strM = strM + preInd + '\t\t>>>\n'
            strM = strM + preInd + '\t\tInner Pipe, ' + self.__innerPipeRef.logStr(indLev + 1) 
        else:
            strM = strM + preInd + '\t\tNo inner pipe!\n\n'
        return strM
    def getSteelHL(self,HL):
        if HL == 'X70':
            self.__hardLaw = [
                (428980000.000000000,0.000000000)
                ,(433800000.000000000,0.000062751)
                ,(438620000.000000000,0.000138793)
                ,(443440000.000000000,0.000232378)
                ,(448260000.000000000,0.000349048)
                ,(453080000.000000000,0.000496005)
                ,(457900000.000000000,0.000682583)
                ,(462720000.000000000,0.000920847)
                ,(467540000.000000000,0.001226346)
                ,(472360000.000000000,0.001619071)
                ,(477180000.000000000,0.002124657)
                ,(482000000.000000000,0.002775886)
                ,(484766667.000000000,0.003231256)
                ,(487533333.000000000,0.003757705)
                ,(490300000.000000000,0.004366160)
                ,(493066667.000000000,0.005069152)
                ,(495833333.000000000,0.005881036)
                ,(498600000.000000000,0.006818253)
                ,(501366667.000000000,0.007899609)
                ,(504133333.000000000,0.009146605)
                ,(506900000.000000000,0.010583805)
                ,(509666667.000000000,0.012239250)
                ,(512433333.000000000,0.014144925)
                ,(515200000.000000000,0.016337294)
                ,(517966667.000000000,0.018857893)
                ,(520733333.000000000,0.021754003)
                ,(523500000.000000000,0.025079408)
                ,(526266667.000000000,0.028895247)
                ,(529033333.000000000,0.033270975)
                ,(531800000.000000000,0.038285437)
                ,(534566667.000000000,0.044028084)
                ,(537333333.000000000,0.050600327)
                ,(540100000.000000000,0.058117066)
                ,(542866667.000000000,0.066708396)
                ,(545633333.000000000,0.076521530)
                ,(548400000.000000000,0.087722939)
                ,(551166667.000000000,0.100500757)
                ,(553933333.000000000,0.115067472)
                ,(556700000.000000000,0.131662925)
                ,(559466667.000000000,0.150557676)
                ,(562233333.000000000,0.172056747)
                ,(565000000.000000000,0.196503816)]
        elif HL == 'X70M':
            self.__hardLaw = [
                 (430818485.71428573, 0.0),
                 (435659142.85714287, 6.2751e-05),
                 (440499800.0, 0.000138793),
                 (445340457.14285713, 0.000232378),
                 (450181114.28571427, 0.000349048),
                 (455021771.4285714, 0.000496005),
                 (459862428.5714286, 0.000682583),
                 (464703085.71428573, 0.000920847),
                 (469543742.85714287, 0.001226346),
                 (474384400.0, 0.001619071),
                 (479225057.14285713, 0.002124657),
                 (484065714.28571427, 0.002775886),
                 (486844238.43, 0.003231256),
                 (489622761.57, 0.003757705),
                 (492401285.71428573, 0.00436616),
                 (495179809.8585714, 0.005069152),
                 (497958332.99857146, 0.005881036),
                 (500736857.14285713, 0.006818253),
                 (503515381.2871429, 0.007899609),
                 (506293904.42714286, 0.009146605),
                 (509072428.5714286, 0.010583805),
                 (511850952.7157143, 0.01223925),
                 (514629475.85571426, 0.014144925),
                 (517408000.0, 0.016337294),
                 (520186524.14428574, 0.018857893),
                 (522965047.2842857, 0.021754003),
                 (525743571.4285714, 0.025079408),
                 (528522095.57285714, 0.028895247),
                 (531300618.7128571, 0.033270975),
                 (534079142.85714287, 0.038285437),
                 (536857667.00142854, 0.044028084),
                 (539636190.1414286, 0.050600327),
                 (542414714.2857143, 0.058117066),
                 (545193238.43, 0.066708396),
                 (547971761.57, 0.07652153),
                 (550750285.7142857, 0.087722939),
                 (553528809.8585714, 0.100500757),
                 (556307332.9985714, 0.115067472),
                 (559085857.1428572, 0.131662925),
                 (561864381.2871429, 0.150557676),
                 (564642904.4271429, 0.172056747),
                 (567421428.5714285, 0.196503816)]
        elif HL == 'X80':
            self.__hardLaw = [(370915296.1,0)
                ,(375135446.1,0.0000377496)
                ,(379341848.5,0.0000725588)
                ,(383536970.8,0.000114918)
                ,(387709885.5,0.000151872)
                ,(391876807.8,0.000195662)
                ,(396002134.8,0.000236034)
                ,(400156366.9,0.000274896)
                ,(404364179.3,0.000320196)
                ,(408461306.2,0.000360489)
                ,(412538692.9,0.000403802)
                ,(416613612.2,0.000446796)
                ,(420720256.6,0.000492176)
                ,(424757105.7,0.000537554)
                ,(428728389.5,0.000582456)
                ,(432717650.8,0.000626484)
                ,(436730529.8,0.000672499)
                ,(440637305.8,0.000722726)
                ,(444633264.7,0.000770251)
                ,(448551320.7,0.000823418)
                ,(452401696.4,0.000873407)
                ,(456291552.3,0.000920772)
                ,(460163078.1,0.000971714)
                ,(463956348.5,0.001022418)
                ,(467738338.9,0.001078447)
                ,(471550996.9,0.001128197)
                ,(475281169.6,0.001187563)
                ,(479051879.9,0.001242638)
                ,(482704854.7,0.001297315)
                ,(486380389.6,0.001353502)
                ,(489974496.5,0.001413822)
                ,(493546395.9,0.001472394)
                ,(497074937.6,0.001532793)
                ,(500617226.9,0.001589219)
                ,(504085490.8,0.00165232)
                ,(507512864.5,0.001718362)
                ,(510969848.3,0.001777967)
                ,(514380654.4,0.001843133)
                ,(517610627.2,0.001913945)
                ,(520945645.5,0.001977525)
                ,(524142130.6,0.002044917)
                ,(527424273.6,0.002115645)
                ,(530530870.8,0.002190033)
                ,(533635000.5,0.002256153)
                ,(536719390,0.002331097)
                ,(539789679.6,0.002403021)
                ,(542724255.9,0.002478757)
                ,(545653192.3,0.002555213)
                ,(548560978.5,0.002633573)
                ,(551351029.2,0.002712169)
                ,(554149892.5,0.002795537)
                ,(556921613.1,0.002877873)
                ,(559670068.6,0.002960521)
                ,(562278228.4,0.003045241)
                ,(564902955.8,0.003131073)
                ,(567457887.9,0.003220877)
                ,(569900724.4,0.003311157)
                ,(572410888.8,0.003401281)
                ,(574835395.3,0.003494025)
                ,(577180236.3,0.003589869)
                ,(579484539.7,0.003684281)
                ,(581741255.4,0.003776629)
                ,(583899623.1,0.003876369)
                ,(586031553.2,0.003979761)
                ,(588236098.6,0.004077989)
                ,(590242185.6,0.004178761)
                ,(592279997.7,0.004284541)
                ,(594190556.8,0.004392385)
                ,(596168443.6,0.004500469)
                ,(598024364.9,0.004608153)
                ,(599864776.1,0.004718621)
                ,(601649492,0.004828293)
                ,(603335860,0.004940349)
                ,(605033508,0.005053837)
                ,(606707538.4,0.005167245)
                ,(608308601,0.005287489)
                ,(609943151.2,0.005401293)
                ,(611402508.1,0.005516689)
                ,(612932365.4,0.005640029)
                ,(614410052.4,0.005762021)
                ,(615865179.2,0.005880277)
                ,(617267430.9,0.006003457)
                ,(618549126.9,0.006129265)
                ,(619935868.5,0.006255389)
                ,(621239772.2,0.006380321)
                ,(622545438.3,0.006504773)
                ,(623730196.4,0.006635985)
                ,(624939277.1,0.006763617)
                ,(626058469.9,0.006892601)
                ,(627300685.8,0.007025797)
                ,(628387800.9,0.007155737)
                ,(629498533.7,0.007284801)
                ,(630548988.7,0.007416805)
                ,(631600853.6,0.007551509)
                ,(632602310.9,0.007684785)
                ,(633675325.9,0.007818697)
                ,(634598527.8,0.007954201)
                ,(635611265.1,0.008091133)
                ,(636524596.9,0.008227825)
                ,(637443216.3,0.008366981)
                ,(638425285.9,0.008503993)
                ,(639215242.1,0.008642117)
                ,(640083806.2,0.008779289)
                ,(640954837.9,0.008919797)
                ,(641806481.9,0.009060225)
                ,(642684916,0.009199857)
                ,(643511179.9,0.009341797)
                ,(644281748.6,0.009486677)
                ,(645081574.9,0.009629169)
                ,(645812663.3,0.009771905)
                ,(646611079.6,0.009916225)
                ,(647342168.1,0.010061981)
                ,(648087356.6,0.010203281)
                ,(648845235.2,0.010352133)
                ,(649566453.6,0.010496377)
                ,(650254184.3,0.010644357)
                ,(650937685.1,0.010792017)
                ,(651632465.8,0.010936577)
                ,(652332886.7,0.011088769)
                ,(652995589.8,0.011235793)
                ,(653650890.4,0.011380037)
                ,(654296673.4,0.011526741)
                ,(654941046.5,0.011681317)
                ,(655542061.8,0.011828661)
                ,(656189254.9,0.011975369)
                ,(656799787.8,0.012127401)
                ,(657414550.7,0.012278717)
                ,(658016976,0.012428441)
                ,(658601071.3,0.012576737)
                ,(659138988.8,0.012727417)
                ,(659800282,0.012878813)
                ,(660317049.4,0.013028541)
                ,(660902554.7,0.013183357)
                ,(661485239.9,0.013334909)
                ,(662000597.4,0.013487021)
                ,(662576232.6,0.013639609)
                ,(663083482.5,0.013788461)
                ,(663670397.8,0.013944229)
                ,(664160727.6,0.014092049)
                ,(664703932.6,0.014244161)
                ,(665201312.5,0.014395873)
                ,(665694462.3,0.014548221)
                ,(666183382.1,0.014699377)
                ,(666733637.2,0.014852445)
                ,(667187659.4,0.015005509)
                ,(667726634.4,0.015157065)
                ,(668186296.6,0.015308301)
                ,(668642786.3,0.015466293)
                ,(669152856.2,0.015615701)
                ,(669666803.6,0.015766381)
                ,(670067245.5,0.015924613)
                ,(670531137.7,0.016077281)
                ,(671008777.5,0.016228197)
                ,(671492057.2,0.016380945)
                ,(671948546.9,0.016539097)
                ,(672398339,0.016692321)
                ,(672902416.4,0.016846497)
                ,(673312728.3,0.017003457)
                ,(673745600.4,0.017154933)
                ,(674189752.5,0.017312525)
                ,(674594424.4,0.017462253)
                ,(675000858.8,0.017619769)
                ,(675467218.5,0.017778873)
                ,(675871890.4,0.017931541)
                ,(676366450.3,0.018089693)
                ,(676734814.5,0.018247365)
                ,(677169096.6,0.018398841)
                ,(677555790.9,0.018556517)
                ,(677992540.5,0.018714905)
                ,(678344337.1,0.018874961)
                ,(678779676.7,0.019031921)
                ,(679183291.1,0.019188641)
                ,(679560115.4,0.019348781)
                ,(679936939.7,0.019507569)
                ,(680337381.6,0.019668181)
                ,(680702925.8,0.019827921)
                ,(681112180.2,0.019992669)
                ,(681483364.5,0.020154873)
                ,(681869706.3,0.020321053)
                ,(682264860.7,0.020483969)
                ,(682662482.6,0.020649513)
                ,(682973741.5,0.020814657)
                ,(683316725.6,0.020977973)
                ,(683724570.1,0.021145581)
                ,(684036886.6,0.021310489)
                ,(684428868.4,0.021486917)
                ,(684797232.6,0.021659613)
                ,(685061961.4,0.021829685)
                ,(685499063.5,0.022005481)
                ,(685858967.7,0.022176821)
                ,(686150486.5,0.022351425)
                ,(686545288.4,0.022518953)
                ,(686852317.4,0.022689661)
                ,(687178733.9,0.022863069)
                ,(687479770.3,0.023031949)
                ,(687843904.5,0.023206157)
                ,(688209448.8,0.023373125)
                ,(688589093.1,0.023547649)
                ,(688885899.5,0.023721457)
                ,(689205266,0.023901225)
                ,(689508064.9,0.024085441)
                ,(689817561.4,0.024274509)
                ,(690157725.5,0.024457933)
                ,(690464754.4,0.024648505)
                ,(690736180.7,0.024835349)
                ,(691136975.1,0.025019805)
                ,(691412983.9,0.025204817)
                ,(691702740.3,0.025383709)
                ,(692046076.9,0.025563797)
                ,(692298115.6,0.025736013)
                ,(692647092.3,0.025913557)
                ,(692950948.7,0.026087445)
                ,(693298162.8,0.026263077)
                ,(693542094,0.026431877)
                ,(693818102.8,0.026600441)
                ,(694109269.2,0.026767333)
                ,(694444145.8,0.026935737)
                ,(694669394.3,0.027100085)
                ,(694972193.3,0.027267693)
                ,(695287329.7,0.027428073)
                ,(695566158.6,0.027592657)
                ,(695788587.1,0.027758361)
                ,(696146023.8,0.027920961)
                ,(696368452.4,0.028084517)
                ,(696703328.9,0.028248549)
                ,(696891212.3,0.028411073)
                ,(697189428.7,0.028572561)
                ,(697434769.9,0.028733889)
                ,(697756603.9,0.028897761)
                ,(697983615,0.029057581)
                ,(698238473.7,0.029220105)
                ,(698577580.3,0.029385169)
                ,(698786261.3,0.029539665)
                ,(699055220.1,0.029706401)
                ,(699317128.8,0.029870669)
                ,(699573397.5,0.030028581)
                ,(699776438.5,0.030189437)
                ,(700111315,0.030350765)
                ,(700335506.1,0.030512017)
                ,(700590364.8,0.030673425)
                ,(700838173.5,0.030835705)
                ,(701100082.2,0.030991553)
                ,(701324273.3,0.031154553)
                ,(701532954.3,0.031317233)
                ,(701799093,0.031473477)
                ,(702070871.8,0.031635205)
                ,(702240425.1,0.031796533)
                ,(702510793.9,0.031956753)
                ,(702743445,0.032118481)
                ,(702975743.6,0.032278301)
                ,(703216854.7,0.032435177)
                ,(703411435.7,0.032596905)
                ,(703651136.8,0.032757521)
                ,(703884845.4,0.032916861)
                ,(704055808.7,0.033075649)
                ,(704331817.5,0.033235865)
                ,(704562706.1,0.033399581)
                ,(704720979.3,0.033555745)
                ,(705008268.2,0.033715565)
                ,(705207079.1,0.033876261)
                ,(705455240.3,0.034036953)
                ,(705606463.5,0.034195025)
                ,(705908910,0.034358977)
                ,(706029465.5,0.034518797)
                ,(706301244.3,0.034677265)
                ,(706483135.2,0.034839469)
                ,(706731296.3,0.034999925)
                ,(706874059.5,0.035160461)
                ,(707140198.3,0.035319405)
                ,(707344649.2,0.035480021)
                ,(707512792.5,0.035643737)
                ,(707729933.6,0.035800853)
                ,(707918874.5,0.035962581)
                ,(708091247.8,0.036123673)
                ,(708312618.8,0.036281985)
                ,(708497329.7,0.036445377)
                ,(708696493.1,0.036604721)
                ,(708868514,0.036767165)
                ,(709069087.4,0.036930321)
                ,(709258028.3,0.037087837)
                ,(709476579.3,0.037250757)
                ,(709623572.5,0.037413357)
                ,(709851993.6,0.037569521)
                ,(710053624.6,0.037736973)
                ,(710228817.9,0.037899669)
                ,(710392731.2,0.038056949)
                ,(710504474.2,0.038218269)
                ,(710746995.3,0.038379909)
                ,(710919368.6,0.038540989)
                ,(711087511.9,0.038702549)
                ,(711227455.1,0.038862229)
                ,(711446006.1,0.039024189)
                ,(711604279.4,0.039187349)
                ,(711797450.3,0.039347869)
                ,(711940566,0.039511349)
                ,(712122456.8,0.039672949)
                ,(712286370.1,0.039833069)
                ,(712455923.4,0.039995829)
                ,(712604326.6,0.040156029)
                ,(712797850,0.040316189)
                ,(712905363,0.040479589)
                ,(713062226.3,0.040643149)
                ,(713245879.6,0.040806149)
                ,(713402742.9,0.040967069)
                ,(713563836.2,0.041128389)
                ,(713699549.3,0.041291229)
                ,(713863462.6,0.041458749)
                ,(714024555.8,0.041618029)
                ,(714147931.4,0.041781109)
                ,(714346742.4,0.041942509)
                ,(714494088,0.042106069)
                ,(714636851.2,0.042267309)
                ,(714753176.8,0.042431669)
                ,(714957627.7,0.042594349)
                ,(715103210.9,0.042759909)
                ,(715229406.5,0.042925029)
                ,(715411297.4,0.043088589)
                ,(715520572.9,0.043253269)
                ,(715629848.4,0.043416029)
                ,(715756044,0.043580709)
                ,(715903037.2,0.043744469)
                ,(716048620.4,0.043908749)
                ,(716213943.7,0.044070469)
                ,(716307709.1,0.044233629)
                ,(716499822.5,0.044401149)
                ,(716600638,0.044566629)
                ,(716764551.3,0.044730589)
                ,(716847036.7,0.044895869)
                ,(716999669.9,0.045058029)
                ,(717132915.5,0.045223069)
                ,(717292598.8,0.045390109)
                ,(717392004.2,0.045559469)
                ,(717511149.8,0.045722229)
                ,(717690220.7,0.045887069)
                ,(717778698.6,0.046054189)
                ,(717897844.1,0.046217269)
                ,(717973279.5,0.046378389)
                ,(718098065.1,0.046545669)
                ,(718225318.2,0.046711749)
                ,(718338823.7,0.046880389)
                ,(718401921.5,0.047040469)
                ,(718593682.4,0.047207749)
                ,(718711418,0.047371149)
                ,(718830563.6,0.047538269)
                ,(718892251.3,0.047704469)
                ,(719054754.6,0.047868709)
                ,(719107982.4,0.048035309)
                ,(719231005.4,0.048197189)
                ,(719357201,0.048363749)
                ,(719445326.5,0.048532309)
                ,(719581392.1,0.048696109)
                ,(719662467.5,0.048862549)
                ,(719816510.7,0.049030469)
                ,(719848940.9,0.049195389)
                ,(719994524.1,0.049360269)
                ,(720081239.5,0.049523509)
                ,(720180644.9,0.049692629)
                ,(720263482.8,0.049862949)
                ,(720385448.4,0.050027829)
                ,(720482033.9,0.050194509)
                ,(720564519.2,0.050361309)
                ,(720669564.7,0.050525989)
                ,(720805630.4,0.050693509)
                ,(720856038.1,0.050862549)
                ,(720993161.3,0.051031509)
                ,(721042159,0.051199269)
                ,(721190914.7,0.051367269)
                ,(721262120,0.051536789)
                ,(721392545.7,0.051703829)
                ,(721444363.4,0.051872269)
                ,(721521208.8,0.052042469)
                ,(721631894.3,0.052210709)
                ,(721720372.2,0.052379669)
                ,(721760909.9,0.052547949)
                ,(721832115.2,0.052718149)
                ,(721930463.2,0.052885989)
                ,(721968180.9,0.053054509)
                ,(722094024,0.053226869)
                ,(722199422,0.053395109)
                ,(722255117.2,0.053562629)
                ,(722359105.2,0.053734949)
                ,(722494818.4,0.053904149)
                ,(722517378.5,0.054072149)
                ,(722585763.8,0.054244189)
                ,(722714779.4,0.054411429)
                ,(722749677.1,0.054580829)
                ,(722782107.2,0.054749269)
                ,(722871642.7,0.054923789)
                ,(722924870.4,0.055093069)
                ,(723032735.9,0.055260029)
                ,(723097243.7,0.055430869)
                ,(723129321.4,0.055602069)
                ,(723265034.5,0.055773989)
                ,(723343642.4,0.055944509)
                ,(723398280.1,0.056115069)
                ,(723506145.7,0.056286109)
                ,(723496275.6,0.056456629)
                ,(723606961.1,0.056626709)
                ,(723585811,0.056797509)
                ,(723775104.4,0.056970589)
                ,(723762414.4,0.057141229)
                ,(723864639.9,0.057313909)
                ,(723955585.3,0.057483429)
                ,(723973915.4,0.057657229)
                ,(724069090.8,0.057830829)
                ,(724122318.6,0.058004629)
                ,(724199516.4,0.058175149)
                ,(724213616.5,0.058349149)
                ,(724291871.9,0.058518709)
                ,(724264024.2,0.058693189)
                ,(724394097.4,0.058861749)
                ,(724434635,0.059033629)
                ,(724511832.9,0.059211189)
                ,(724584800.8,0.059387109)
                ,(724699363.8,0.059556469)
                ,(724695486.3,0.059731629)
                ,(724790661.7,0.059908789)
                ,(724814279.3,0.060081389)
                ,(724842479.5,0.060256869)
                ,(724857637,0.060430149)
                ,(725007802.8,0.060606549)
                ,(724981012.6,0.060783389)
                ,(725038470.4,0.060954029)
                ,(725090288.1,0.061131309)
                ,(725163256,0.061309029)
                ,(725157616,0.061484109)
                ,(725220713.8,0.061661629)
                ,(725244331.4,0.061836629)
                ,(725259841.4,0.062012989)
                ,(725340916.8,0.062189749)
                ,(725359246.9,0.062359669)
                ,(725411064.7,0.062541549)
                ,(725485442.5,0.062721109)
                ,(725513290.1,0.062896869)
                ,(725537260.3,0.063069509)
                ,(725572157.9,0.063246949)
                ,(725628205.7,0.063424509)
                ,(725680023.4,0.063605309)
                ,(725682843.4,0.063780789)
                ,(725703993.5,0.063958869)
                ,(725682843.4,0.064139109)
                ,(725843936.7,0.064310949)
                ,(725818556.6,0.064488949)
                ,(725892934.4,0.064664029)
                ,(725895754.5,0.064845709)
                ,(725892934.4,0.065019669)
                ,(725974362.3,0.065198589)
                ,(726009260,0.065378349)
                ,(726006440,0.065551829)
                ,(726006440,0.065731669)
                ,(726051207.7,0.065910109)
                ,(726081875.3,0.066090589)
                ,(726125585.5,0.066267189)
                ,(726111485.5,0.066442629)
                ,(726206660.9,0.066623069)
                ,(726173173.3,0.066801389)
                ,(726205250.9,0.066978949)
                ,(726195380.9,0.067161949)
                ,(726250018.6,0.067339429)
                ,(726290908.8,0.067518549)
                ,(726327216.5,0.067697749)
                ,(726362114.2,0.067879829)
                ,(726398421.8,0.068058509)
                ,(726390314.3,0.068239829)
                ,(726468569.7,0.068420869)
                ,(726422391.9,0.068600109)
                ,(726471389.7,0.068779949)
                ,(726436492,0.068964629)
                ,(726516157.4,0.069142749)
                ,(726477029.7,0.069325309)
                ,(726552817.6,0.069509269)
                ,(726541537.5,0.069690469)
                ,(726524617.4,0.069874149)
                ,(726589125.2,0.070055549)
                ,(726547177.5,0.070238509)
                ,(726600405.3,0.070418669)
                ,(726619792.9,0.070604069)
                ,(726615562.9,0.070785829)
                ,(726596175.3,0.070967189)
                ,(726631072.9,0.071146789)
                ,(726642353,0.071337309)
                ,(726562335.1,0.071516909)
                ,(726589125.2,0.071700749)
                ,(726594765.3,0.071882789)
                ,(726603225.3,0.072069709)
                ,(726611685.3,0.072247989)
                ,(726616972.9,0.072433149)
                ,(726625432.9,0.072617989)
                ,(726633892.9,0.072799829)
                ,(726647993,0.072987389)
                ,(726655043,0.073168589)
                ,(726662093.1,0.073351389)
                ,(726662093.1,0.073539589)
                ,(726662093.1,0.073722349)
                ,(726662093.1,0.073907949)
                ,(726657863.1,0.074095709)
                ,(726657863.1,0.074278509)
                ,(726660683.1,0.074463509)
                ,(726662093.1,0.074646469)
                ,(726664913.1,0.074831389)
                ,(726668790.6,0.075018789)
                ,(726671610.6,0.075202629)
                ,(726671610.6,0.075385349)
                ,(726675840.6,0.075572189)
                ,(726671610.6,0.075762909)
                ,(726670200.6,0.075944269)
                ,(726664913.1,0.076132869)
                ,(726662093.1,0.076319709)
                ,(726657863.1,0.076504789)
                ,(726650813,0.076692829)
                ,(726647993,0.076881069)
                ,(726638123,0.077064909)
                ,(726633892.9,0.077256029)
                ,(726626842.9,0.077439629)
                ,(726622612.9,0.077625189)
                ,(726615562.9,0.077817189)
                ,(726607102.8,0.078003789)
                ,(726596175.3,0.078195629)
                ,(726586305.2,0.078382789)
                ,(726573615.2,0.078569949)
                ,(726559515.1,0.078756269)
                ,(726548587.5,0.078948429)
                ,(726534487.5,0.079135509)
                ,(726520387.4,0.079325269)
                ,(726507697.3,0.079512109)
                ,(726498179.8,0.079703789)
                ,(726485489.7,0.079891109)
                ,(726474209.7,0.080080909)
                ,(726458699.6,0.080271549)
                ,(726440722,0.080462149)
                ,(726420981.9,0.080651429)
                ,(726399831.8,0.080840349)
                ,(726381854.3,0.081029429)
                ,(726360704.2,0.081222309)
                ,(726341316.6,0.081413909)
                ,(726318756.5,0.081600509)
                ,(726296196.3,0.081790149)
                ,(726272578.7,0.081980709)
                ,(726245788.6,0.082171509)
                ,(726220761,0.082359229)
                ,(726193970.9,0.082552269)
                ,(726166123.2,0.082745069)
                ,(726140743.1,0.082934549)
                ,(726114305.5,0.083124869)
                ,(726088925.4,0.083311629)
                ,(726059667.7,0.083503789)
                ,(726032877.6,0.083697789)
                ,(726003620,0.083888549)
                ,(725974362.3,0.084078229)
                ,(725941932.2,0.084270549)
                ,(725912674.5,0.084464309)
                ,(725878834.4,0.084652909)
                ,(725846756.7,0.084844989)
                ,(725813269.1,0.085036429)
                ,(725778018.9,0.085230349)
                ,(725745941.2,0.085422349)
                ,(725709281.1,0.085616269)
                ,(725677203.4,0.085807789)
                ,(725643715.8,0.086001069)
                ,(725609875.6,0.086191589)
                ,(725572157.9,0.086387389)
                ,(725534440.2,0.086577669)
                ,(725492492.5,0.086775069)
                ,(725450192.3,0.086965149)
                ,(725406834.6,0.087161309)
                ,(725362066.9,0.087357429)
                ,(725317299.2,0.087550069)
                ,(725273941.5,0.087744229)
                ,(725230231.3,0.087936949)
                ,(725188283.6,0.088136669)
                ,(725146335.9,0.088333069)
                ,(725104388.2,0.088526229)
                ,(725062440.5,0.088720309)
                ,(725016262.8,0.088917509)
                ,(724967265.1,0.089112189)
                ,(724912274.8,0.089306589)
                ,(724856579.5,0.089503909)
                ,(724801941.8,0.089699509)
                ,(724748714,0.089895549)
                ,(724694076.3,0.090093669)
                ,(724639086,0.090287269)
                ,(724584800.8,0.090483109)
                ,(724528753,0.090681789)
                ,(724467065.2,0.090878069)
                ,(724408197.4,0.091075669)
                ,(724346509.6,0.091269189)
                ,(724286231.8,0.091465229)
                ,(724223134,0.091664229)
                ,(724161798.8,0.091859989)
                ,(723686979,0.092056749)
                ,(723572063.5,0.092255189)
                ,(723584401,0.092449429)
                ,(723443047.9,0.092647709)
                ,(723410970.2,0.092845989)
                ,(723289004.6,0.093044429)
                ,(723248466.9,0.093236909)
                ,(723143421.4,0.093435589)
                ,(723087373.7,0.093634069)
                ,(722969638.1,0.093834309)
                ,(722933330.4,0.094026309)
                ,(722817004.9,0.094225709)
                ,(722772237.2,0.094425349)
                ,(722703499.4,0.094625709)
                ,(722585763.8,0.094825749)
                ,(722545226.1,0.095018709)
                ,(722469438.3,0.095218109)
                ,(722343595.2,0.095423229)
                ,(722245599.7,0.095619189)
                ,(722165581.8,0.095816629)
                ,(722061946.3,0.096014909)
                ,(722012948.6,0.096216269)
                ,(721892393,0.096414509)
                ,(721846215.3,0.096616429)
                ,(721720372.2,0.096817909)
                ,(721631894.3,0.097019269)
                ,(721494771.1,0.097219469)
                ,(721398185.7,0.097419669)
                ,(721354475.5,0.097618109)
                ,(721231452.4,0.097815349)
                ,(721091156.7,0.098018789)
                ,(720990341.3,0.098221709)
                ,(720907855.9,0.098419829)
                ,(720823608,0.098630829)
                ,(720609287,0.098816709)
                ,(720568749.3,0.099021109)
                ,(720451013.7,0.099225109)
                ,(720333630.7,0.099426029)
                ,(720207435.1,0.099625589)
                ,(720091109.5,0.099828949)
                ,(720044931.8,0.100029389)
                ,(719876788.5,0.100229269)
                ,(719792893.1,0.100430669)]
        elif HL == 'X52':
            self.__hardLaw = [(358990000,0)
                ,(362190000,0.00023)
                ,(365390000,0.00048)
                ,(368590000,0.00076)
                ,(371790000,0.00106)
                ,(374990000,0.00139)
                ,(378190000,0.00175)
                ,(381390000,0.00214)
                ,(384590000,0.00256)
                ,(387790000,0.00303)
                ,(390990000,0.00353)
                ,(394190000,0.00408)
                ,(397390000,0.00468)
                ,(400590000,0.00532)
                ,(403790000,0.00603)
                ,(406990000,0.00679)
                ,(410190000,0.00762)
                ,(413390000,0.00852)
                ,(416590000,0.0095)
                ,(419790000,0.01055)
                ,(422990000,0.0117)
                ,(426190000,0.01294)
                ,(429390000,0.01428)
                ,(432590000,0.01573)
                ,(435790000,0.01729)
                ,(438990000,0.01898)
                ,(442190000,0.02081)
                ,(445390000,0.02278)
                ,(448590000,0.0249)
                ,(451790000,0.0272)
                ,(454990000,0.02966)
                ,(458190000,0.03232)
                ,(461390000,0.03518)
                ,(464590000,0.03826)
                ,(467790000,0.04157)
                ,(470990000,0.04513)
                ,(474190000,0.04895)
                ,(477390000,0.05305)
                ,(480590000,0.05746)
                ,(483790000,0.06218)
                ,(486990000,0.06725)
                ,(490190000,0.07269)
                ,(493390000,0.07851)
                ,(496590000,0.08474)
                ,(499790000,0.09141)
                ,(502990000,0.09855)
                ,(506190000,0.10619)
                ,(509390000,0.11436)
                ,(512590000,0.12309)
                ,(515790000,0.13241)
                ,(518990000,0.14237)
                ,(522190000,0.15299)
                ,(525390000,0.16433)
                ,(528590000,0.17643)
                ,(531790000,0.18932)
                ,(534990000,0.20307)
                ,(538190000,0.21771)
                ,(541390000,0.2333)
                ,(544590000,0.2499)
                ,(547790000,0.26757)
                ,(550990000,0.28637)
                ,(554190000,0.30635)
                ,(557400000,0.3276)
                ,(560600000,0.35018)
                ,(563800000,0.37417)
                ,(567000000,0.39964)
                ,(570200000,0.42668)
                ,(573400000,0.45538)
                ,(576600000,0.48583)
                ,(579800000,0.51812)
                ,(583000000,0.55235)
                ,(586200000,0.58864)
                ,(589400000,0.62708)
                ,(592600000,0.6678)
                ,(595800000,0.71092)
                ,(599000000,0.75657)
                ,(602200000,0.80487)
                ,(605400000,0.85597)
                ,(608600000,0.91002)
                ,(611800000,0.96716)
                ,(615000000,1.02756)
                ,(618200000,1.09138)
                ,(621400000,1.15881)
                ,(624600000,1.23001)
                ,(627800000,1.30519)
                ,(631000000,1.38453)
                ,(634200000,1.46826)
                ,(637400000,1.55659)
                ,(640600000,1.64975)
                ,(643800000,1.74797)
                ,(647000000,1.8515)
                ,(650200000,1.96061)
                ,(653400000,2.07555)
                ,(656600000,2.19663)
                ,(659800000,2.32411)
                ,(663000000,2.45833)
                ,(666200000,2.59959)]
        elif HL == 'X60':
            self.__hardLaw = [(414000000,0)
                ,(417433333.33,0.000228)
                ,(420866666.66,0.000477)
                ,(424300000,0.000748)
                ,(427733333.33,0.001043)
                ,(431166666.66,0.001364)
                ,(434600000,0.001713)
                ,(438033333.33,0.002094)
                ,(441466666.66,0.002508)
                ,(444900000,0.002958)
                ,(448333333.33,0.003447)
                ,(451766666.66,0.003978)
                ,(455200000,0.004555)
                ,(458633333.33,0.005182)
                ,(462066666.66,0.005861)
                ,(465500000,0.006599)
                ,(468933333.33,0.007398)
                ,(472366666.66,0.008264)
                ,(475800000,0.009203)
                ,(479233333.33,0.010218)
                ,(482666666.66,0.011318)
                ,(486100000,0.012507)
                ,(489533333.33,0.013792)
                ,(492966666.66,0.015182)
                ,(496400000,0.016682)
                ,(499833333.33,0.018302)
                ,(503266666.66,0.020051)
                ,(506700000,0.021936)
                ,(510133333.33,0.02397)
                ,(513566666.66,0.026161)
                ,(517000000,0.028521)
                ,(520433333.33,0.031062)
                ,(523866666.66,0.033796)
                ,(527300000,0.036738)
                ,(530733333.33,0.039901)
                ,(534166666.66,0.0433)
                ,(537599999.99,0.046952)
                ,(541033333.33,0.050873)
                ,(544466666.66,0.055082)
                ,(547899999.99,0.059597)
                ,(551333333.33,0.06444)
                ,(554766666.66,0.069631)
                ,(558199999.99,0.075194)
                ,(561633333.33,0.081152)
                ,(565066666.66,0.087531)
                ,(568499999.99,0.094358)
                ,(571933333.33,0.101662)
                ,(575366666.66,0.109472)
                ,(578799999.99,0.117821)
                ,(582233333.33,0.126743)
                ,(585666666.66,0.136272)
                ,(589099999.99,0.146447)
                ,(592533333.33,0.157307)
                ,(595966666.66,0.168895)
                ,(599399999.99,0.181253)
                ,(602833333.33,0.194429)
                ,(606266666.66,0.208472)
                ,(609699999.99,0.223433)
                ,(613133333.33,0.239367)
                ,(616566666.66,0.256331)
                ,(619999999.99,0.274386)
                ,(623433333.33,0.293595)
                ,(626866666.66,0.314025)
                ,(630299999.99,0.335746)
                ,(633733333.33,0.358833)
                ,(637166666.66,0.383362)
                ,(640599999.99,0.409417)
                ,(644033333.33,0.437083)
                ,(647466666.66,0.466449)
                ,(650899999.99,0.497612)
                ,(654333333.33,0.530669)
                ,(657766666.66,0.565727)
                ,(661199999.99,0.602894)
                ,(664633333.33,0.642286)
                ,(668066666.66,0.684023)
                ,(671499999.99,0.728232)
                ,(674933333.33,0.775045)
                ,(678366666.66,0.824602)
                ,(681799999.99,0.877048)
                ,(685233333.33,0.932536)
                ,(688666666.66,0.991226)
                ,(692099999.99,1.053285)
                ,(695533333.33,1.118889)
                ,(698966666.66,1.18822)
                ,(702399999.99,1.261472)
                ,(705833333.33,1.338845)
                ,(709266666.66,1.420549)
                ,(712699999.99,1.506804)
                ,(716133333.33,1.597839)
                ,(719566666.66,1.693896)
                ,(722999999.99,1.795224)
                ,(726433333.33,1.902086)
                ,(729866666.66,2.014756)
                ,(733299999.99,2.133521)
                ,(736733333.33,2.258678)
                ,(740166666.66,2.390541)
                ,(743599999.99,2.529434)]
        elif HL == 'X65':
            self.__hardLaw = [(448000000, 0)
                ,(450733333.33, 0.000202)
                ,(453466666.66, 0.000421)
                ,(456200000, 0.000659)
                ,(458933333.33, 0.000915)
                ,(461666666.66, 0.001193)
                ,(464400000, 0.001494)
                ,(467133333.33, 0.001819)
                ,(469866666.66, 0.00217)
                ,(472600000, 0.00255)
                ,(475333333.33, 0.00296)
                ,(478066666.66, 0.003404)
                ,(480800000, 0.003883)
                ,(483533333.33, 0.0044)
                ,(486266666.66, 0.004959)
                ,(489000000, 0.005562)
                ,(491733333.33, 0.006212)
                ,(494466666.66, 0.006914)
                ,(497200000, 0.00767)
                ,(499933333.33, 0.008486)
                ,(502666666.66, 0.009365)
                ,(505400000, 0.010312)
                ,(508133333.33, 0.011332)
                ,(510866666.66, 0.01243)
                ,(513600000, 0.013612)
                ,(516333333.33, 0.014883)
                ,(519066666.66, 0.016251)
                ,(521800000, 0.017721)
                ,(524533333.33, 0.019302)
                ,(527266666.66, 0.021)
                ,(530000000, 0.022824)
                ,(532733333.33, 0.024783)
                ,(535466666.66, 0.026885)
                ,(538200000, 0.029141)
                ,(540933333.33, 0.031561)
                ,(543666666.66, 0.034156)
                ,(546400000, 0.036939)
                ,(549133333.33, 0.03992)
                ,(551866666.66, 0.043114)
                ,(554600000, 0.046535)
                ,(557333333.33, 0.050197)
                ,(560066666.66, 0.054117)
                ,(562800000, 0.058311)
                ,(565533333.33, 0.062797)
                ,(568266666.66, 0.067593)
                ,(571000000, 0.072721)
                ,(573733333.33, 0.0782)
                ,(576466666.66, 0.084054)
                ,(579200000, 0.090305)
                ,(581933333.33, 0.096979)
                ,(584666666.66, 0.104103)
                ,(587400000, 0.111704)
                ,(590133333.33, 0.119812)
                ,(592866666.66, 0.128458)
                ,(595600000, 0.137676)
                ,(598333333.33, 0.1475)
                ,(601066666.66, 0.157967)
                ,(603800000, 0.169116)
                ,(606533333.33, 0.180988)
                ,(609266666.66, 0.193627)
                ,(612000000, 0.207078)
                ,(614733333.33, 0.22139)
                ,(617466666.66, 0.236614)
                ,(620200000, 0.252802)
                ,(622933333.33, 0.270013)
                ,(625666666.66, 0.288305)
                ,(628400000, 0.307742)
                ,(631133333.33, 0.328389)
                ,(633866666.66, 0.350316)
                ,(636600000, 0.373597)
                ,(639333333.33, 0.398309)
                ,(642066666.66, 0.424533)
                ,(644800000, 0.452354)
                ,(647533333.33, 0.481864)
                ,(650266666.66, 0.513156)
                ,(653000000, 0.54633)
                ,(655733333.33, 0.58149)
                ,(658466666.66, 0.618747)
                ,(661200000, 0.658216)
                ,(663933333.33, 0.700019)
                ,(666666666.66, 0.744282)
                ,(669400000, 0.791141)
                ,(672133333.33, 0.840736)
                ,(674866666.66, 0.893213)
                ,(677600000, 0.948729)
                ,(680333333.33, 1.007446)
                ,(683066666.66, 1.069535)
                ,(685800000, 1.135173)
                ,(688533333.33, 1.204551)
                ,(691266666.66, 1.277863)
                ,(694000000, 1.355316)
                ,(696733333.33, 1.437127)
                ,(699466666.66, 1.523523)
                ,(702200000, 1.61474)
                ,(704933333.33, 1.711027)
                ,(707666666.66, 1.812646)
                ,(710400000, 1.919869)]
        elif HL.lower() == 'elastic':
              self.__hardLaw = []
        elif HL.upper() == 'X42_RO':
              self.__hardLaw = [[289.e6,12.03,2.55]]
        elif HL.upper() == 'X46_RO':
              self.__hardLaw = [[317.e6,13.67,2.23]]
        elif HL.upper() == 'X52_RO':
              self.__hardLaw = [[358.e6,17.99,1.86]]
        elif HL.upper() == 'X56_RO':
              self.__hardLaw = [[386.e6,18.44,1.66]]
        elif HL.upper() == 'X60_RO':
              self.__hardLaw = [[413.e6,18.99,1.48]]
        elif HL.upper() == 'X65_RO':
              self.__hardLaw = [[448.e6,25.58,1.29]]
        elif HL.upper() == 'X70_RO':
              self.__hardLaw = [[482.e6,27.13,1.13]]
        elif HL.upper() == 'X80_RO':
              self.__hardLaw = [[551.e6,37.,0.86]]
        else:
             self.__hardLaw = []
             raise Exception("Unknown hardening law")
        return self.__hardLaw
           
            
                

Introduce Yourself (Example Post)

This is an example post, originally published as part of Blogging University. Enroll in one of our ten programs, and start your blog right.

You’re going to publish a post today. Don’t worry about how your blog looks. Don’t worry if you haven’t given it a name yet, or you’re feeling overwhelmed. Just click the “New Post” button, and tell us why you’re here.

Why do this?

  • Because it gives new readers context. What are you about? Why should they read your blog?
  • Because it will help you focus you own ideas about your blog and what you’d like to do with it.

The post can be short or long, a personal intro to your life or a bloggy mission statement, a manifesto for the future or a simple outline of your the types of things you hope to publish.

To help you get started, here are a few questions:

  • Why are you blogging publicly, rather than keeping a personal journal?
  • What topics do you think you’ll write about?
  • Who would you love to connect with via your blog?
  • If you blog successfully throughout the next year, what would you hope to have accomplished?

You’re not locked into any of this; one of the wonderful things about blogs is how they constantly evolve as we learn, grow, and interact with one another — but it’s good to know where and why you started, and articulating your goals may just give you a few other post ideas.

Can’t think how to get started? Just write the first thing that pops into your head. Anne Lamott, author of a book on writing we love, says that you need to give yourself permission to write a “crappy first draft”. Anne makes a great point — just start writing, and worry about editing it later.

When you’re ready to publish, give your post three to five tags that describe your blog’s focus — writing, photography, fiction, parenting, food, cars, movies, sports, whatever. These tags will help others who care about your topics find you in the Reader. Make sure one of the tags is “zerotohero,” so other new bloggers can find you, too.

Design a site like this with WordPress.com
Get started