diff --git a/c2.tex b/c2.tex index b2240b6..d33a73e 100644 --- a/c2.tex +++ b/c2.tex @@ -434,15 +434,16 @@ C_{ijkl}^{m} \left[ 1-\lambda({\bf r}) \right ] \right\} напряжений в слое модельного тканого композита с локальным дефектом к соответствующим компонентам в слое материала идеальной периодической структуры. -Для расчета коэффициентов концентрации был написан пакет вспомогательных -программ с использованием языка программирования Python, который является -простым и, в то же время, мощным интерпретируемым объектно-ориентированным -языком программирования. Он предоставляет структуры данных высокого уровня, -имеет изящный синтаксис и использует динамический контроль типов, что делает -его идеальным языком для быстрого написания различных приложений, работающих -на большинстве распространенных платформ \cite{bib:rossum}. Для увеличения -скорости обработки большого объема данных использовалась встраиваемая -система управления базами данных SQLite. +Для расчета коэффициентов концентрации в каждой точке конечно-элементой сетки +был написан модуль расширения платформы SALOME-MECA. В качестве языка для написания +модуля расширений был выбран объектно-ориентированный язык программирования Python 2.7, +который предоставляет структуры данных высокого уровня, имеет изящный синтаксис и +использует динамический контроль типов, что делает его идеальным языком для быстрого +написания различных приложений, работающих на большинстве распространенных платформ +\cite{bib:rossum}. + +Диаграмма классов модуля расширения платформы SALOME-MECA для рассчета коэффициентов +концентрации напряжений показана на рис.~\ref{fig:c2:classDiagramm}. \begin{figure}[ht!] \centering @@ -451,9 +452,65 @@ C_{ijkl}^{m} \left[ 1-\lambda({\bf r}) \right ] \right\} \label{fig:c2:classDiagramm} \end{figure} +Модуль расширения реализуется одним основным и тремя вспомогательными классами: + +\begin{itemize} + \item TKCalculator --- основной класс для вычисления коэффициентов концентрации напряжений в + каждой точке конечно-элементной сетки; + \item TPoint --- вспомогательный класс для описания точки в трехмерном пространстве; + \item TKValues --- вспомогательный класс для описания множества значений коэффициентов концентрации + напряжений в каждой точке конечно-элементной сетки; + \item TObjective --- вспомогательный класс для описания параметров задачи, при которых необходимо + найти значения коэффициентов концентрации напряжений. +\end{itemize} + +Для исключения ошибок использования классов используется 4 перечисления: + +\begin{itemize} + \item EProblem --- вид задачи, может принимать значения: + \begin{description} + \item [СС\_Without\_Contact]: керамические волокна в поликристаллической матрице без учета контакта с трением; + \item [CC\_With\_Contact]: керамические волокна в поликристаллической матрице при наличии контакта с трением; + \item [CS\_Without\_Contact]: стальные волокна в поликристаллической матрице без учета контакта с трением; + \item [CS\_With\_Contact]: стальные волокна в поликристаллической матрице при наличии контакта с трением. + \end{description} + + \item ESchema --- схема нагружения, может принимать значения: + \begin{description} + \item [X1X3\_Tension]: двухсторонняя равнокомпонентная деформация растяжения в плоскости слоя; + \item [X1\_Tension]: деформация растяжения в направлении волокон основы; + \item [X1\_Tension\_X3\_Compression]: чистое формоизменение; + \item [X1X3\_Compression]: двухсторонняя равнокомпонентная деформация сжатия в плоскости слоя; + \item [X1\_Compression]: деформация сжатия в направлении волокон основы; + \item [X1X3\_Unequal\_Compression]: двухсторонняя неравнокомпонентная деформация сжатия в плоскости слоя. + \end{description} + + \item EDefect --- дефект, может принимать значения: + \begin{description} + \item [Regular]: идеальная периодическая структура; + \item [Fiber\_Skip]: пропуск волокна основы; + \item [Fiber\_Skip\_Matrix]: пропуск волокна основы с учетом доуплотнения полости образованной дефектом материалом матрицы; + \item [One\_Fiber\_Break]: разрыв волокна основы; + \item [One\_Fiber\_Break\_Matrix]: разрыв волокна основы с учетом доуплотнения полости образованной дефектом материалом матрицы; + \item [Two\_Fibers\_Break]: разрыв волокон основы и утка; + \item [Two\_Fibers\_Break\_Matrix]: разрыв волокон основы и утка с учетом доуплотнения полости образованной дефектом материалом матрицы; + \item [Pore]: внутренняя технологическая пора. + \end{description} + + \item EPhase --- фаза, может принимать значения: + \begin{description} + \item [Matrix]: фаза матрицы; + \item [Fibers]: фаза волокон. + \end{description} +\end{itemize} + + \subsection{Схема базы данных для определения коэффициентов концентрации напряжений в слое тканого композита с искривленными волокнами} +Для увеличения скорости обработки большого объема данных использовалась встраиваемая +система управления базами данных SQLite. + \immediate\write18{dot -Tpng -o fig/er.png er.dot} \begin{figure}[ht!] \centering diff --git a/classDiagramm.xmi b/classDiagramm.xmi index 68141e0..faf93ba 100644 --- a/classDiagramm.xmi +++ b/classDiagramm.xmi @@ -1,5 +1,5 @@ - + umbrello uml modeller http://umbrello.kde.org @@ -129,7 +129,7 @@ - + @@ -148,16 +148,16 @@ - + - - - + + + - + - + @@ -165,55 +165,55 @@ - + - + - + - + - + - - + + - + - + - + - + - - + + - + - - - + + + - + - + - - + + - + @@ -236,7 +236,7 @@ - + @@ -260,7 +260,7 @@ - + @@ -270,26 +270,26 @@ - + - + - + - + - + @@ -299,7 +299,7 @@ - + @@ -309,7 +309,7 @@ - + diff --git a/fig/classDiagramm.png b/fig/classDiagramm.png index 2eac0ed..8f13e0f 100644 Binary files a/fig/classDiagramm.png and b/fig/classDiagramm.png differ