Skip to content

Commit

Permalink
Initial check-in
Browse files Browse the repository at this point in the history
Educational single span beam tool
  • Loading branch information
pmackenz committed Jan 17, 2019
1 parent 38475e2 commit dc6b14a
Show file tree
Hide file tree
Showing 52 changed files with 40,705 additions and 0 deletions.
53 changes: 53 additions & 0 deletions SimpleBeam.pro
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#-------------------------------------------------
#
# Project created by QtCreator 2018-12-07T22:49:35
#
#-------------------------------------------------

QT += core gui printsupport

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = SimpleBeam
TEMPLATE = app

# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0

CONFIG += c++11

SOURCES += \
main.cpp \
mainwindow.cpp \
qcp/qcustomplot.cpp \
dialogabout.cpp \
helpwindow.cpp \
solver.cpp

HEADERS += \
mainwindow.h \
qcp/qcustomplot.h \
dialogabout.h \
helpwindow.h \
solver.h

FORMS += \
mainwindow.ui \
dialogabout.ui \
helpwindow.ui

RESOURCES += \
resources.qrc

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
14 changes: 14 additions & 0 deletions dialogabout.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#include "dialogabout.h"
#include "ui_dialogabout.h"

DialogAbout::DialogAbout(QWidget *parent) :
QDialog(parent),
ui(new Ui::DialogAbout)
{
ui->setupUi(this);
}

DialogAbout::~DialogAbout()
{
delete ui;
}
22 changes: 22 additions & 0 deletions dialogabout.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#ifndef DIALOGABOUT_H
#define DIALOGABOUT_H

#include <QDialog>

namespace Ui {
class DialogAbout;
}

class DialogAbout : public QDialog
{
Q_OBJECT

public:
explicit DialogAbout(QWidget *parent = nullptr);
~DialogAbout();

private:
Ui::DialogAbout *ui;
};

#endif // DIALOGABOUT_H
137 changes: 137 additions & 0 deletions dialogabout.ui
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>DialogAbout</class>
<widget class="QDialog" name="DialogAbout">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>539</width>
<height>308</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<property name="styleSheet">
<string notr="true">background: #e0e0e0</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<property name="verticalSpacing">
<number>6</number>
</property>
<item row="2" column="0" colspan="2">
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Close</set>
</property>
<property name="centerButtons">
<bool>false</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>60</width>
<height>40</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="resources.qrc">:/images/W-Logo_Purple_RGB.png</pixmap>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="1" rowspan="2">
<widget class="QTextBrowser" name="textBrowser">
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">background: #eeeeee</string>
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOn</enum>
</property>
<property name="textInteractionFlags">
<set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse</set>
</property>
<property name="source">
<url>
<string>qrc:/docs/about.html</string>
</url>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
<resources>
<include location="resources.qrc"/>
</resources>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>DialogAbout</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>DialogAbout</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
</connections>
</ui>
Binary file added docs/.DS_Store
Binary file not shown.
16 changes: 16 additions & 0 deletions docs/about.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<h1>Simple Beam Educational Tool</h1>
<h2>(version 1.0, released Winter 2019)</h2>

<center>by Peter Mackenzie-Helnwein</center>
<center><a href="mailto:[email protected]?subject=Concerning beam educational tool">[email protected]</a></center>

<p> This tool allows you to interactively explore the effect of </p>
<ol>
<li>span length</li>
<li>material choice</li>
<li>cross section type/shape</li>
<li>support conditions</li>
<li>a moving concentrated force</li>
<li>a constant distributed load</li>
</ol>
<p>on deflection, rotation, transverse shear and the bending moment in a single span beam.</p>
9 changes: 9 additions & 0 deletions docs/help/theory.4ct
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
\expandafter\ifx\csname doTocEntry\endcsname\relax \expandafter\endinput\fi
\doTocEntry\tocsection{1}{\csname a:TocLink\endcsname{1}{x1-10001}{QQ2-1-1}{Introduction}}{3}\relax
\doTocEntry\tocsection{2}{\csname a:TocLink\endcsname{1}{x1-20002}{QQ2-1-2}{Kinematics}}{3}\relax
\doTocEntry\tocsection{3}{\csname a:TocLink\endcsname{1}{x1-30003}{QQ2-1-3}{Constitutive relations}}{4}\relax
\doTocEntry\tocsection{4}{\csname a:TocLink\endcsname{1}{x1-40004}{QQ2-1-4}{Stress resultants}}{5}\relax
\doTocEntry\tocsection{5}{\csname a:TocLink\endcsname{1}{x1-50005}{QQ2-1-5}{Equilibrium}}{7}\relax
\doTocEntry\tocsection{6}{\csname a:TocLink\endcsname{1}{x1-60006}{QQ2-1-6}{Governing equation}}{9}\relax
\doTocEntry\tocsection{7}{\csname a:TocLink\endcsname{1}{x1-70007}{QQ2-1-7}{Finding moment, shear force, and slope from the displacement function}}{10}\relax
\par
8 changes: 8 additions & 0 deletions docs/help/theory.4tc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
\expandafter\ifx\csname doTocEntry\endcsname\relax \expandafter\endinput\fi
\doTocEntry\tocsection{1}{\csname a:TocLink\endcsname{1}{x1-10001}{QQ2-1-1}{Introduction}}{3}\relax
\doTocEntry\tocsection{2}{\csname a:TocLink\endcsname{1}{x1-20002}{QQ2-1-2}{Kinematics}}{3}\relax
\doTocEntry\tocsection{3}{\csname a:TocLink\endcsname{1}{x1-30003}{QQ2-1-3}{Constitutive relations}}{4}\relax
\doTocEntry\tocsection{4}{\csname a:TocLink\endcsname{1}{x1-40004}{QQ2-1-4}{Stress resultants}}{5}\relax
\doTocEntry\tocsection{5}{\csname a:TocLink\endcsname{1}{x1-50005}{QQ2-1-5}{Equilibrium}}{7}\relax
\doTocEntry\tocsection{6}{\csname a:TocLink\endcsname{1}{x1-60006}{QQ2-1-6}{Governing equation}}{9}\relax
\doTocEntry\tocsection{7}{\csname a:TocLink\endcsname{1}{x1-70007}{QQ2-1-7}{Finding moment, shear force, and slope from the displacement function}}{10}\relax
19 changes: 19 additions & 0 deletions docs/help/theory.aux
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
\relax
\ifx\rEfLiNK\UnDef\gdef \rEfLiNK#1#2{#2}\fi
\newlabel{Eq:1}{{\rEfLiNK{x1-2001r1}{1}}{\rEfLiNK{x1-2001r1}{4}}}
\newlabel{Eq:2}{{\rEfLiNK{x1-2002r2}{2}}{\rEfLiNK{x1-2002r2}{4}}}
\newlabel{Eq:3}{{\rEfLiNK{x1-3001r3}{3}}{\rEfLiNK{x1-3001r3}{5}}}
\newlabel{Eq:4}{{\rEfLiNK{x1-3002r4}{4}}{\rEfLiNK{x1-3002r4}{5}}}
\newlabel{Eq:5}{{\rEfLiNK{x1-4001r5}{5}}{\rEfLiNK{x1-4001r5}{6}}}
\newlabel{Eq:6}{{\rEfLiNK{x1-4002r6}{6}}{\rEfLiNK{x1-4002r6}{6}}}
\newlabel{Eq:7}{{\rEfLiNK{x1-4003r7}{7}}{\rEfLiNK{x1-4003r7}{6}}}
\newlabel{Eq:7b}{{\rEfLiNK{x1-4004r8}{8}}{\rEfLiNK{x1-4004r8}{7}}}
\newlabel{Eq:8}{{\rEfLiNK{x1-5001r9}{9}}{\rEfLiNK{x1-5001r9}{7}}}
\newlabel{Eq:9}{{\rEfLiNK{x1-5002r10}{10}}{\rEfLiNK{x1-5002r10}{8}}}
\newlabel{Eq:10}{{\rEfLiNK{x1-5003r11}{11}}{\rEfLiNK{x1-5003r11}{8}}}
\newlabel{Eq:11}{{\rEfLiNK{x1-6001r12}{12}}{\rEfLiNK{x1-6001r12}{9}}}
\newlabel{Eq:12}{{\rEfLiNK{x1-6002r13}{13}}{\rEfLiNK{x1-6002r13}{9}}}
\newlabel{Eq:13}{{\rEfLiNK{x1-7001r14}{14}}{\rEfLiNK{x1-7001r14}{10}}}
\newlabel{Eq:14}{{\rEfLiNK{x1-7002r15}{15}}{\rEfLiNK{x1-7002r15}{10}}}
\newlabel{Eq:15}{{\rEfLiNK{x1-7003r16}{16}}{\rEfLiNK{x1-7003r16}{11}}}
\newlabel{Eq:16}{{\rEfLiNK{x1-7004r17}{17}}{\rEfLiNK{x1-7004r17}{11}}}
Loading

0 comments on commit dc6b14a

Please sign in to comment.