Did anyone developed a code/function to create Stiffness matrix of 8-Node Brick (Hexahedral) in Finite Element Analysis ?
9 views (last 30 days)
Show older comments
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,
0 Comments
Answers (2)
Precise Simulation
on 23 Oct 2017
Edited: Precise Simulation
on 14 Nov 2024 at 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.
Precise Simulation
on 26 Oct 2017
For a single element you can just create a grid with one cell, for example using
grid = blockgrid(1);
in the example above.
0 Comments
See Also
Categories
Find more on Particle & Nuclear Physics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!