Реферат: Алгоритм компактного хранения и решения СЛАУ высокого порядка

Классические методы хранения, учитывающие симметричную и ленточную структуру матриц жесткости, возникающих при применении метода конечных элементов (МКЭ), как правило, не применимы при решении контактных задач, так как при их решении матрицы жесткости нескольких тел объединяются в одну общую матрицу, ширина ленты которой может стремиться к порядку системы.

Предложенная в работе методика компактного хранения матриц коэффициентов СЛАУ и использования метода Ланцоша позволили на примере решения контактных задач добиться существенной экономии процессорного времени и затрат оперативной памяти.

ПРИЛОЖЕНИЕ 1

Исходный текст программы, реализующий анализ структуры КЭ-разбиения объекта.

#include <math.h>

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

#include <fstream.h>

#include "matrix.h"

#define BASE3D_4  4

#define BASE3D_8  8

#define BASE3D_10 10

const double Eps = 1.0E-10;

DWORD CurrentType = BASE3D_10;

void PrintHeader(void)

{

  printf("Command format: AConvert -<switch> <file1.in> <file2.in> <file3.out> [/Options]\n");

  printf("Switch: -t10 - Tetraedr(10)\n");

  printf("        -c8  - Cube(8)\n");

  printf("        -s4  - Shell(4)\n");

  printf("        -s8  - Shell(8)\n\n");

  printf("Optins: /8 - convert Tetraedr(10)->8*Tetraedr(4)\n");

  printf("        /6 - convert Cube(8)->6*Tetraedr(4)\n");

}

bool Output(char* fname,Vector<double>& x,Vector<double>& y,Vector<double>& z, Matrix<DWORD>& tr, DWORD n,

            DWORD NumNewPoints,DWORD ntr,Matrix<DWORD>& Bounds,DWORD CountBn)

{

  char*    Label = "NTRout";

К-во Просмотров: 983
Бесплатно скачать Реферат: Алгоритм компактного хранения и решения СЛАУ высокого порядка