Did anyone developed a code/function to create Stiffness matrix of 8-Node Brick (Hexahedral) in Finite Element Analysis ?

9 ビュー (過去 30 日間)
I am developing a model, which will use 8-nodded brick elements. I am looking for an already built code/function, which can create its stiffness matrix.
Thanks in advance,

回答 (2 件)

Precise Simulation
Precise Simulation 2017 年 10 月 23 日
編集済み: Precise Simulation 2024 年 11 月 14 日 3:33
Q1 hexahedral elements are available and pre-defined with the FEATool toolbox. Once installed, the following code assembles a bilinear diffusion matrix with 8 node brick elements on a 5x5x5 unit cube:
grid = blockgrid( 5, 5, 5 );
form = [2 3 4; 2 3 4]; % Bilinear form specification.
sfun = { 'sf_hex_Q1'; 'sf_hex_Q1' }; % Q1 elements.
coef = 1; % Bilinear form coefficient.
icub = 2; % Quadrature rule/order.
[vrowinds,vrowcols,vavals,n_rows,n_cols] = ...
assemblea( form, sfun, coef, icub, grid.p, grid.c, grid.a);
help assemblea % See help text.
A = sparse(vrowinds,vrowcols,vavals,n_rows,n_cols); % Create sparse matrix.
spy( A )
To see the element/basis function definition simply open the featool/ellib/sf_hex_Q1.m file in a text editor.
  1 件のコメント
Asif Arshid
Asif Arshid 2017 年 10 月 25 日
Thanks for sharing this resource. I downloaded and installed FEATool but I am unable to view/print the stiffness matrix of (any) single brick element, which was my objective.

サインインしてコメントする。


Precise Simulation
Precise Simulation 2017 年 10 月 26 日
For a single element you can just create a grid with one cell, for example using
grid = blockgrid(1);
in the example above.

カテゴリ

Help Center および File ExchangeParticle & Nuclear Physics についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by