当前位置:编程学习 > C#/ASP.NET >>

自己写的一个力学计算的类,分享下,请高手指点

'力学计算类

Public Class lixue
    '***************类成员变量声明***************************
    Private m_wire As wire   '电线成员
    Private m_weather As weather '气象成员
    Private averageHeight As Integer '导线平均高度
    Private Ldistance As Integer '水平档距
    Private maxwind As Double '折算到平均高时的风速
    Private windPa As Double '风压高度系数
    Private winda As Double  '风速不均系数
    Private mK As Double    '风载体型系数
    Private flag As Integer '比载类型,1代表应力比载,2代表机械比载,3代表间隙比载
    Private m_dMaxStress As Double '最大使用应力
    Private m_dAverageStress As Double '年平均运行应力
    Private m_dAnQuanXishu As Double '电线安全系数
    Private m_iAverageBaifenbi As Integer '年平均运行应力百分比,如25%
    Private ctrlwork() As String '控制工况
    Private linjieL() As Double '临界档距
    Private B1 As Double '覆冰风荷载增大系数
    Private windbc As Double '风荷载调整系数
    Private s5 As Double    '导线大风垂直档距增大系数
    Private s3 As Double    '导线覆冰垂直档距增大系数
    Private xt, xv, xb As Double '任意工况
    Private wirenewk '新线系数
    '***************类成员变量声明***************************
    '类构造函数
    Public Sub New()

    End Sub
    Public Sub New(ByVal awire As wire, ByVal aweather As weather, ByVal avH As Integer, ByVal LH As Integer)
        m_wire = awire
        m_weather = aweather
        averageHeight = avH
        Ldistance = LH
        m_dAnQuanXishu = 2.5
        m_iAverageBaifenbi = 25
        flag = 1
        wirenewk = 0.95
    End Sub
    '属性
    Public Sub setwirenewk(ByVal k As Double)
        wirenewk = k
    End Sub

    Public ReadOnly Property getxt() As Double
        Get
            Return xt
        End Get
    End Property
    Public ReadOnly Property getxv() As Double
        Get
            Return xv
        End Get
    End Property
    Public ReadOnly Property getxb() As Double
        Get
            Return xb
        End Get
    End Property
    Public ReadOnly Property getB1() As Double
        Get
            Return B1
        End Get
    End Property
    Public ReadOnly Property gets5() As Double
        Get
            Return s5
        End Get
    End Property
    Public ReadOnly Property gets3() As Double
        Get
            Return s3
        End Get
    End Property
    Public ReadOnly Property getwindbc() As Double
        Get
            Return windbc
        End Get
    End Property

    Public ReadOnly Property ctlwork() As Array
        Get
            Return ctrlwork
        End Get
    End Property
    Public ReadOnly Property linjL() As Array
        Get
            Return linjieL
        End Get
    End Property
    Public ReadOnly Property maxstress() As Double
        Get
            Return m_dMaxStress
        End Get
    End Property
    Public ReadOnly Property averagestress() As Double
        Get
            Return m_dAverageStress
        End Get
    End Property
    Public ReadOnly Property wire() As wire
        Get
            Return m_wire
        End Get
    End Property
    Public ReadOnly Property weather() As weather
        Get
            Return m_weather
        End Get
    End Property
    Public ReadOnly Property averageH() As Integer
        Get
            Return averageHeight
        End Get
    End Property
    Public ReadOnly Property distanceL() As Integer
        Get
            Return Ldistance
        End Get
    End Property
    Public ReadOnly Property mwind() As Integer
        Get
            Return maxwind
        End Get
    End Property
    Public ReadOnly Property pawind() As Integer
        Get
            Return windPa
        End Get
    End Property
    Public ReadOnly Property awind() As Integer
        Get
            Return winda
        End Get
    End Property
    Public ReadOnly Property k() As Integer
        Get
            Return mK
        End Get
    End Property
    Public ReadOnly Property flagofbizai() As Integer
        Get
            Return flag
        End Get
    End Property
    Public Sub setB1(ByVal ice As Double)
        If ice = 0 Then
            B1 = 1.0
        ElseIf ice = 5 Then
            B1 = 1.1
        ElseIf ice = 10 Then
            B1 = 1.2
        ElseIf ice = 15 Then
            B1 = 1.3
        ElseIf ice = 20 Then
            B1 = 1.5
        ElseIf ice = 25 Then
            B1 = 1.6
        ElseIf ice = 30 Then
            B1 = 1.7
        ElseIf ice = 35 Then
            B1 = 1.8
        ElseIf ice = 40 Then
            B1 = 1.9
        Else
            B1 = 2.0
        End If
    End Sub
    Public Sub sets5(ByVal ss5 As Double)
        s5 = ss5
    End Sub
    Public Sub sets3(ByVal ss3 As Double)
        s3 = ss3
    End Sub
    Public Sub setanquanxishu(ByVal anquan As Double)
        m_dAnQuanXishu = anquan
    End Sub
    Public Sub setaveragebaifenbi(ByVal averbaifenbi As Integer)
        m_iAverageBaifenbi = averbaifenbi
    End Sub
    Public Sub CalMaxStress()
        m_dMaxStress = m_wire.breakingforce / m_wire.totalarea / m_dAnQuanXishu * wirenewk '这里0.95为新线系数
    End Sub
    Public Sub CalAverageStress()
        m_dAverageStress = m_wire.breakingforce / m_wire.totalarea * wirenewk * m_iAverageBaifenbi / 100
    End Sub
    Public Sub setmwire(ByVal mwire As wire)
        m_wire = mwire
    End Sub
    Public Sub setmweather(ByVal mweather As weather)
        m_weather = mweather
    End Sub
    Public Sub setaverageH(ByVal averageH As Integer)
        averageHeight = averageH
    End Sub
    Public Sub setxtvb(ByVal t As Double, ByVal v As Double, ByVal b As Double)
        xt = t
        xv = v
        xb = b
    End Sub
    Public Sub setLdistance(ByVal distanceL As Integer)
        Ldistance = distanceL
    End Sub
    Public Sub CalMaxWind()
        maxwind = m_weather.rv1 * (averageHeight / 10) ^ 0.16
    End Sub
    Public Sub CalwindHpa()
        windPa = (averageHeight / 10) ^ 0.32
    End Sub
    '计算体型系数
    Public Sub CalK(ByVal ice As Double)
        If ice > 0 Then
            mK = 1.2
        ElseIf m_wire.outsidediameter < 17 Then
            mK = 1.2
        Else
            mK = 1.1
        End If
    End Sub
    Public Sub setflag(ByVal nflag As Integer)
        flag = nflag
    End Sub

End Class
--------------------编程问答-------------------- --------------------编程问答-------------------- 电力高架线路维护? --------------------编程问答-------------------- 架空输电线路方面的力学计算 --------------------编程问答-------------------- --------------------编程问答--------------------


补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,