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

5 vues (au cours des 30 derniers jours)
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,

Réponses (2)

Precise Simulation
Precise Simulation le 23 Oct 2017
Modifié(e) : Precise Simulation le 14 Nov 2024
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 commentaire
Asif Arshid
Asif Arshid le 25 Oct 2017
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.

Connectez-vous pour commenter.


Precise Simulation
Precise Simulation le 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.

Catégories

En savoir plus sur Linear Algebra dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by