Datalogical diagramm was added. Database description was added.
This commit is contained in:
119
c2.tex
119
c2.tex
@@ -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
25
er.dot
@@ -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 = "σ_11"] s11};
|
||||
{node [label = "σ_22"] s22};
|
||||
{node [label = "σ_33"] s33};
|
||||
{node [label = "σ_12"] s12};
|
||||
{node [label = "σ_13"] s13};
|
||||
{node [label = "σ_23"] s23};
|
||||
{node [label = "σ_I"] sI};
|
||||
{node [label = <σ<SUB>11</SUB>>] s11};
|
||||
{node [label = <σ<SUB>22</SUB>>] s22};
|
||||
{node [label = <σ<SUB>33</SUB>>] s33};
|
||||
{node [label = <σ<SUB>12</SUB>>] s12};
|
||||
{node [label = <σ<SUB>13</SUB>>] s13};
|
||||
{node [label = <σ<SUB>23</SUB>>] s23};
|
||||
{node [label = <σ<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
BIN
fig/datalogical.dia
Normal file
Binary file not shown.
BIN
fig/datalogical.png
Normal file
BIN
fig/datalogical.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
BIN
fig/er.png
BIN
fig/er.png
Binary file not shown.
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 44 KiB |
Reference in New Issue
Block a user