Closed dshguilherme closed 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.
Solved with last commited changes.
%%% 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.