亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? grid2d.h

?? crack modeling with xfem
?? H
字號(hào):
/* 2008 (c) Dorival M. Pedroso */#ifndef MPM_GRID2D_H#define MPM_GRID2D_H// Local#include "defs.h"class Grid2D{public:	/* Constructor. */	Grid2D (double xMin, double yMin, size_t nRow, size_t nCol, double Lx, double Ly, ptIsFixed pIsFixed);	// Methods	size_t nNodes        () const { return _n.Size(); }   ///< Return the number of nodes = nRow*nCol	size_t nCells        () const { return _c.Size(); }   ///< Return the number of cells = (nRow-1)*(nCol-1)	bool   IsInside      (Vector3D const & P);            ///< Check if a given point (P) is inside the grid	void   ClearState    ();                              ///< Reset all state values in the grid, such as mass, velocity, momentum, etc.	void   SetFixed      (size_t i, FixType Type);        ///< Set fixed node # i	void   SetLoading    (size_t i, Vector3D const & Fe); ///< Set external force (loading) on node # i	void   FixNodesVel   ();                              ///< Fix nodes by clearing v (velocities)	void   FixNodesDqDt  ();                              ///< Fix nodes by clearing dqdt (momenta rate)	void   ApplyLoadings (double M);                      ///< Apply loading using data on loaded nodes and scaling by the multiplier M	void   Refine        ();                              ///< Refine the grid (bi-section)	// Access methods	double                  xMin ()             const { return _xmin;          } ///< Returns Min x	double                  yMin ()             const { return _ymin;          } ///< Returns Min y	double                  xMax ()             const { return _xmax;          } ///< Returns Max x	double                  yMax ()             const { return _ymax;          } ///< Returns Max y	size_t                  nRow ()             const { return _nrow;          } ///< Returns Num of rows	size_t                  nCol ()             const { return _ncol;          } ///< Returns Num of columns	double                  L    (size_t iComp) const { return _L(iComp);      } ///< Returns Cell-length 0=>x, 1=>y	Vector3D const &        L    ()             const { return _L;             } ///< Returns Cell-length 0=>x, 1=>y	Array<Vector3D> const & N    ()             const { return _n;             } ///< Access all nodes (coordinates)	Vector3D const &        N    (size_t i)     const { return _n[i];          } ///< Returns access to a node position (read)	Connec2D const &        C    (size_t i)     const { return _c[i];          } ///< Returns access to a connectivity (read)	size_t                  nFix ()             const { return _fixed.Size();  } ///< Returns the number of fixed nodes	Vector3D const &        FixN (size_t i)     const { return _n[_fixed[i]];  } ///< Access a fixed node (coordinates)	FixType                 FixT (size_t i)     const { return _fixtype[i];    } ///< Access the type of a fixed node	size_t                  nLd  ()             const { return _loaded.Size(); } ///< Returns the number of loaded nodes	Vector3D const &        LdN  (size_t i)     const { return _n[_loaded[i]]; } ///< Access a loaded node (coordinates)	Vector3D const &        Ld   (size_t i)     const { return _loads[i];      } ///< Access a loading	// Set methods	double   & m    (size_t i) { return _m   [i]; } ///< Nodes masses	Vector3D & q    (size_t i) { return _q   [i]; } ///< Nodes momenta (x,y comps)	Vector3D & v    (size_t i) { return _v   [i]; } ///< Nodes velocities (x,y comps)	Vector3D & fe   (size_t i) { return _fe  [i]; } ///< Nodes external forces (x,y comps)	Vector3D & fi   (size_t i) { return _fi  [i]; } ///< Nodes internal forces (x,y comps)	Vector3D & dqdt (size_t i) { return _dqdt[i]; } ///< Rate of nodes momenta (x,y comps)	// Get methods	double   const & m    (size_t i) const { return _m   [i]; } ///< Nodes masses	Vector3D const & q    (size_t i) const { return _q   [i]; } ///< Nodes momenta (x,y comps)	Vector3D const & v    (size_t i) const { return _v   [i]; } ///< Nodes velocities (x,y comps)	Vector3D const & fe   (size_t i) const { return _fe  [i]; } ///< Nodes external forces (x,y comps)	Vector3D const & fi   (size_t i) const { return _fi  [i]; } ///< Nodes internal forces (x,y comps)	Vector3D const & dqdt (size_t i) const { return _dqdt[i]; } ///< Rate of nodes momenta (x,y comps)private:	// Input	double     _xmin;    ///< Min x	double     _ymin;    ///< Min y	size_t     _nrow;    ///< Num of rows	size_t     _ncol;    ///< Num of columns	Vector3D  _L;        ///< Cell-length 0=>x, 1=>y	ptIsFixed _is_fixed; ///< Point to function which detects if a node is fixed	// Geometry	double          _xmax; ///< Max x	double          _ymax; ///< Max y	Array<Vector3D> _n;    ///< Nodes (x,y coords) (size=nRow*nCol)	Array<Connec2D> _c;    ///< Connectivities (size=(nRow-1)*(nCol-1))	// State values	Array<double>   _m;    ///< Nodes masses	Array<Vector3D> _q;    ///< Nodes momenta (x,y comps)	Array<Vector3D> _v;    ///< Nodes velocities (x,y comps)	Array<Vector3D> _fe;   ///< Nodes external forces (x,y comps)	Array<Vector3D> _fi;   ///< Nodes internal forces (x,y comps)	Array<Vector3D> _dqdt; ///< Rate of nodes momenta (x,y comps)	// Fixed nodes	Array<size_t>  _fixed;   ///< Indexes of the fixed nodes	Array<FixType> _fixtype; ///< Type of the fixing	// Loaded nodes	Array<size_t>   _loaded; ///< Indexes of the loaded nodes	Array<Vector3D> _loads;  ///< Loading values (applied/external forces)	// Private methods	void _refine(); ///< Initialize/refine the grid}; // class Grid2D/////////////////////////////////////////////////////////////////////////////////////////// Implementation //////* public */inline Grid2D::Grid2D(double xMin, double yMin, size_t nRow, size_t nCol, double Lx, double Ly, ptIsFixed pIsFixed)	: _xmin     (xMin),	  _ymin     (yMin),	  _nrow     (nRow),	  _ncol     (nCol),	  _is_fixed (pIsFixed){	// Save lengths	_L = Lx, Ly, 0.0;	// Do generate grid	_refine ();}inline bool Grid2D::IsInside(Vector3D const & P){	if (P(0)>=_xmin && P(0)<=_xmax && P(1)>=_ymin && P(1)<=_ymax) return true;	else                                                          return false;	}inline void Grid2D::ClearState(){	for (int i=0; i<_n.Size(); ++i)	{		_m   [i] = 0.0; // nodes masses		_q   [i] = 0.0; // nodes momenta		_v   [i] = 0.0; // nodes velocities		_fe  [i] = 0.0; // nodes external forces		_fi  [i] = 0.0; // nodes internal forces		_dqdt[i] = 0.0; // nodes momenta rate	}}inline void Grid2D::SetFixed(size_t i, FixType Type){	long k = _fixed.Find(i);	if (k<0) // not added yet	{		_fixed  .Push(i);		_fixtype.Push(Type);	}	else	{		_fixed  [k] = i;		_fixtype[k] = Type;	}}inline void Grid2D::SetLoading(size_t i, Vector3D const & Fe){	long k = _loaded.Find(i);	if (k<0) // not added yet	{		_loaded.Push(i);		_loads .Push(Fe);	}	else	{		_loaded[k] = i;		_loads [k] = Fe;	}}inline void Grid2D::FixNodesVel(){	for (int i=0; i<_fixed.Size(); ++i)	{		switch (_fixtype[i])		{			case FIX_X   : { _v[_fixed[i]](0)=0.0;                                             break; }			case FIX_Y   : { _v[_fixed[i]](1)=0.0;                                             break; }			case FIX_Z   : { _v[_fixed[i]](2)=0.0;                                             break; }			case FIX_XY  : { _v[_fixed[i]](0)=0.0; _v[_fixed[i]](1)=0.0;                       break; }			case FIX_YZ  : { _v[_fixed[i]](1)=0.0; _v[_fixed[i]](2)=0.0;                       break; }			case FIX_ZX  : { _v[_fixed[i]](2)=0.0; _v[_fixed[i]](0)=0.0;                       break; }			case FIX_XYZ : { _v[_fixed[i]](0)=0.0; _v[_fixed[i]](1)=0.0; _v[_fixed[i]](2)=0.0; break; }		}	}}inline void Grid2D::FixNodesDqDt(){	for (size_t i=0; i<_fixed.Size(); ++i)	{		switch (_fixtype[i])		{			case FIX_X   : { _dqdt[_fixed[i]](0)=0.0;                                                   break; }			case FIX_Y   : { _dqdt[_fixed[i]](1)=0.0;                                                   break; }			case FIX_Z   : { _dqdt[_fixed[i]](2)=0.0;                                                   break; }			case FIX_XY  : { _dqdt[_fixed[i]](0)=0.0; _dqdt[_fixed[i]](1)=0.0;                          break; }			case FIX_YZ  : { _dqdt[_fixed[i]](1)=0.0; _dqdt[_fixed[i]](2)=0.0;                          break; }			case FIX_ZX  : { _dqdt[_fixed[i]](2)=0.0; _dqdt[_fixed[i]](0)=0.0;                          break; }			case FIX_XYZ : { _dqdt[_fixed[i]](0)=0.0; _dqdt[_fixed[i]](1)=0.0; _dqdt[_fixed[i]](2)=0.0; break; }		}	}}inline void Grid2D::ApplyLoadings(double M){	for (size_t i=0; i<_loaded.Size(); ++i)		_fe[_loaded[i]] = M*_loads[i];}inline void Grid2D::Refine(){	// New geometry	_nrow = 2*_nrow-1;	_ncol = 2*_ncol-1;	_L    = _L(0)/2.0, _L(1)/2.0, 0.0;	// Do refine	_refine();}/* private */inline void Grid2D::_refine(){	// Allocate nodes	_n.Resize(_nrow*_ncol);	// Set nodes coordinates	size_t k = 0;	for (int i=0; i<_nrow; ++i)	for (int j=0; j<_ncol; ++j)	{		_n[k] = _xmin+j*_L(0),		        _ymin+i*_L(1),				0.0;		k++;	}	_xmax = _xmin+(_ncol-1)*_L(0);	_ymax = _ymin+(_nrow-1)*_L(1);	// Allocate and initialize (zero) nodes data	_m   .Resize(_n.Size()); // nodes masses	_q   .Resize(_n.Size()); // nodes momenta	_v   .Resize(_n.Size()); // nodes velocities	_fe  .Resize(_n.Size()); // nodes external forces	_fi  .Resize(_n.Size()); // nodes internal forces	_dqdt.Resize(_n.Size()); // nodes momenta rate	ClearState();	// Allocate cells connectivities	_c.Resize((_nrow-1)*(_ncol-1));	// Set connectivities	for (int i=0; i<_nrow-1; ++i)	{		for (int j=0; j<_ncol-1; ++j)		{			_c[i*(_ncol-1)+j] = i   *_ncol+j  ,			                    i   *_ncol+j+1,			                   (i+1)*_ncol+j+1,			                   (i+1)*_ncol+j  ;		}	}	// Set boundary conditions	_fixed  .Resize(0);	_fixtype.Resize(0);	FixType type;	for (size_t i=0; i<_n.Size(); ++i)	{		if ((*_is_fixed) (_n[i], type))		{			long k = _fixed.Find(i);			if (k<0) // not added yet			{				_fixed  .Push(i);				_fixtype.Push(type);			}			else			{				_fixed  [k] = i;				_fixtype[k] = type;			}		}	}}#endif // MPM_GRID2D_H/* 2008 (c) Dorival M. Pedroso */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费在线观看成人| 亚洲一区在线视频观看| 精品中文字幕一区二区小辣椒| 欧美浪妇xxxx高跟鞋交| 日日夜夜免费精品视频| 91精品国产福利| 久久99国产精品久久99果冻传媒| 精品国产3级a| 春色校园综合激情亚洲| 尤物视频一区二区| 777a∨成人精品桃花网| 久国产精品韩国三级视频| 久久久www成人免费毛片麻豆| 成人短视频下载| 一区二区三区在线视频观看 | 久久久综合精品| 成人av影视在线观看| 亚洲综合激情另类小说区| 91精品国产免费久久综合| 国产精品自拍av| 亚洲女女做受ⅹxx高潮| 欧美一区二区三区在线看 | 国产jizzjizz一区二区| 亚洲品质自拍视频网站| 欧美一三区三区四区免费在线看| 国产乱子轮精品视频| 亚洲一区电影777| 欧美精品一区二区在线播放| 国产一区二区三区精品欧美日韩一区二区三区 | 国产人成一区二区三区影院| 一本大道综合伊人精品热热| 日韩一区欧美二区| 中日韩av电影| 91精品国产一区二区三区蜜臀| 成人午夜在线免费| 丝袜美腿亚洲一区| 亚洲欧美一区二区视频| 欧美不卡一二三| 国产精品免费视频观看| 欧美日韩综合在线| 精品一区二区三区欧美| 伊人开心综合网| 国产亲近乱来精品视频| 91精品国产欧美一区二区成人| 99九九99九九九视频精品| 日本伊人色综合网| 亚洲免费观看在线视频| 欧美精品一区二区蜜臀亚洲| 91成人在线免费观看| 粉嫩绯色av一区二区在线观看 | 日韩精品中文字幕在线一区| 91极品美女在线| 成人a级免费电影| 国产剧情一区二区| 老司机精品视频在线| 亚洲国产精品一区二区久久恐怖片| 亚洲国产成人自拍| 精品国产一区二区在线观看| 在线观看91av| 欧美日高清视频| 在线中文字幕一区| 91蜜桃网址入口| 成人激情图片网| 国产v综合v亚洲欧| 国产一区二区免费看| 麻豆中文一区二区| 六月丁香综合在线视频| 日本免费新一区视频| 天天射综合影视| 亚洲成年人影院| 亚洲成a人在线观看| 亚洲一区二区三区不卡国产欧美| 亚洲欧美一区二区不卡| 国产精品久久久久婷婷二区次| 亚洲国产精品精华液ab| 国产亚洲精品免费| 国产视频一区不卡| 国产精品久久久久久久久免费丝袜| 国产午夜精品在线观看| 欧美国产一区二区在线观看| 中文子幕无线码一区tr| 国产精品色哟哟| 国产成人av电影在线播放| 高清国产午夜精品久久久久久| 国产成人久久精品77777最新版本| 国产一区二区电影| 成人av中文字幕| 色999日韩国产欧美一区二区| 色天天综合久久久久综合片| 欧美三级中文字幕| 欧美一区二区网站| 国产亚洲一区二区三区在线观看| 欧美国产精品久久| 一区二区三区自拍| 视频一区在线播放| 精品午夜一区二区三区在线观看| 国产成人综合亚洲91猫咪| youjizz久久| 在线观看一区不卡| 日韩三级视频在线看| 2023国产精品自拍| 亚洲人成亚洲人成在线观看图片| 亚洲第一搞黄网站| 国产精品一二三四| 欧美在线一二三| 69久久99精品久久久久婷婷| 精品国产99国产精品| 综合激情网...| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产成a人亚洲精品| 欧美日韩中文字幕一区二区| 久久美女艺术照精彩视频福利播放 | 国产精品久久国产精麻豆99网站 | 日韩一级成人av| 亚洲国产精品成人久久综合一区 | 欧美一区二区三区思思人| 久久久久久久久岛国免费| 亚洲色图欧洲色图| 韩日精品视频一区| 在线日韩国产精品| 久久一日本道色综合| 亚洲愉拍自拍另类高清精品| 国产一区视频在线看| 欧美视频一二三区| 国产精品美女久久久久久久久| 日本亚洲视频在线| 在线看日韩精品电影| 国产欧美日韩精品在线| 青青草原综合久久大伊人精品优势| 成人av在线网站| 26uuu色噜噜精品一区二区| 亚洲综合在线电影| 丁香激情综合国产| 欧美精品一区在线观看| 午夜欧美大尺度福利影院在线看| 岛国精品在线观看| 久久无码av三级| 日本在线不卡视频| 欧美日韩视频在线一区二区| 国产精品夫妻自拍| 国产成人综合网站| 久久在线观看免费| 精品一区二区三区欧美| 欧美高清视频一二三区 | 国产精品久久久久久久久免费桃花 | 美美哒免费高清在线观看视频一区二区| 91麻豆精品一区二区三区| 久久久精品2019中文字幕之3| 日韩制服丝袜先锋影音| 欧美午夜精品久久久久久孕妇| 国产精品成人免费在线| 大美女一区二区三区| 久久久精品影视| 国产一区二区三区日韩| 日韩视频免费观看高清完整版 | 色综合色狠狠天天综合色| 日本一区二区久久| 国产成人精品aa毛片| 久久久久久久久99精品| 国内精品免费**视频| 欧美精品一区二区三区蜜桃| 老汉av免费一区二区三区| 欧美一级片免费看| 污片在线观看一区二区| 8x8x8国产精品| 久久国产生活片100| 欧美岛国在线观看| 国产在线看一区| 国产日韩欧美精品在线| 粉嫩蜜臀av国产精品网站| 亚洲欧洲性图库| 色激情天天射综合网| 亚洲一区日韩精品中文字幕| 欧美午夜理伦三级在线观看| 午夜婷婷国产麻豆精品| 日韩一区二区三区在线| 久久超级碰视频| 久久毛片高清国产| www.亚洲精品| 一区二区三区**美女毛片| 欧美精三区欧美精三区| 免费欧美在线视频| 国产亚洲一区二区在线观看| 91在线丨porny丨国产| 亚洲精品大片www| 欧美精品vⅰdeose4hd| 国内精品写真在线观看| 中文字幕在线一区二区三区| 99久久精品国产麻豆演员表| 亚洲一级二级三级在线免费观看| 91精品国产综合久久精品| 久草这里只有精品视频| 中文字幕一区av| 欧美情侣在线播放| 国产在线国偷精品产拍免费yy| 亚洲欧洲日韩综合一区二区| 欧洲激情一区二区| 国产综合色精品一区二区三区| 国产精品麻豆久久久| 欧美日韩二区三区|