Datalogical diagramm was added. Database description was added.

This commit is contained in:
2014-06-15 15:26:16 +06:00
parent de770fa35d
commit 16dd00a323
5 changed files with 114 additions and 30 deletions

119
c2.tex
View File

@@ -426,8 +426,9 @@ C_{ijkl}^{m} \left[ 1-\lambda({\bf r}) \right ] \right\}
\section{Разработка модуля расширений платформы моделирования для расчета коэффициентов
концентрации напряжений}
\subsection{Алгоритм рассчета коэффициентов концентрации напряжений в слое тканого композита
с искривленными волокнами}
\subsection{Объектная модель модуля расширений платформы для рассчета коэффициентов концентрации
напряжений в слое тканого композита с искривленными волокнами}
\label{c2:classDiagramm}
Безразмерные коэффициенты $K_{\sigma_{ij}} = \sigma_{ij}({\bf r}) /
\sigma_{ij}^{per}({\bf r})$ вычислялись как отношение компонент тензора
@@ -455,27 +456,41 @@ C_{ijkl}^{m} \left[ 1-\lambda({\bf r}) \right ] \right\}
Модуль расширения реализуется одним основным и тремя вспомогательными классами:
\begin{itemize}
\item TKCalculator --- основной класс для вычисления коэффициентов концентрации напряжений в
\item \verb TKCalculator --- основной класс для вычисления коэффициентов
концентрации напряжений в
каждой точке конечно-элементной сетки;
\item TPoint --- вспомогательный класс для описания точки в трехмерном пространстве;
\item TKValues --- вспомогательный класс для описания множества значений коэффициентов концентрации
\item \verb TPoint --- вспомогательный класс для описания точки в трехмерном
пространстве;
\item \verb TKValues --- вспомогательный класс для описания множества
значений коэффициентов концентрации
напряжений в каждой точке конечно-элементной сетки;
\item TObjective --- вспомогательный класс для описания параметров задачи, при которых необходимо
\item \verb TObjective --- вспомогательный класс для описания параметров
задачи, при которых необходимо
найти значения коэффициентов концентрации напряжений.
\end{itemize}
В классе TKCalculator реализован метод для импорта данных из выходных файлов конечно-элементного процессора
Code-Aster, входящего в состав платформы SALOME-MECA (fillFromFile), метод для получения коэффициентов концентрации
напряжений в произвольной точки конечно-элементной сетки по указанным координатам (getKForPoint), а также метод для вывода
коэффициентов концентрации напряжений для каждой точки конечно-элементной сетки в файл (saveKToFile), для последующего
анализа или графического отображения.
Для исключения ошибок использования классов используется 4 перечисления:
\begin{itemize}
\item EProblem --- вид задачи, может принимать значения:
\item \verb EProblem --- вид задачи, может принимать значения:
\begin{description}
\item [СС\_Without\_Contact]: керамические волокна в поликристаллической матрице без учета контакта с трением;
\item [CC\_With\_Contact]: керамические волокна в поликристаллической матрице при наличии контакта с трением;
\item [CS\_Without\_Contact]: стальные волокна в поликристаллической матрице без учета контакта с трением;
\item [CS\_With\_Contact]: стальные волокна в поликристаллической матрице при наличии контакта с трением.
\item [СС\_Without\_Contact ]: керамические волокна в
поликристаллической матрице без учета контакта с трением;
\item [CC\_With\_Contact ]: керамические волокна в поликристаллической
матрице при наличии контакта с трением;
\item [CS\_Without\_Contact ]: стальные волокна в поликристаллической
матрице без учета контакта с трением;
\item [CS\_With\_Contact ]: стальные волокна в поликристаллической
матрице при наличии контакта с трением.
\end{description}
\item ESchema --- схема нагружения, может принимать значения:
\item \verb ESchema --- схема нагружения, может принимать значения:
\begin{description}
\item [X1X3\_Tension]: двухсторонняя равнокомпонентная деформация растяжения в плоскости слоя;
\item [X1\_Tension]: деформация растяжения в направлении волокон основы;
@@ -485,7 +500,7 @@ C_{ijkl}^{m} \left[ 1-\lambda({\bf r}) \right ] \right\}
\item [X1X3\_Unequal\_Compression]: двухсторонняя неравнокомпонентная деформация сжатия в плоскости слоя.
\end{description}
\item EDefect --- дефект, может принимать значения:
\item \verb EDefect --- дефект, может принимать значения:
\begin{description}
\item [Regular]: идеальная периодическая структура;
\item [Fiber\_Skip]: пропуск волокна основы;
@@ -497,7 +512,7 @@ C_{ijkl}^{m} \left[ 1-\lambda({\bf r}) \right ] \right\}
\item [Pore]: внутренняя технологическая пора.
\end{description}
\item EPhase --- фаза, может принимать значения:
\item \verb EPhase --- фаза, может принимать значения:
\begin{description}
\item [Matrix]: фаза матрицы;
\item [Fibers]: фаза волокон.
@@ -508,8 +523,9 @@ C_{ijkl}^{m} \left[ 1-\lambda({\bf r}) \right ] \right\}
\subsection{Схема базы данных для определения коэффициентов концентрации напряжений в
слое тканого композита с искривленными волокнами}
Для увеличения скорости обработки большого объема данных использовалась встраиваемая
система управления базами данных SQLite.
Для систематизации данных, полученных в результате решения краевых задач, а также для увеличения
скорости обработки большого объема данных была разработана база данных, инфологическая схема
которой представлена на рис.~\ref{fig:c2:er}.
\immediate\write18{dot -Tpng -o fig/er.png er.dot}
\begin{figure}[ht!]
@@ -519,6 +535,71 @@ C_{ijkl}^{m} \left[ 1-\lambda({\bf r}) \right ] \right\}
\label{fig:c2:er}
\end{figure}
В базе данных использовались две стержневые сущности (<<Cвойства>> и
<<Точки>>), а также ассоциация между ними. Стержневая сущность <<Точки>> с
составным ключом {\bf X$_1$, X$_2$, X$_3$} предназначена для хранения координат
точек конечно-элементной сетки. Стержневая сущность <<Свойства>> с составным
ключом {\bf Задача, Схема нагружения, Дефект, Фаза} предназначена для хранения
информации о компонентах тензора напряжений и интесивности напряжений для каждой
точки конечно-элементной сетки. Значения атрибутов составного ключа сущности
<<Свойства>> соответсвуют значениям классов-перечислений
\verb EProblem , \verb ESchema , \verb EDefect и \verb EPhase , описаных в
разделе~\ref{c2:classDiagramm}.
Даталогическая модель базы данных для вычисления коэффициентов концентрации
напряжений представлена на рис.~\ref{fig:c2:datalogical}.
\begin{figure}[ht!]
\centering
\includegraphics[width=0.5\linewidth]{datalogical}
\caption{Даталогическая модель базы данных для вычисления коэффициентов
концентрации напряжений}
\label{fig:c2:datalogical}
\end{figure}
Соответствия свойств во всех точках конечно-элементой сетки модели с идеальной
периодической структурой соответствующим точкам конечно-элементной сетки модели
с внутренним технологическим дефектом могут быть найдены с помощью реляционного
выражения~\ref{eq:c2:relP}:
\begin{equation}
\begin{array}{rl}
P = & (\sigma_{defectId = 0}(Properties~P_1) \\
& [P_1.pointId = P_2.pointId] \\
& \sigma_{defectId \neq 0}(Properties~P_2)) \\
& [P1.pointId = Points.pointId]Points.
\end{array}
\label{eq:c2:relP}
\end{equation}
Проецируя отношение $P$ на соответствующие атрибуты, найдем значения
коэффициентов концентрации напряжений для каждой точки конечно-элементной сетки
(\ref{eq:c2:relK}):
\begin{equation}
\begin{array}{rl}
K = & P[X1, X2, X3, \\
& P_2.sigma\_11/P_1.sigma\_11, P_2.sigma\_22/P_1.sigma\_22, \\
& P_2.sigma\_33/P_1.sigma\_33, P_2.sigma\_12/P_1.sigma\_12, \\
& P_2.sigma\_13/P_1.sigma\_13, P_2.sigma\_23/P_1.sigma\_13, \\
& P_2.sigma\_I/P_1.sigma\_I].
\end{array}
\label{eq:c2:relK}
\end{equation}
С помощью ограничения отношения $K$ по атрибутам \verb problemId , \\
\verb schemaId , \verb defectId и \verb phaseId можно получить значения
коэффициентов концентрации в каждой точке конечно-элементной сетки для
необходимого вида задачи, схемы нагружения, типа дефекта или фазы материала. При
ограничении отношения $K$ по атрибутам \verb X1 , \verb X2 и \verb X3 получим
значения коэффициентов концентрации в необходимой точке конечно-элементной
сетки.
В качестве системы управления базой данных для реализации физической модели
была выбрана встраиваемая СУБД SQLite 2.8.17. Выбор данной СУБД был обусловлен
простотой использования, отсутсвием необходимости установки и настройки сервера
СУБД, высокой скоростью выполнения запросов, а также доступностью для
большинства операционных систем.
\section*{Выводы ко второй главе}
\addcontentsline{toc}{section}{Выводы ко второй главе}
@@ -534,7 +615,7 @@ C_{ijkl}^{m} \left[ 1-\lambda({\bf r}) \right ] \right\}
модели.
\item Приведены параметры конечно-элементной сетки, удовлетворяющие условиям
условиям сходимости задачи.
\item Приведены блок-схема алгоритма и модель разработанной базы данных для
расчета коэффициентов концентрации в слое тканого композита, вызванных наличием
локальных технологических дефектов.
\item Приведены диаграмма классов и инфологическая модель разработанной базы
данных для расчета коэффициентов концентрации в слое тканого композита,
вызванных наличием локальных технологических дефектов.
\end{enumerate}

25
er.dot
View File

@@ -7,15 +7,18 @@ graph ER {
{node [label = <<B><U>Схема нагружения</U></B>>] scheme};
{node [label = <<B><U>Дефект</U></B>>] defect};
{node [label = <<B><U>Фаза</U></B>>] phaze};
{node [label = "&sigma;_11"] s11};
{node [label = "&sigma;_22"] s22};
{node [label = "&sigma;_33"] s33};
{node [label = "&sigma;_12"] s12};
{node [label = "&sigma;_13"] s13};
{node [label = "&sigma;_23"] s23};
{node [label = "&sigma;_I"] sI};
{node [label = <&sigma;<SUB>11</SUB>>] s11};
{node [label = <&sigma;<SUB>22</SUB>>] s22};
{node [label = <&sigma;<SUB>33</SUB>>] s33};
{node [label = <&sigma;<SUB>12</SUB>>] s12};
{node [label = <&sigma;<SUB>13</SUB>>] s13};
{node [label = <&sigma;<SUB>23</SUB>>] s23};
{node [label = <&sigma;<SUB>I</SUB>>] sI};
node [shape=ellipse]; "X_1"; "X_2"; "X_3";
node [shape=ellipse];
{node [label = <<B><U>X</U><SUB>1</SUB></B>>] x1};
{node [label = <<B><U>X</U><SUB>2</SUB></B>>] x2};
{node [label = <<B><U>X</U><SUB>3</SUB></B>>] x3};
node [shape=diamond,style=filled,color=lightgrey]; "С-Т";
@@ -32,9 +35,9 @@ graph ER {
props -- phaze;
props -- "С-Т" [label="m", len=1.00];
"С-Т" -- points [label="n",len=1.00];
points -- "X_1";
points -- "X_2";
points -- "X_3";
points -- x1;
points -- x2;
points -- x3;
fontsize=20;
}

BIN
fig/datalogical.dia Normal file

Binary file not shown.

BIN
fig/datalogical.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 44 KiB