1. 程式人生 > >有限元方法入門:有限元方法簡單的一維算例

有限元方法入門:有限元方法簡單的一維算例

有限元方法簡單的一維算例

算例描述

我們對下述邊值問題\label{eq1}

{ u
( x ) + u ( x )
= ( 1 π 2 ) sin π
x 0 x 1 u ( 0 ) = u ( 1 ) = 0
考慮其變分問題,對其變分問題有限元離散並求解,並驗證其收斂階。
注:問題的真解為 u ( x ) = sin π x

變分問題

v H 0 1 ,乘([eq1])式兩邊,使用格林公式,利用邊界條件,易得\label{eq2}:

0 1 u v + u v d x = 0 1 f v d x 其中 f 為方程中的右端項。令\label{eq3}

a ( u , v ) = 0 1 u v + u v d x f ( v ) = 0 1 f v

容易證明,原問題([eq1])等價於變分問題: \label{eq4}

{ u H 0 1 ,使得 a ( u , v ) = f ( v ) v H 0 1
事實上,在一定連續性的要求下,強解為弱解,弱解也是強解,二者等價。故求解問題([eq1])變為了求解問題([eq4])。更一般的變分問題,描述為:\label{eq5}
{ u V , s . t . a ( u , v ) = f ( v ) v V

有限元離散

問題轉化

我們來考慮上述變分問題的有限維逼近,即構造 V 的有限維子空間 V h V ,考慮如下的離散問題:\label{eq6}

{ u h V h , s . t . a ( u h , v h ) = f ( v h ) v h V h

我們用問題([eq6])近似問題([eq5]),後者的解逼近前者的解。所以我們可以通過求([eq6])的解作為近似解。
V h 空間中的一組基為 { ϕ i } i = 1 N ,若 u h = Σ u i ϕ i (為了書寫方便,不加說明,求和指標都為1到N),我們需要求的是組合係數 u i ,將 u h = Σ u i ϕ i 代入,並依次分別取 v h 為每個基函式,我們可以得到: \label{eq7}

相關推薦

有限元方法入門有限元方法簡單

有限元方法簡單的一維算例 算例描述 我們對下述邊值問題\label{eq1} {u′′(x)+u(x)=(1−π2)sinπxu(0)=u(1)=00≤x≤1 {

有限元方法入門有限元方法簡單的二(三角形剖分)

有限元方法簡單的二維算例(三角形剖分) 算例描述 我們對下述橢圓邊值問題 \label{eq1} {−Δu=fu|∂Ω=0 {

有限元方法入門有限元方法簡單的二(矩形剖分)

#有限元方法簡單的二維算例(矩形剖分) 算例描述 我們對下述橢圓邊值問題 \label{eq1} {

模板方法模式 + 觀察者模式 + 簡單工廠模式 + 單模式實現一個簡單的數據表讀寫

private 數據庫鏈 obs imp 通知 model 數據表 ring pri 實現功能: 對數據表的讀要緩存起來,對數據表的寫需要清除緩存. 數據表根據屬性字段來決定是否緩存 可以更換數據庫鏈接方式,比如可以隨時更換為mysql或mysqli() 當插入數據時給出一

爬蟲簡單入門第一個簡單爬蟲

import requests # socket-->http-->requests response=requests.get('https://tieba.baidu.com/f?kw=%E6%B5%81%E6%B5%AA%E6%B1%89') print(response.text)

WatchKit入門建立一個簡單的猜數遊戲

轉自:http://www.cocoachina.com/ios/20150202/11087.html 本文由cocoaChina譯者小組成員@TurtleFromMars 翻譯自Appcoda,原作者:julian engel,編者注:再過幾個月Apple Wa

Linux 環境下 Java jdk 安裝方法方法為 jdk.bin型別的jdk檔案

1、將jdk檔案放到一個目錄下  例如:jdk.bin   例如  /usr/java  放到了這個這個目錄下 2、然後利用命令檢視目錄下是否有此檔案 # cd /usr/java # ls 如果顯示檔案  jdk.bin 3、解壓jdk.bin檔案 # chmod 755 jdk.bin # ./jdk.b

℃江讓您從精通到入門Android Studio 簡單實現ViewPager,可做APP操作提示

前期準備,如下圖: 第一步、先書寫佈局檔案:activity_main.xml檔案如下: <?xml version="1.0" encoding="utf-8"?> <Re

Python入門模擬登入()urllib

我們很多時候需要用python寫測試web的指令碼,但現在很多網站都需要登入才能進行下一步操作的,所以python模擬登入在我們的日常操作中很重要,下來我給大家簡單介紹一下python是怎樣實現web登

java基礎(五)for迴圈和陣列

import java.util.Random; import java.util.Scanner; class DouDiZhu  {public static void main(String[] args) {//1. 生成54張牌 -- 不需要引數,返回值String[]String[] pic =

Java技術_每天掌握種設計模式(003)_使用場景及簡單例項(建立型工廠方法

1.模式描述 提供一個用於建立物件的介面(工廠介面),讓其實現類(工廠實現類)決定例項化哪一個類(產品類),並且由該實現類建立對應類的例項。 2.模式作用 可以一定程度上解耦,消費者和

Golang從入門到精通(十Golang方法

方法 在 Go 語言中有一個概念和函式極其相似,叫做方法 。Go 語言的方法其實是作用在接收者(receiver)上的一個函式,接收者是某種非內建型別的變數。因此方法是一種特殊型別的函式。 接收者型別可以是(幾乎)任何型別,不僅僅是結構體型別:任何型別都可以

Python入門os部分方法介紹(

>>> help(os) Help on module os: NAME os - OS routines for Mac, NT, or Posix depending on what system we’re on.

)Python入門-6面向對象編程04__del__方法(析構函數)和垃圾回收機制-__call__方法和可調用對象

int 例如 垃圾回收 編程 nth object () 語句 計數 一:__del__方法(析構函數)和垃圾回收機制   __del__方法稱為“析構方法”,用於實現對象被銷毀時所需的操作。比如:釋放對象 占用的資源,例如:打開的文件資源、網絡連

)Python入門-6面向對象編程05方法沒有重載-方法的動態性

說明 miss 報錯 建議 pytho 動態性 控制 {0} 可變參數 一:方法沒有重載   在其他語言中,可以定義多個重名的方法,只要保證方法簽名唯一即可。方法簽名包含 3 個部分:方法名、參數數量、參數類型。   Python中,方法的的參數沒有聲明類型(調用時確定

、查看Linux內核版本命令(兩種方法

use proc color tex 2.6 distrib oot lin hat 一、查看Linux內核版本命令(兩種方法):1、cat /proc/version[[email protected]CentOS home]# cat /proc/versio

潭州課堂25班Ph201805201 第十課 繼承,多繼承和魔術方法,屬性和方法 (課堂筆記)

筆記 父類 當前 TE -s __del__ color true ont 繼承: class p : cls_name = ‘p‘ def __init__(self): print(‘正在實例化‘) def __del__(se

頭像上傳 方法from表單 方法ajax

AD AS error 移動 tar 屬性 win 類型 pos 方法一:from表單 html 設置form表單,內包含頭像預覽div,內包含上傳文件input 設置iframe用來調用函數傳參路徑 <!--表單提交成功後不跳轉處理頁面,而是將處理

angularJS入門小Demo【簡單測試js程式碼的方法

1、首先建立一個資料夾 demo, 2、在其中建立一個文字文件,改名為 demo-1.html, 3、把html中要引入的 js 檔案拷貝到 demo目錄下, 4、然後用 Notepadd++ 編輯剛才建立的檔案 demo-1.html <html> <head>

方法實現用python實現一個簡單的單詞本,添加/查找/刪除單詞。

end code div keys style 成功 move print utf 1.實現一個簡單的單詞本,功能: ①添加單詞,當所添加的單詞已存在時,讓用戶知道 ②查找單詞,當查找的單詞不存在時,讓用戶知道 ③刪除單詞,當刪除的單詞不存在時,讓用戶知道 以上