SRS解析への考察B 衝撃試験解析手法 by ke-ta.

Slides:



Advertisements
Similar presentations
第 7 週目: 周波数伝達関数とボード線図 周波数伝達関数 ボード線図 TUT, System & Control laboratory 1/16.
Advertisements

IT 入門 B2 ー 連立一次方程式( 2 ) ー. ガウスの消去法の問題点 – 浮動小数点数の特殊な値 – 数学関数 ピボット選択つきガウスの消去法 演習 授 業 内 容 授 業 内 容.
耐震設計手法 静的耐震計算法 動的耐震計算法 地震力を静的な力に置き換えて,構造物の安定を照査する 地震動波形もしくは応答スペクトルを入力して,構造物の応答を 求め,その結果から構造物の安定を照査する 静的耐震計算法 動的耐震計算法 震度法 修正震度法 応答変位法 地震時保有水平耐力法 応答スペクトル法.
オブジェクト指向言語・ オブジェクト指向言語演習 中間試験回答例. Jan. 12, 2005 情報処理技術基礎演習 II 2 オブジェクト指向言語 中間試験解説 1  (1) 円柱の体積(円柱の体積 = 底面の円の面積 x 高さ) を求めるプログラムを作成しなさい。ただし、出力結果は、入 力した底面の円の半径.
データ解析
情報基礎演習B 後半第5回 担当 岩村 TA 谷本君.
定在波型熱音響エンジンにおける 臨界温度比推定のための適応制御系の 安定性に関する実験と理論の比較 長岡技術科学大学
配列(2) 第10回[平成15年6月26日(木)]:PN03-10.ppt 今日の内容 1 素数を求める(教科書の例):復習
6.3 2次元DFT (1)2次元DFTとは 画像のような2次元信号をサンプリングしたデータを 2次元DFTを
GRAPESで学ぶフーリエ級数 GRAPESで学ぶ フーリエ級数 立命館高等学校 早苗雅史.
基礎プログラミング (第五回) 担当者: 伊藤誠 (量子多体物理研究室) 内容: 1. 先週のおさらいと続き (実習)
デジタル信号処理①
ブロック線図によるシミュレーション ブロック線図の作成と編集 ブロック線図の保存と読込み ブロック線図の印刷 グラフの印刷
第二回 連立1次方程式の解法 内容 目標 連立1次方程式の掃出し法 初期基底を求める 連立1次方程式を掃出し法を用いてExcelで解析する
Mathematica入門 数学を数式処理システムで 上智大学理工学部 大槻東巳 TA: 吉本行気,清水元気 2012年6月.
1.Atwoodの器械による重力加速度測定 2.速度の2乗に比例する抵抗がある場合の終端速度 3.減衰振動、強制振動の電気回路モデル
担当 : 山口 匡 伊藤 祐吾 (TA) 宮内 裕輔 (TA)
反応性流体力学特論  -燃焼流れの力学- 燃焼の流体力学 4/22,13 燃焼の熱力学 5/13.
磁歪式振動発電の 高出力化と発電床への応用
デジタル信号処理④
ガウス誤差関数を利用した 収束の速いヒルベルト変換ディジタルフィルタ
羽佐田葉子 2007年3月24日 アクロス研究会@静岡大学
(ラプラス変換の復習) 教科書には相当する章はない
Astro-E2搭載X線CCD(XIS) BIチップにおける 新しい解析法の構築および応答関数の作成
ー 第3日目 ー ねじれ型振動子のブラウン運動の測定
電気回路学Ⅱ エネルギーインテリジェンスコース 5セメ 山田 博仁.
2.伝送線路の基礎 2.1 分布定数線路 2.1.1 伝送線路と分布定数線路 集中定数回路:fが低い場合に適用
菊地夏紀 荒木幸治、江野高広、桑本剛、平野琢也
計測工学 ブリッジ・フィルタ・ノイズ・AD変換
第7回 フィルタとは.
電気回路学Ⅱ エネルギーインテリジェンスコース 5セメ 山田 博仁.
機械工学実験実習 「オペアンプの基礎と応用」
電気回路学Ⅱ 通信工学コース 5セメ 山田 博仁.
図書館職員のための アプリケーション開発講習会
分布定数回路(伝送線路)とは 電圧(電界)、電流(磁界)は回路内の位置に依存 立体回路 TE, TM波
統計的震源モデルと 半無限平行成層グリーン関数 による高振動数強震動の計算法
横磁化成分と歳差運動 M0 横磁化Mxy 回転座標系 90°RFパルスにより、縦磁化成分Moはxy平面に倒れる(横磁化生成)
フーリエ級数展開 ~矩形波について~ 長江 栞 中島 涼 中村 勇樹
デバッガ dbx の使い方.
6. ラプラス変換.
第10回 FIR回路とIIR回路.
電気回路学Ⅱ 通信工学コース 5セメ 山田 博仁.
第9回関数Ⅰ (簡単な関数の定義と利用) 戻り値.
2016年度 植物バイオサイエンス情報処理演習 第6回 情報処理(4) データを加工する・2
ー 第3日目 ー ねじれ型振動子のブラウン運動の測定
変換されても変換されない頑固ベクトル どうしたら頑固になれるか 頑固なベクトルは何に使える?
材質感提示のための振動を用いた力覚インタラクション環境の提案
エレベータの振動解析 (ロープ・かご) 富山大学 大学院理工学研究部(工学) 木村弘之 台北101国際金融センター.
宇宙線ミューオンによる チェレンコフ輻射の検出
音声分析 フーリエ解析の定性的理解のために.
プログラミング 4 探索と計算量.
抗力への振動付加による 高剛性とすべり感提示
正弦波.
統計的震源モデルと 半無限平行成層グリーン関数 による高振動数強震動の計算法
形式言語とオートマトン 中間試験解答例 2016年11月15実施 中島毅.
ファイルの読み込み #!/usr/bin/env perl #Perlスクリプトの指定 open(FILE, "food.txt");
統計ソフトウエアRの基礎.
インピーダンスp型回路⇔T型回路間での変換
多重ベータ混合モデルを用いた調波時間構造の モデル化による音声合成の検討
電気回路学Ⅱ エネルギーインテリジェンスコース 5セメ 山田 博仁.
電気回路学Ⅱ コミュニケーションネットワークコース 5セメ 山田 博仁.
振動体の振幅を一定とする 振動発電機負荷のフィードバック制御系の 安定性解析 長岡技術科学大学 ○ 永井 和貴 稲田 千翔之 小林 泰秀
C:開放,L:短絡として回路方程式を解く
GPS使用マニュアル.
第 5 章 :周波数応答 5.1 周波数応答と伝達関数 周波数伝達関数,ゲイン,位相 キーワード : 5.2 ベクトル軌跡 ベクトル軌跡
物理学実験 II ブラウン運動 ー 第2日目 ー 電気力学結合系の特性評価 物理学実験II (ブラウン運動) 説明資料.
多重関数を用いた調波時間スペクトル形状のモデル化による音声合成 1-P-4
電気回路学Ⅱ 通信工学コース 5セメ 山田 博仁.
プログラミング入門2 第5回 配列 変数宣言、初期化について
プログラミング言語によっては,複素数が使えない。
Presentation transcript:

SRS解析への考察B 衝撃試験解析手法 by ke-ta

SRS解析とは? Shock Response Spectrum (SRS) 訳:衝撃応答スペクトル  ある供試体が受けた衝撃に対するダメージポテンシャルを評価解析する手法の1つ。  試験する供試体が、あらゆる固有振動数をもった物体から構成されていると仮定し、これを数学モデルに置き換え衝撃に対する応答を固有振動数ごとに計算し、その最大値を周波数軸上にプロットしたもの。

SRSの概念 SRSは、データを数学モデルに当てはめる 入力 出力 m k c 各固有振動数ごとに最大加速度応答が得られる。 G 入力 出力 Aデータ t m k c Aデータ G G Bデータ Bデータ t Cデータ f G Cデータ 各固有振動数ごとに最大加速度応答が得られる。 t 等価比較が可能となる。 数学モデル上でのピーク等が分かる。 そこで、ある数学モデルを仮定する。この数学モデルに同等の衝撃を印加する(計算上)。 別々の試験にて取得されたデータA,B,C (供試体に加えられた衝撃結果) このままでは、比較も出来無いし、どういった結果を意味しているのかよくわからない。 供試体のダメージ評価ができる

FFTとの違い? FFTは周波数の成分分解 SRSは数学モデルを仮定した周波数解析 入力 FFT 出力 入力 SRS 出力 入力した波形にて、数学モデル上に衝撃を印加し、最大応答を見る。不可逆計算となる。 入力 SRS 出力 t f

数学モデル バネ・マス・ダンパモデル 運動方程式 m x k c 固有角振動数 u 衝撃印加 減衰比 Qは、ユーザが規定するパラメータ H2Aユーザマニュアル等では、 Q=10となっている。

計算の流れ 1.Qを任意に決定する 2.解析したい数学モデルのωnを決定する 3.衝撃データを入力する 4.各時間ごとの加速度応答を求める 5.加速度応答の絶対最大値を求める この点(絶対最大値)が、ωn=100時の加速度応答となる 入力 Q=10 出力 ωn=100 t t 周波数グラフを作るには、各ωnについて繰り返し解いていく。

計算例1 422K Half Sin波の750GをSRSにかけたもの

計算例2 とある試験との比較 スペックアウトしているような…?(^^;

どの衝撃が厳しいのか?1/2 Half Sin波 どの衝撃が厳しいのか?→SRS解析 80G/3ms 50G/11ms 50G/6ms

どちらの衝撃が厳しいのか?2/2 Half Sin波 100Hz以上であれば、80G/3msの方が厳しい条件となる

ソースコード perl #!/usr/bin/perl # 以下は変更する必要なし # SRSの算出 # csv2srs (version $Id: eodv,v 1.4 2007/05/22 02:22:33 fukuda Exp $) # #----------------------------------------------------------------------------- # Usage: # example: # 特に無し # options: # > csv2srs.pl hogehoge.csv # csv2srs.pl hogehoge.csv #(1) my $tt,$bs,$bb,$ymax; my @dt, @dg, @alpa, @beta, @A, @B, @C, @D, @yy; # Libraries $delt = 1.00E-06; # でるtt $g = 9.80665; # [m/s2] $PI = 3.1415926; $Q = 10; $fmax = 10000; # [Hz] $fbgn = 1; # [Hz] $zi = 1/(2*$Q); $wn = 0.0; $m = 1; $k = 0; $cnt = 0; $df = 0; # Δ[Hz] $i = 0; $aa = 0; $oct = 100; $c = 1; &show_usage(); if ($opt eq "-h") { ($opt) = @ARGV; # Code begin # オプションがない場合 } exit; if ($#ARGV == -1){ # オプションが1つある場合 if ($#ARGV == 0){ print "Error:ファイル名を指定してください\n"; close(IN); @line = <IN>; # 対象ファイルのオープン open(IN,"<$ARGV[0]") || die "Error: can't open $ARGV[0]\n"; # SRS算出 if ($cnt == -1){$cnt++; next;} # 時間[sec]/加速度取得[m/s2] # ヘッダ情報を飛ばす foreach (@line){ $cnt = -1; # インクリメント処理 $dg[$cnt+1] = (split(/\,/,$_))[1]; $dt[$cnt+1] = (split(/\,/,$_))[0]; $cnt++; print $disp; $disp = sprintf("f[Hz],G[g],Q=%f\n",$Q); # ヘッダ出力 # 計算 $wn = 2*$PI*(10**($j*$aa)); { for($j=$fbgn;$j<=$oct;$j++) $aa = &log10(($fmax))/$oct; $disp = sprintf("%f,%e\n",$wn/(2*$PI),$ymax); # 結果出力 $ymax = &cal_acc(); $C[0] = $D[0] = $ymax = 0; # 初期化 sub cal_acc() for($i=1;$i<$cnt;$i++) #print $disp; #$disp = sprintf("#,time,応答G,αn,βn,Cn,Dn,Cn-1,Dn-1,a'(tn),b'(tn),c'(tn),d'(tn),An,Bn,An-1,Bn-1,Mn(tn),Mn-1(tn)\n"); # ヘッダ-debug # α,β計算・例外 #$A[$i] = $B[$i] = $C[$i] = 0; # 加速度計算 $beta[$i] = (($dg[$i]*$dt[$i+1] - $dg[$i+1]*$dt[$i])/($delt))*$g; $alpa[$i] = (($dg[$i+1] - $dg[$i])/($delt))*$g; # 一般解計算 $D[$i] = -$beta[$i]/($wn*$wn) + 2*$zi*$alpa[$i]/($wn*$wn*$wn); $C[$i] = -$alpa[$i]/($wn*$wn); # 特解計算 $bb = &fa($tt)*&fd($tt)-&fb($tt)*&fc($tt); $tt = $dt[$i]; $bs = &fd($tt)*(&fM($i-1,$tt)-&fM($i,$tt))-&fb($tt)*($C[$i-1] - $C[$i]); # yy出力 $B[$i] = $bs/$bb/exp(-$zi*$wn*$tt) + $B[$i-1]; $bs = -&fc($tt)*(&fM($i-1,$tt)-&fM($i,$tt))+&fa($tt)*($C[$i-1] - $C[$i]); $A[$i] = $bs/$bb/exp(-$zi*$wn*$tt) + $A[$i-1]; #$yy[$i] = &fM($tt) + $A[$i]*&fa($tt) + $B[$i]*&fb($tt); if(abs($yy[$i]) > $ymax){$ymax = abs($yy[$i]);} # ymaxの算出 $yy[$i] = -(&fM($i,$tt)+($A[$i]*&fa($tt) + $B[$i]*&fb($tt))*exp(-$zi*$wn*$tt))*$wn*$wn/$g; #$disp = sprintf("%d,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e,%e\n",$i,$dt[$i],$yy[$i],$alpa[$i],$beta[$i],$C[$i],$D[$i],$C[$i-1],$D[$i-1],&fa($tt),&fb($tt),&fc($tt),&fd($tt),$A[$i],$B[$i],$A[$i-1],$B[$i-1],&fM($i,$tt),&fM($i-1,$tt)); # 出力-debug return $ymax; if ($#ARGV == 1){ # オプションが2つある場合 # Sub code begin sub fa() return $C[$_[0]]*$_[1] + $D[$_[0]]; sub fM() #return exp(-$zi*$wn*$_[0])*cos(sqrt(1-$zi*$zi)*$wn*$_[0]); return cos(sqrt(1-$zi*$zi)*$wn*$_[0]); }else{ return 1; if($_[0] == 0){ #return exp(-$zi*$wn*$_[0])*sin(sqrt(1-$zi*$zi)*$wn*$_[0]); return 0; sub fb() return sin(sqrt(1-$zi*$zi)*$wn*$_[0]); sub fd() return $wn*(-$zi*cos(sqrt(1-$zi*$zi)*$wn*$_[0])-sqrt(1-$zi*$zi)*sin(sqrt(1-$zi*$zi)*$wn*$_[0])); #return $wn*exp(-$zi*$wn*$_[0])*(-$zi*cos(sqrt(1-$zi*$zi)*$wn*$_[0])-sqrt(1-$zi*$zi)*sin(sqrt(1-$zi*$zi)*$wn*$_[0])); sub fc() return log($n)/log(10); my $n = shift; sub log10 { #return $wn*exp(-$zi*$wn*$_[0])*(-$zi*sin(sqrt(1-$zi*$zi)*$wn*$_[0])+sqrt(1-$zi*$zi)*cos(sqrt(1-$zi*$zi)*$wn*$_[0])); return $wn*(-$zi*sin(sqrt(1-$zi*$zi)*$wn*$_[0])+sqrt(1-$zi*$zi)*cos(sqrt(1-$zi*$zi)*$wn*$_[0])); print "Usage:\n"; print "> eodv [-h]\n"; print "EoDV(放電末期電圧)を抽出・可視化する\n"; print "\n"; sub show_usage() print " -make : Level-2を更新する\n"; print " -h : 利用方法を提示する\n"; print "options:\n"; print "eodv -h #(1) HELP\n"; print "example:\n";

計算反省点 Excelにてcsv保存すると表示されている有効数字に短縮される 参考PDFと参考Excelの計算式が異なる。ただし、解いているものは一緒 Expを掛け算にしていた(式ミス)。 割と計算の有効桁数がシビアに効いてくるため、定数の桁にも注意が必要 Perlには、常用対数log10がない 底変換の式にて代用