Главная страница
Навигация по странице:

  • Результаты счета при g

  • Задание Задача об изгибе растянуто-изогнутой балки. Задание

  • Варианты задания

  • Метод конечных разностей

  • Пример ручного счета

  • Пример М-файла

  • Результаты счета

  • 2. Численно-аналитический метод

  • прикладная математика практикум. Прикладная математика_Практикум. Практическая работа 1 Первичная статистическая обработка экспериментальных данных Пример


    Скачать 1.37 Mb.
    НазваниеПрактическая работа 1 Первичная статистическая обработка экспериментальных данных Пример
    Анкорприкладная математика практикум
    Дата19.09.2022
    Размер1.37 Mb.
    Формат файлаdocx
    Имя файлаПрикладная математика_Практикум.docx
    ТипПрактическая работа
    #685223
    страница12 из 13
    1   ...   5   6   7   8   9   10   11   12   13
    Пример М-файла (для MATLAB)

    function beam_FEM_cubic

    % ввод,задание и формирование исходных данных

       s=input('ввести номер варианта(последняя цифра номера зачетной книжки)s=');

       g=input('ввести предпоследнюю цифру номера зачетной книжки  g=');

       L=1;

       c=4*(s+g)/100/L^2;

       c1=1;

       EJ=c1;

       bt=100;

       n=input('ввести число точек n=');

       ne=n-1; %количество элементов

       h=L/ne; % длина элемента

       xs=h/2:h:L; %массив координат средних точек элементов

       q=c*bt*xs.*(L-xs); %массив нагрузок в средних точках элементов

       P0=0; M0=2*c*c1; % краевые условия слева: x=0

       PL=0; ML=-M0; % краевые условия справа: x=L

       mp=2; %число неизвестных в узле: y(xi),y'(xi)

       me=2*mp;%число неизвестных на элементе: y(x_i),y'(x_i),y(x_i+1),y'(x_i+1)

       ns=mp*n; %общее количество неизвестных

       xi=0:h:L; % координаты узлов

       

    % формирование вспомогательных матриц и векторов

       Ag=[1 0 0 0;0 1 0 0;1 1 1 1;0 1 2 3]

       A=inv(Ag)

       S=diag([1 2 3]',-1)

       T0=[ 1 1/2 1/3 1/4

        1/2 1/3 1/4 1/5

        1/3 1/4 1/5 1/6

        1/4 1/5 1/6 1/7]

       TT=420*T0

       Di=diag([1 h 1 h]')

       t0=[1 1/2 1/3 1/4]'

       

    % формирование локальных матриц и векторов

        K0=h*Di*A'*T0*A*Di

       K2=1/h^3*Di*A'*S^2*T0*(S^2)'*A*Di

       Ke=EJ*K2+bt*K0 %локальная матрица жесткости

       R0=h*Di*A'*t0 %локальный вектор нагрузки

    % формирование глобальной матрицы жесткости

       Kg=zeros(ns);

       for i=1:mp:ns-mp-1

         Kg(i:i+me-1,i:i+me-1)=Kg(i:i+me-1,i:i+me-1)+Ke(:,:);

       end

    % формирование глобального вектора нагрузки

       Rg=zeros(ns,1);

       ie=0;

       for i=1:mp:ns-mp-1

         ie=ie+1;

         Rg(i:i+me-1)=Rg(i:i+me-1)+q(ie)*R0(:);

       end

    % учет граничных условий

       Rg(1)=Rg(1)+P0;

       Rg(2)=Rg(2)+M0;

       Rg(ns-1)=Rg(ns-1)+PL;

       Rg(ns)=Rg(ns)+ML;

    %Kg

    %Rg

    U=Kg\Rg;

    yi=U(1:mp:ns)';

    dyi=U(2:mp:ns)';

    % вычисление y, y', y" и y"' в центрах элементов

    for i=1:ne

      ys(i)=df(i,0,0.5);

      dy(i)=df(i,1,0.5);

      d2y(i)=df(i,2,0.5);

      d3y(i)=df(i,3,0.5);

    end

    % вычисление y" и y"' в узлах

    for i=1:ne

      d2yi(i)=df(i,2,0);

      d3yi(i)=df(i,3,0);

    end

      d2yi(n)=df(ne,2,1);

      d3yi(n)=df(ne,3,1);

    disp('прогиб балки'),disp(yi)

    disp('угол поворота'),disp(dyi)

    disp('изгибающий момент'),disp(-EJ*d2yi)

    disp('поперечная сила'),disp(-EJ*d3yi)

    figure(),plot(xs,ys,xs,dy,xs,-EJ*d2y,xs,-EJ*d3y),title('v centrah elementov'),grid on

    legend('y','dy','M=-EJ*d2y','Q=-EJ*d3y')

    figure(),plot(xi,yi,xi,dyi,xi,-EJ*d2yi,xi,-EJ*d3yi),title('v uzlah'),grid on

    legend('y','dy','M=-EJ*d2y','Q=-EJ*d3y')

      function dpyi=df(i,p,t)

       % вычисление dpy в точке t на i-м элементе

       Dp=(S^p)'*A*Di;

       ti=[1;t;t^2;t^3];

       in=1+mp*(i-1);ik=in+me-1; z=U(in:ik);

       dpyi=dot(Dp*z,ti)/h^p;

      end



    end

    Результаты счета при g=3 и s=12

    ввести номер варианта (последняя цифра номера зачетной книжки)s=12

    ввести предпоследнюю цифру номера зачетной книжки g=3

    ввести число точек n=21

    Ag =

      1 0 0 0

      0 1 0 0

      1 1 1 1

      0 1 2 3

    A =

      1 0 0 0

      0 1 0 0

      –3 –2 3 –1

      2 1 –2 1

    S =

      0 0 0 0

      1 0 0 0

      0 2 0 0

      0 0 3 0

    T0 =

      1.0000 0.5000 0.3333 0.2500

      0.5000 0.3333 0.2500 0.2000

      0.3333 0.2500 0.2000 0.1667

      0.2500 0.2000 0.1667 0.1429

    TT =

      420 210 140 105

      210 140 105 84

      140 105 84 70

      105 84 70 60

    Di =

      1.0000 0 0 0

      0 0.0500  0 0

      0 0 1.0000 0

      0 0 0 0.0500

    t0 =

      1.0000

      0.5000

      0.3333

      0.2500

    K0 =

      0.0186 0.0001 0.0064 –0.0001

      0.0001 0.0000 0.0001 –0.0000

      0.0064 0.0001 0.0186 –0.0001

      –0.0001 –0.0000 –0.0001 0.0000

    K2 =

      1.0e+004 *

      9.6000 0.2400 –9.6000 0.2400

      0.2400 0.0080 –0.2400 0.0040

      –9.6000 –0.2400 9.6000 –0.2400

      0.2400 0.0040 –0.2400 0.0080

    Ke =

      1.0e+004 *

      9.6002 0.2400 –9.5999 0.2400

      0.2400 0.0080 –0.2400 0.0040

      –9.5999 –0.2400 9.6002 –0.2400

      0.2400 0.0040 –0.2400 0.0080

    R0 =

      0.0250

      0.0002

      0.0250

      –0.0002

    прогиб балки

      0.0003 0.0288 0.0542 0.0767 0.0961 0.1126 0.1261 0.1366 0.1440 0.1485 0.1500 0.1485 0.1440 0.1366 0.1261 0.1126 0.0961 0.0767 0.0542 0.0288 0.0003

    угол поворота

      0.5991 0.5391 0.4792 0.4192 0.3593 0.2994 0.2395 0.1796 0.1197 0.0599 –0.0000 –0.0599 –0.1197 –0.1796 –0.2395 –0.2994 -0.3593 –0.4192 –0.4792 –0.5391 –0.5991

    изгибающий момент

      1.2001 1.1995  1.1990 1.1986 1.1983 1.1980 1.1978 1.1977 1.1975 1.1975 1.1975 1.1975 1.1975 1.1976 1.1978 1.1979 1.1982 1.1985 1.1989 1.1994 1.2001

    поперечная сила

      –0.0138 –0.0117 –0.0097 –0.0080 –0.0064  -0.0050 –0.0038 –0.0026 –0.0015 –0.0005 0.0005 0.0015 0.0026 0.0038 0.0050 0.0064 0.0080 0.0097 0.0117 0.0138 0.0138

     >>

    Задание

    Задача об изгибе растянуто-изогнутой балки.

    Задание. Решить задачу о изгибе растянуто-изогнутой балки методом конечных элементов.

    Исходная постановка задачи:

    Найти функцию y(x) при которой функционал



    принимает минимальной значение.

    Составить конечно-элементную систему уравнений (матрицу жесткости и вектор нагрузки) и решить полученную систему.

    1. Решить задачу на ЭВМ для N=9 точек (N-1 конечных элементов).

    2.  Представить результаты счета для N=9, то есть 8 конечных элементов.

    3. Решить задачу вручную для N=4, т.е. 3 конечных элементов.

    7.б) Задача теплопроводности.

    Задание. Решить задачу теплопроводности:

    1. Методом конечных разностей по явной схеме (требуется составить программу в системе MATLAB и выполнить ручной счет).

    2. Численно-аналитическим методом (требуется составить программу в системе MATLAB).

    Варианты задания.

     – функция, характеризующая мощность источника тепла;

     – краевые условия;

     – начальные условия;

     – длина;   – коэффициент температуропроводности;   – предпоследняя цифра в зачетной книжке,   – последняя цифра номера зачетной книжки.

    Метод конечных разностей

    Принять для расчета на ЭВМ число отрезков деления по длине   и количество шагов по времени  , для ручного счета –   и  . Вывести значения температуры для  .

    Пример ручного счетадля  .

    При    , из условия устойчивости (9)  .

    Начальные значения:

    .

    Граничные значения:

    .

    Для внутренних точек:

    .

    Таблица 1. Результаты ручного счета  Таблица 7.2















    0

    0

    3

    10.88

    15

    15.38

    12

    1

    1/32

    3

    9.00

    13.13

    13.5

    12

    2

    2/32

    3

    8.06

    11.25

    12.57

    12

    Пример М-файла.

    s=input('Введите s=');

    g=input('Введите g=');

    n=input('Введите n=');

    a=1; L=1; h=L/n; tau=h^2/(2*a);

    x=0:h:L; u0=g+(g+3*s)*x-2*(g+s)*x.^2;

    u1=u0; kprn=12;

    Tprn=zeros(kprn,1); Uprn=zeros(kprn,n+1);

    kt=0;

    for k=1:101

     t=(k-1)*tau;

     if(mod(k-1,10)==0||(k-1)==1)

      kt=kt+1;

      Tprn(kt,1)=t;

      Uprn(kt,:)=u0;

     end

     u1(2:n)=(u0(1:n-1)+u0(3:n+1))/2;

     u0=u1;

    end

    fprintf('\n  t   значения функции температуры u(xi,t)\n')

    for i=1:kprn

     fprintf('%4.2f',Tprn(i)),fprintf('%6.2f',Uprn(i,:)),fprintf('\n')

    end

    Результаты счетадля  .

    Введите s=12

    Введите g=3

    Введите n=8

     t значения функции температуры u(xi, t)

    0.00 3.00 7.41 10.88 13.41 15.00 15.66 15.38 14.16 12.00

    0.01 3.00 6.94 10.41 12.94 14.53 15.19 14.91 13.69 12.00

    0.08 3.00 5.47 7.73 9.62 11.00 11.87 12.23 12.22 12.00

    0.16 3.00 4.73 6.37 7.85 9.09 10.10 10.87 11.48 12.00

    0.23 3.00 4.40 5.76 7.04 8.22 9.29 10.26 11.15 12.00

    0.31 3.00 4.25 5.48 6.68 7.83 8.93 9.98 11.00 12.00

    0.39 3.00 4.18 5.35 6.51 7.65 8.76 9.85 10.93 12.00

    0.47 3.00 4.15 5.30 6.44 7.57 8.69 9.80 10.90 12.00

    0.55 3.00 4.14 5.27 6.40 7.53 8.65 9.77 10.89 12.00

    0.63 3.00 4.13 5.26 6.39 7.51 8.64 9.76 10.88 12.00

    0.70 3.00 4.13 5.25 6.38 7.51 8.63 9.75 10.88 12.00

    0.78 3.00 4.13 5.25 6.38 7.50 8.63 9.75 10.88 12.00

    >>

    2. Численно-аналитический метод

    Принять для расчета на ЭВМ число внутренних точек по     и значения по времени  . Построить графики для  .

    Поскольку  , а также   и   – константы, вектор   – не зависит от  . В этом случае формула (7.32) преобразуется к виду




     ,

    (7.34)

    Выполняем интегрирование:  . Таким образом, решение задачи приводится к виду






    (7.35)
    1   ...   5   6   7   8   9   10   11   12   13


    написать администратору сайта