demagalha / IRACEMA

IsogeometRic Analysis ComputEr MATLAB Application
MIT License
5 stars 2 forks source link

Current Issues in Example_Rod.m #1

Closed dshguilherme closed 5 years ago

dshguilherme commented 5 years ago

%%% Example_Rod.m %%%

%% ERROR #1 %%% % Stiffness Matrix K has infinite entries when Model has even degree.

% HOW TO REPRODUCE:

% In the %% Load Data / Create Model %% section, entry the following model:

P = {[0 0 0 1],[1 0 0 1]}; % Control Points for 1D Rod Model = Geometry('curve',1,[0 0 1 1],P); % 1D Rod Constructor Model.DegreeElevate(1,1); % Quadratic Elements Model.KnotRefine([0.1:0.1:0.9],1); % Add 9 Knot Spans

% run the rest of the script as it is

%% POSSIBLE CAUSES:

% Quadrature point for even degree polynomials might be hitting points where the basis function is zero. % When we go to Jacobian inverse, it tries to invert 0 and we end up getting a NaN in the matrix.

%% FIXES ROUTES:

% Try different quadrature rules and see if the behavior continues.

% If inv(J) = NaN, set it as 0 in Shape1D.m

%% ERROR #2 %%% % Natural Frequencies are WRONG.

% HOW TO REPRODUCE:

% Run Exempla_Rod.m % The graph displayed at the end should have a maximum value of 1.1. It explodes. Possibly related to issue #1, but a look on Shape1D.m must be made.

%% POSSIBLE CAUSES:

%1. Assembly is possibly wrong. %2. INN and IEN arrays are possibly returning the wrong values. %3. Shape1D.m may need fixes.

dshguilherme commented 5 years ago

Additional comments:

Once error #2 is fixed, the post processing part should not need eig(full(K), full(M)) and can be replaced by eigs(K,M). This should improve computational costs.

dshguilherme commented 5 years ago

Solved with last commited changes.