spring1d_results.m

来自「matlab实例」· M 代码 · 共 31 行

M
31
字号
%***********************************************************************
%  function spring1d_results
%
%  calculates and prints 1D spring element results
%***********************************************************************
function energy = spring1d_results(ElemData, ElemType, Prop, solution_vector)

% determine elemental displacement values from solution vector

elemType   = ElemData.elemType;
nnodes     = ElemType(elemType).nnodes;
ndofs_node = ElemType(elemType).ndofs_node;

count = 0;
for node = 1:nnodes
  dof_pos_0 = (ElemData.connect(node) - 1) * ndofs_node; % assuming all nodes with same num dofs
  for dof = 1:ndofs_node
    count = count + 1;
    dof_pos = dof_pos_0 + dof;
    disp_vector(count) = solution_vector(dof_pos);
  end
end

kelem = spring1d_elem(ElemData, Prop);  % determine stiffness matrix

force = kelem * disp_vector';          % form matrix-vector product: get nodal forces for this element
% strain energy
energy = 0.5 * disp_vector * force;

fprintf('   ID      f1           f2     energy\n');
fprintf(' %4i %10.3g %10.3g  %10.3g\n', ElemData.elemID, force(1), force(2), energy)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?