Ansys 計算剛柔耦合矩陣系數

Ansys 計算剛柔耦合系數矩陣

文章目錄

  • Ansys 計算剛柔耦合系數矩陣
    • 衛星的剛柔耦合動力學模型
    • 采用 ANSYS 的 APDL 語言的計算方法
    • 系統轉動慣量的求解方法
      • 參考文獻

衛星的剛柔耦合動力學模型

  • 柔性航天器的剛柔耦合動力學模型可以表示為
    m v ˙ + B t r a n η ¨ = F J ω ˙ + ω × J ω + B r o t η ¨ + ω × B r o t η ˙ = T η ¨ + 2 ξ Ω η ˙ + Ω 2 η + B r o t T ω ˙ + B t r a n T v ˙ = 0 \begin{align} \boldsymbol{m}\dot{\boldsymbol{v}} + \boldsymbol{B}_{tran}\ddot{\boldsymbol{\eta}} &= \boldsymbol{F}\\ \boldsymbol{J}\dot{\boldsymbol{\omega}}+\boldsymbol{\omega}^\times\boldsymbol{J}\boldsymbol{\omega}+\boldsymbol{B}_{rot}\ddot{\boldsymbol{\eta}}+\boldsymbol{\omega}^\times\boldsymbol{B}_{rot}\dot{\boldsymbol{\eta}}&=\boldsymbol{T}\\ \ddot{\boldsymbol{\eta}}+2\boldsymbol{\xi}\boldsymbol{\Omega}\dot{\boldsymbol{\eta}}+\boldsymbol{\Omega}^2\boldsymbol{\eta}+\boldsymbol{B}_{rot}^T\dot{\boldsymbol{\omega}} + \boldsymbol{B}_{tran}^T\dot{\boldsymbol{v}}&=\boldsymbol{0} \end{align} mv˙+Btran?η¨?Jω˙+ω×Jω+Brot?η¨?+ω×Brot?η˙?η¨?+2ξΩη˙?+Ω2η+BrotT?ω˙+BtranT?v˙?=F=T=0??
    式中:

    • m \boldsymbol{m} m J J J 分別表示柔性航天器的質量和轉動慣量矩陣;
    • v \boldsymbol{v} v ω \boldsymbol{\omega} ω 分別表示航天器本體相對于慣性系的線速度和角速度矢量;
    • F \boldsymbol{F} F T \boldsymbol{T} T 分別表示航天受到的三軸控制力和控制力矩;
    • η \boldsymbol{\eta} η ξ \boldsymbol{\xi} ξ Ω \boldsymbol{\varOmega} Ω 分別表示航天器的模態位移向量,柔性振動的阻尼比和頻率矩陣;
    • B t r a n = A ? B t r a n b \boldsymbol{B}_{tran}=A\cdot \boldsymbol{B}_{tran}^b Btran?=A?Btranb? 為柔性附件在航天器坐標系中相對于航天器本體的平動耦合系數矩陣, A \boldsymbol{A} A為柔性附件坐標系到衛星坐標系的轉移矩陣, B t r a n b \boldsymbol{B}_{tran}^b Btranb? 為柔性附件在自身坐標系中相對于航天器本體的平動耦合系數矩陣;
    • B r o t = l p × B t r a n + A B r o t b \boldsymbol{B}_{rot} = \boldsymbol{l}_p^\times \boldsymbol{B}_{tran} + \boldsymbol{A}\boldsymbol{B}_{rot}^b Brot?=lp×?Btran?+ABrotb? 為柔性附件在航天器坐標系中相對于坐標原點的轉動耦合矩陣, l p \boldsymbol{l}_p lp? 為由航天器質心指向柔性附件坐標原點的向量, × ^\times × 表示反對稱矩陣, B r o t b \boldsymbol{B}_{rot}^b Brotb? 為柔性附件在自身坐標系中相對于坐標原點的轉動耦合系數。
  • B t r a n \boldsymbol{B}_{tran} Btran? B r o t \boldsymbol{B}_{rot} Brot? 的表達式如式(4)和式(5)所示
    B t r a n = [ B t r a n 1 B t r a n 2 ? B t r a n i ? B t r a n m ] T B r o t = [ B r o t 1 B r o t 2 ? B r o t i ? B r o t m ] \begin{align} \boldsymbol{B}_{tran} &= \begin{bmatrix} \boldsymbol{B}_{tran}^1 & \boldsymbol{B}_{tran}^2 & \cdots & \boldsymbol{B}_{tran}^i & \cdots & \boldsymbol{B}_{tran}^m \end{bmatrix}^T \\ \boldsymbol{B}_{rot} &= \begin{bmatrix} \boldsymbol{B}_{rot}^1 & \boldsymbol{B}_{rot}^2 & \cdots & \boldsymbol{B}_{rot}^i & \cdots & \boldsymbol{B}_{rot}^m \end{bmatrix} \end{align} Btran?Brot??=[Btran1??Btran2????Btrani????Btranm??]T=[Brot1??Brot2????Broti????Brotm??]??
    其中, m m m 為模態截斷階數;每個元素 B t r a n / r o t i \boldsymbol{B}_{tran/rot}^i Btran/roti? 3 × 1 3\times1 3×1 的向量。

  • B t r a n i \boldsymbol{B}_{tran}^i Btrani? B r o t i \boldsymbol{B}_{rot}^i Broti? 的表達式如式(6)和式(7)所示
    B t r a n i = ∑ k = 1 n m k Φ k i = ∑ k = 1 n m k [ u k x i u k y i u k z i ] B r o t i = ∑ k = 1 m m k r k × Φ k i = ∑ k = 1 n m k [ 0 ? r k z r k y r k z 0 ? r k ? r k y r k x 0 ] [ u k x i u k y i u k z i ] \begin{align} \boldsymbol{B}_{tran}^i &= \sum_{k=1}^nm_k\boldsymbol{\varPhi}_k^i = \sum_{k=1} ^n m_k\begin{bmatrix} u_{kx}^i \\ u_{ky}^i \\ u_{kz}^i\end{bmatrix} \\ \boldsymbol{B}_{rot}^i &= \sum_{k=1}^m m_k \boldsymbol{r}_k^\times\boldsymbol{\varPhi}_k^i = \sum_{k=1}^n m_k \begin{bmatrix} 0 & -r_{kz} & r_{ky} \\ r_{kz} & 0 & -r_k \\ -r_{ky} & r_{kx} & 0 \end{bmatrix} \begin{bmatrix} u_{kx}^i \\ u_{ky}^i \\ u_{kz}^i \end{bmatrix} \end{align} Btrani?Broti??=k=1n?mk?Φki?=k=1n?mk? ?ukxi?ukyi?ukzi?? ?=k=1m?mk?rk×?Φki?=k=1n?mk? ?0rkz??rky???rkz?0rkx??rky??rk?0? ? ?ukxi?ukyi?ukzi?? ???
    其中, n n n 為柔性結構離散后單元總數, m k m_k mk? 為第 k k k 個單元的質量, u k u_k uk? 為第 k k k 個單元質心的位移, r k r_k rk? 為第 k k k 個單元質心的位置。上述參量中,單元的質量和質心位置可直接從有限元模型中讀取;單元的質心處位移需要在每階模態的振型結果中讀取。

采用 ANSYS 的 APDL 語言的計算方法

  • 程序主要分為四部分

    • 第一部分是建立結構有限元模型進行模態分析,不再贅述。
    • 第二部分是采用 *get 命令提取所有單元的質量、質心坐標。
    • 第三部分是在每階振型下分別計算所有單元的位移,每個單元的位移取為單元所有節點的位移平均值。
    • 第四部分是把所有單元質量、質心坐標和位移代入公式(4)和式(5)計算 B t r a n \boldsymbol{B}_{tran} Btran? B r o t \boldsymbol{B}_{rot} Brot?
  • 參考APDL代碼

    ! ———————————————————— 計算平動耦合系數矩陣和轉動耦合系數矩陣 ———————————————————— !!!!!!!!!!!!!!!!!!!!
    /POST1!——————————! 提取所有單元的質量、質心坐標 !——————————!
    *GET, Num_Element, ELEM, ,COUNT					! 獲取模型中單元總數
    *GET, cnt_element, ELEM, ,NUM,MIN				! 獲取模型中第一個單元的編號
    *DIM, Amat2, ,Num_Element,5						! 定義一個二維矩陣
    *DO, NE, 1,Num_Element,1						! 遍歷所有單元Amat2(NE, 1) = cnt_element					! 第1列存儲當前單元編號*GET, volu_e, ELEM, cnt_element, VOLU		! 獲取當前單元的體積*GET, mat_e, ELEM, cnt_element, ATTR,MAT	! 獲取材料編號dens_e = mat_mp(mat_e,1)					! 密度 !! 注意,如果涉及多種密度,需要自定義一個矩陣,按材料序號順序存放密度信息,比如這里的矩陣mat_mp,其第一列是密度信息。!!Amat2(NE, 2) = volu_e*dens_e				! 第2列存儲當前單元質量! 獲取單元質心位置*GET, cent_x, ELEM, cnt_element,CENT,X*GET, cent_y, ELEM, cnt_element,CENT,Y*GET, cent_z, ELEM, cnt_element,CENT,ZAmat2(NE, 3) = cent_x						! 第3列存儲單元質心X軸位置Amat2(NE, 4) = cent_y						! 第4列存儲單元質心Y軸位置Amat2(NE, 5) = cent_z						! 第5列存儲單元質心Z軸位置*GET, cnt_element, ELEM,cnt_element,NXTH	! 獲取下一個單元編號
    *ENDDO
    *DMAT, TableA, D, ALLOC, Num_Element,5
    *DO, i,1,Num_Element,1*DO,j,1,5,1TableA(i,j) = Amat2(i, j)*ENDDO
    *ENDDO
    *PRINT, TableA,TableA.txt!——————————! 從模態分析每一階結果中提取單元的質心位移 !——————————!
    *DIM, Bmat3, ,Num_Element,4,Num_Modal			! 定義一個三維矩陣  !! Num_Modal為自定義 !!
    *DO, NM, 1,Num_Modal,1							! 遍歷所有模態SET,,,,,,,NM								! 從結果文件中讀取指定編號的數據集*GET, cnt_element, ELEM, ,NUM,MIN			! 獲取模型中第一個單元的編號*DO, NE, 1,Num_Element,1					! 遍歷所有單元Bmat3(NE, 1, NM) = cnt_element			! 第1列存儲當前單元編號! 重置單元位移elem_x = 0elem_y = 0elem_z = 0ESEL,S,,,cnt_element					! 選擇指定單元編號的單元NSLE,S,ALL								! 選擇附屬在單元上的所有節點*GET, Num_Node, NODE,,COUNT				! 獲取節點總數*GET, cnt_node, NODE,,NUM,MIN			! 獲取第一個節點的編號*DO,NN, 1,Num_Node,1					! 遍歷所有節點! 獲取節點的位移*GET, node_x, NODE, cnt_node,U,X*GET, node_y, NODE, cnt_node,U,Y*GET, node_z, NODE, cnt_node,U,Z! 計算該單元中節點位移的總和elem_x = elem_x+node_xelem_y = elem_y+node_yelem_z = elem_z+node_zcnt_node = NDNEXT(cnt_node)			! 獲取下一個節點編號*ENDDOBmat3(NE,2,NM) = elem_x/Num_Node		! 第2列存儲當前單元X軸位移Bmat3(NE,3,NM) = elem_y/Num_Node		! 第3列存儲當前單元Y軸位移Bmat3(NE,4,NM) = elem_z/Num_Node		! 第4列存儲當前單元Z軸位移ESEL,ALL								! 重新選擇所有單元*GET, cnt_element, ELEM,cnt_element,NXTH! 獲取下一個單元編號*ENDDO
    *ENDDO
    *DMAT, TableB1, D, ALLOC, Num_Element,4
    *DMAT, TableB2, D, ALLOC, Num_Element,4
    *DO, i,1,Num_Element,1*DO,j,1,4,1TableB1(i,j) = Bmat3(i,j,1)TableB2(i,j) = Bmat3(i,j,2)*ENDDO
    *ENDDO
    *PRINT, TableB1,TableB.txt
    *PRINT, TableB2,TableB.txt!——————————! 計算平動與轉動耦合系數矩陣 !——————————!
    *DMAT, Btran, D, ALLOC, 3,Num_Modal				! 定義平動耦合系數矩陣
    *DMAT, Brot, D, ALLOC, 3,Num_Modal				! 定義轉動耦合系數矩陣
    !*DIM, Btran, ,3,Num_Modal
    !*DIM, Brot, ,3,Num_Modal
    *DO, NM,1,Num_Modal,1							! 遍歷模態! 重置平動標量tran_x = 0tran_y = 0tran_z = 0! 重置轉動標量rot_x = 0rot_y = 0rot_z = 0*DO,NE,1,Num_Element,1						! 遍歷單元! 平動tran_x = tran_x+Amat2(NE,2)*Bmat3(NE,2,NM)tran_y = tran_y+Amat2(NE,2)*Bmat3(NE,3,NM)tran_z = tran_z+Amat2(NE,2)*Bmat3(NE,4,NM)! 臨時變量tmp_x = Amat2(NE,4)*Bmat3(NE,4,NM)-Amat2(NE,5)*Bmat3(NE,3,NM)tmp_y = Amat2(NE,5)*Bmat3(NE,2,NM)-Amat2(NE,3)*Bmat3(NE,4,NM)tmp_z = Amat2(NE,3)*Bmat3(NE,3,NM)-Amat2(NE,4)*Bmat3(NE,2,NM)! 轉動rot_x = rot_x+Amat2(NE,2)*tmp_xrot_y = rot_y+Amat2(NE,2)*tmp_yrot_z = rot_z+Amat2(NE,2)*tmp_z*ENDDOBtran(1,NM) = tran_xBtran(2,NM) = tran_yBtran(3,NM) = tran_zBrot(1,NM) = rot_xBrot(2,NM) = rot_yBrot(3,NM) = rot_z
    *ENDDO!——————————! 輸出平動與轉動耦合系數矩陣 !——————————!
    *PRINT, Btran, Btran.txt
    *PRINT,Brot,Brot.txtFINISH

系統轉動慣量的求解方法

  • 采用apdl命令

    !——————————! 續:求總質量及質心坐標 !——————————! 
    !   
    mass_total = 0  
    sum_mx = 0  
    sum_my = 0  
    sum_mz = 0  
    *DO, i, 1, Num_Element, 1  mass_total = mass_total + Amat2(i, 2)           ! 累加總質量  sum_mx = sum_mx + Amat2(i, 2)*Amat2(i, 3)    ! 累加 X 坐標的加權值  sum_my = sum_my + Amat2(i, 2)*Amat2(i, 4)    ! 累加 Y 坐標的加權值  sum_mz = sum_mz + Amat2(i, 2)*Amat2(i, 5)    ! 累加 Z 坐標的加權值  
    *ENDDO  
    ! 計算質心坐標  
    centriod_x = sum_mx/mass_total  ! 計算質心 X 坐標  
    centriod_y = sum_my/mass_total  ! 計算質心 Y 坐標  
    centriod_z = sum_mz/mass_total  ! 計算質心 Z 坐標
    ! 輸出
    *DMAT, MassCentriod, D, ALLOC, 1,4
    MassCentriod(1,1) = mass_total
    MassCentriod(1,2) = centriod_x
    MassCentriod(1,3) = centriod_y
    MassCentriod(1,4) = centriod_z
    *PRINT, MassCentriod, MassCentriod.txt
    !——————————! 續:求整個模型所有單元的總轉動慣量 !——————————! 
    ! 相對原點
    Io_xx = 0 $ Io_yy = 0 $ Io_zz = 0
    Io_xy = 0 $ Io_xz = 0 $ Io_yz = 0
    *DO, i, 1, Num_Element, 1  mass_e = Amat2(i, 2)cent_x = Amat2(i, 3)cent_y = Amat2(i, 4)cent_z = Amat2(i, 5)Io_xx = Io_xx + mass_e*(cent_y*cent_y+cent_z*cent_z)Io_yy = Io_yy + mass_e*(cent_x*cent_x+cent_z*cent_z)Io_zz = Io_zz + mass_e*(cent_x*cent_x+cent_y*cent_y)Io_xy = Io_xy + mass_e*(cent_x*cent_y)Io_xz = Io_xz + mass_e*(cent_x*cent_z)Io_yz = Io_yz + mass_e*(cent_y*cent_z)
    *ENDDO  
    ! 相對質心
    Ic_xx = 0 $ Ic_yy = 0 $ Ic_zz = 0
    Ic_xy = 0 $ Ic_xz = 0 $ Ic_yz = 0
    *DO, i, 1, Num_Element, 1  mass_e = Amat2(i, 2)cent_x = Amat2(i, 3) - centriod_xcent_y = Amat2(i, 4) - centriod_ycent_z = Amat2(i, 5) - centriod_zIc_xx = Ic_xx + mass_e*(cent_y*cent_y+cent_z*cent_z)Ic_yy = Ic_yy + mass_e*(cent_x*cent_x+cent_z*cent_z)Ic_zz = Ic_zz + mass_e*(cent_x*cent_x+cent_y*cent_y)Ic_xy = Ic_xy + mass_e*(cent_x*cent_y)Ic_xz = Ic_xz + mass_e*(cent_x*cent_z)Ic_yz = Ic_yz + mass_e*(cent_y*cent_z)
    *ENDDO  
    ! 輸出
    *DMAT, Io, D, ALLOC, 3,3
    Io(1,1)=Io_xx $ Io(1,2)=-Io_xy $ Io(1,3)=-Io_xz
    Io(2,1)=-Io_xy $ Io(2,2)=Io_yy $ Io(2,3)=-Io_yz
    Io(3,1)=-Io_xz $ Io(3,2)=-Io_yz $ Io(3,3)=Io_zz
    *PRINT, Io, Io.txt
    *DMAT, Ic, D, ALLOC, 3,3
    Ic(1,1)=Ic_xx $ Ic(1,2)=-Ic_xy $ Ic(1,3)=-Ic_xz
    Ic(2,1)=-Ic_xy $ Ic(2,2)=Ic_yy $ Ic(2,3)=-Ic_yz
    Ic(3,1)=-Ic_xz $ Ic(3,2)=-Ic_yz $ Ic(3,3)=Ic_zz
    *PRINT, Ic, Ic.txt
    

參考文獻


[^1]: 衛曉娜,董云峰.基于ANSYS的平動和轉動耦合系數矩陣計算[C]//北京力學會,北京振動工程學會.北京力學會第21屆學術年會暨北京振動工程學會第22屆學術年會論文集.北京航空航天大學宇航學院;,2015:758-760.
[^2]: 郭江.衛星撓性附件平動轉動耦合系數的有限元分析[D].南京理工大學,2019.DOI:10.27241/d.cnki.gnjgu.2019.002186.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/80277.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/80277.shtml
英文地址,請注明出處:http://en.pswp.cn/web/80277.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

算法題(148):排座椅

審題: 本題需要我們找到最佳的排座椅方案,并輸出行,列方案 思路: 方法一:簡單貪心 由于題目會告訴我們有哪幾對的同學會交頭接耳,所以我們可以記錄下第幾行/第幾列上可以隔開的同學對數,而題目限…

企業級電商數據對接:1688 商品詳情 API 接口開發與優化實踐

在數字化浪潮席卷全球的當下,企業級電商平臺之間的數據對接已成為提升運營效率、增強市場競爭力的關鍵環節。作為國內知名的 B2B 電商平臺,1688 擁有海量商品資源,通過開發和優化商品詳情 API 接口,企業能夠快速獲取商品信息&…

【Cesium入門教程】第七課:Primitive圖元

Cesium豐富的空間數據可視化API分為兩部分:primitive API面向三維圖形開發者,更底層一些。 Entity API是數據驅動更高級一些。 // entity // 調用方便,封裝完美 // 是基于primitive的封裝// primitive // 更接近底層 // 可以繪制高級圖形 /…

Oracle APEX 必須輸入項目標簽型號顯示位置

1. 正常Oracle APEX中必須輸入項目標簽的紅星顯示在標簽文字左側,偏偏項目要求顯示在右側, 加入如下全局CSS代碼 .t-Form-label {display: flex;flex-direction: row-reverse;gap: 1px; }以上。

深入理解 TypeScript 中的 unknown 類型:安全處理未知數據的最佳實踐

在 TypeScript 的類型體系中,unknown 是一個極具特色的類型。它與 any 看似相似,卻在安全性上有著本質差異。本文將從設計理念、核心特性、使用場景及最佳實踐等方面深入剖析 unknown,幫助開發者在處理動態數據時既能保持靈活性,又…

項目QT+ffmpeg+rtsp(二)——海康威視相機測試

文章目錄 前言一、驗證RTSP地址的有效性1.1 使用VLC播放器驗證1.2 使用FFmpeg命令行驗證1.3 使用Python代碼檢查網絡連接1.4 檢查攝像頭Web界面1.5 使用RTSP客戶端工具二、關于IPV4的地址2.1 原來2.1.1 原因2.2 解決2.3 顯示前言 昨晚拿到一個海康威視的相機,是連接上了交換機…

Java-Collections類高效應用的全面指南

Java-Collections類高效應用的全面指南 前言一、Collections 類概述二、Collections 類的基礎方法2.1 排序操作2.1.1 sort方法2.1.2 reverse方法2.1.3 shuffle方法 2.2 查找與替換操作2.2.1 binarySearch方法2.2.2 max和min方法2.2.3 replaceAll方法 三、Collections 類的高級應…

中國30米年度土地覆蓋數據集及其動態變化(1985-2022年)

中文名稱 中國30米年度土地覆蓋數據集及其動態變化(1985-2022年) 英文名稱:The 30 m annual land cover datasets and its dynamics in China from 1985 to 2022 CSTR:11738.11.NCDC.ZENODO.DB3943.2023 DOI 10.5281/zenodo.8176941 數據共享方式&#xff1a…

Python高版本降低低版本導致python導包異常的問題

當Python從高版本降級到低版本后出現導包異常,通常是由于以下原因導致的:高版本中安裝的包與低版本不兼容、包路徑或依賴沖突、虛擬環境未正確配置等。以下是具體的解決方案和步驟: 1. 確認問題原因 檢查Python版本:確保當前使用…

AGI大模型(20):混合檢索之rank_bm25庫來實現詞法搜索

1 混合檢索簡介 混合搜索結合了兩種檢索信息的方法 詞法搜索 (BM25) :這種傳統方法根據精確的關鍵字匹配來檢索文檔。例如,如果您搜索“cat on the mat”,它將找到包含這些確切單詞的文檔。 基于嵌入的搜索(密集檢索) :這種較新的方法通過比較文檔的語義來檢索文檔。查…

掌握 Kotlin Android 單元測試:MockK 框架深度實踐指南

掌握 Kotlin Android 單元測試:MockK 框架深度實踐指南 在 Android 開發中,單元測試是保障代碼質量的核心手段。但面對復雜的依賴關系和 Kotlin 語言特性,傳統 Mock 框架常顯得力不從心。本文將帶你深入 MockK —— 一款專為 Kotlin 設計的 …

常見平方數和立方數的計算

平方數(n) 數字計算過程結果1010 101001111 111211212 121441313 131691414 141961515 152251616 162561717 172891818 183241919 193612020 20400 立方數(n) 數字計算過程結果1010 10 101,0001111 11 111,33112…

自動化測試實戰 - 博客系統自動化測試

目錄 1. 前言 2. 自動化實施步驟 3. 頁面分析 4. 設計測試用例 5. 搭建自動化環境 6. 編寫自動化代碼 6.1 準備工作 - Utils 6.1.1 允許遠程自動化 & 創建驅動 6.1.2 實現自動化截圖 6.1.3 釋放 WebDriver 6.2 自動化測試登錄頁 - LoginTest 6.2.1 打開登陸頁 …

網絡實驗-VRRP

VRRP協議簡述 VRRP(虛擬路由冗余協議)通過虛擬IP地址(VIP,virtual ip)來實現冗余。在正常情況下,Master路由器會響應VIP的ARP請求,并處理所有發往VIP的流量。Backup路由器則處于待命狀態,只有在Master路由…

計算機發展的歷程

計算機系統的概述 一, 計算機系統的定義 計算機系統的概念 計算機系統 硬件 軟件 硬件的概念 計算機的實體, 如主機, 外設等 計算機系統的物理基礎 決定了計算機系統的天花板瓶頸 軟件的概念 由具有各類特殊功能的程序組成 決定了把硬件的性能發揮到什么程度 軟件的分類…

JavaScript splice() 方法

1. JavaScript splice() 方法 1.1. 定義和用法 splice() 方法用于添加或刪除數組中的元素。 ??注意:這種方法會改變原始數組。 ??返回值:如果刪除一個元素,則返回一個元素的數組。 如果未刪除任何元素,則返回空數組。 1.2. …

磁盤I/O子系統

一、數據寫入磁盤流程 當執行向磁盤寫入數據操作的時候,會發生如下的一系列基本操作。假設文件數據存在于磁盤扇區上,并且已經被讀入到頁緩存中。 進程使用write()系統調用寫入文件。內核更新映射到文件的page cache。內核線程pdflush負責把頁緩存刷入…

單調棧和單調隊列

一、單調棧 1、使用場景 解決元素左 / 右側第一個比他大 / 小的數字。 2、原理解釋 用棧解決,目標是棧頂存儲答案。 以元素左側第一個比他小為例: (1)遍歷順序一定是從左向右。 (2)由于棧頂一定是答…

查看電腦信息的方法-CPU核心數量、線程數量等

1、查看CPU基本信息 step 1: windows下 “winr” 進入CMD step 2: 查看核心數:wmic cpu get NumberofCores 查看線程數:wmic cpu get NumberOfLogicalProcessors 查看CPU名稱:wmic cpu get Name 查看CPU時鐘頻率:wmic cpu get Ma…

令牌桶和漏桶算法使用場景解析

文章目錄 什么時候用令牌桶,什么時候用漏桶算法??先放結論 兩個算法一眼看懂什么時候選令牌桶?什么時候選漏桶?組合用法(90% 的真實系統都會這么干)小結記憶 對令牌桶和漏桶組合用法再次詳細敘述…