Skip to main content

6 posts tagged with "Engineering"

View All Tags

· 2 min read

The following blogposts were written by John Yu for apps he had created on MecSimCalc. John Yu was a student researcher working with MecSimCalc for 8 months. We will miss you John!

Algebraic Operation on Complex Numbers

This blog post is dedicated to the Algebraic Operation on Complex Numbers app created by John Yu.

About the app

The Algebraic Operation on Complex Numbers app is intended for students taking a linear algebra course. This app helps students better grasp how operations are performed with complex numbers. The app lets you perform 4 types of operations: addition, subtraction, multiplication, and division. Addition and subtraction using complex numbers is best performed using vectors and the app walks users through the steps using visual aids. Multiplication and division using complex numbers is best performed using euler form and the app provides excellent visual aids to assist students in learning the step-by-step process. Learning how to perform operations on complex numbers is very important for any engineering student. Complex numbers have many practical applications particularly in electrical and computer engineering where these skills will be invaluable. Students who use this app will find themselves better prepared for their future engineering courses.

Understanding Vector Fields

This blog post is dedicated to the Understanding Vector Fields app created by John Yu.

About the app

The Understanding Vector Fields app lets you visually generate a vector field. The app takes in an equation representing your vector field and plots each vector on a graph. It is useful in a variety of applications. Vector calculus is a very important skill and many engineering students take a calculus class dedicated to this subject. You can plot simple equations like the flow of a river with the equation . You can plot more complicated vector fields like a magnetic field using the equation .

· 4 min read

The following blogposts were written by John Yu for various apps he had created on MecSimCalc.

Pairwise Testing Generator

This blog post is dedicated to the Pairwise Testing Generator app created by John Yu.

About the Pairwise Testing Generator

The pairwise testing generator is an app that can generate a set of test cases with up to 5 independent variables. The app uses a technique called Taguchi Orthogonal Arrays such that every pairing of variables appears in at least one test case. This method is significantly more powerful and more efficient compared to brute-force testing. You can get full testing coverage of your program using significantly less test cases. This can save you a lot of time and a lot of money depending on the size of your program.

Why I made this app

Software testing is a critical step in the software development lifecycle. There are countless opportunities for mistakes and defects to come up at any point in the development of software. Fixing code is equally as important as creating code. Finding these bugs early in the development lifecycle will help to mitigate issues that come up later. The hard part of testing code is generating test cases. Full code coverage often comes with a huge set of test cases which is expensive and time consuming. A small set of test cases is cost effective but lacks code coverage. I made this app to help software engineers generate test cases that can provide adequate code coverage in a reasonable amount of test cases. This saves you a lot of time and money and improves the quality of your code.

Simple Linear Regression and Discrete Probability Distribution

This blog post is dedicated to the Simple Linear Regression and Visualizing Discrete Probability Distributions apps created by John Yu.

About the Simple Linear Regression and the Discrete Probability Distribution App

The simple linear regression app can generate a regression line from your set of data points. The app is intended to be a helpful tool for Statistics students to understand how the linear regression line is calculated. There are no statistical libraries used in the calculation of the regression line. All calculations are done using equations from my statistics textbook. The app will calculate the regression line as well as show you how the calculation is performed. In statistics, there are many formulas that can calculate a regression line. This app uses the simplest equation to help students gain a better understanding of how the regression line is calculated.

The Discrete Probability Distribution app can visualize common probability distributions in Statistics. This app is intended to be a helpful tool for students taking Statistics to understand how these probability distributions work. The user can play around with the parameters of the distributions defined in the app inputs to understand how these parameters impact the graph.

Truth Table Generator

This blog post is dedicated to the Truth Table Generator app created by John Yu.

About the Truth Table Generator App

The truth table generator is an app that can generate a truth table by defining a logical expression. You can define a logic expression simply by typing it into the app inputs. The app will evaluate your expression with each possible combination of inputs and return the expected output. This app is intended to be used by students taking a digital logic class who need to quickly generate a truth table. Sometimes a logic expression may be very complicated to evaluate by hand. This app can generate a truth table with any expression no matter how complicated it is. Students will find this app by helpful for verifying your truth table. The app has been tested multiple times to ensure that the expected outputs are correct.

· 3 min read

Masonry is the building of structures from individual units, which are often laid in and bound together by mortar.

masonry

Authors

Dr. Mark D. Hagel is the Executive Director of Alberta Masonry Council and has kindly made his masonry calculators available on MecSimCalc. Mark holds a Bachelor of Science in Actuarial Science and Applied Mathematics, a Bachelor of Science in Civil Engineering, and a Doctor of Philosophy in Civil Engineering all from the University of Calgary. Mark’s fields of expertise include thermal and hygrothermal modeling of building systems, corrosion modeling, Life Cycle Cost Analysis, structural analysis and design, and the durability of building components. In 2018 Mark served on the National Research Council of Canada’s (NRC) working group that developed the Guideline on Design for Durability of the Building Envelope.

John Yu is a university researcher who converted Dr. Hagel's excel files into MecSimCalc apps.

Thermal calculation apps

Thermal calculation appDescription
BVCU Thermal Catalog AppAn App that calculates the clear field (Uo) and linear transmittance (psi) values for foundation, floor, parapet corner and window/doors for Brick Veneer Concrete Block Unit (BVCU) wall systems for any value of exterior insulation. These values are needed to thermal bridging calculations to comply with the National Energy Code for Buildings (NECB).
BVWS Thermal Catalog AppAn App that calculates the clear field Uo and linear transmittance values for foundation, floor, parapet corner and window/doors for Brick Veneer Concrete Block Unit (BVCU) wall systems for any value of exterior insulation. These values are needed to thermal bridging calculations to comply with the National Energy Code for Buildings (NECB).
BVSS Thermal Catalog AppAn App that calculates the clear field Uo and linear transmittance values for foundation, floor, parapet corner and window/doors for Brick Veneer Steel Stud (BVSS) wall systems for any value of exterior insulation. These values are needed to thermal bridging calculations to comply with the National Energy Code for Buildings (NECB).
Thermal Bridging Assembly CalculationAn App based on the BC hydro/Fortis/Powersmart “Enhanced Thermal Performance Spreadsheet”. The app calculates the impact on the clear field of a wall elevation from the thermal bridging effects of linear transmittances (foundation, floor, roof, corner, window/doors) and point transmittances (signage, etc.)

Life cycle cost analysis apps

Life cycle cost analysis appDescription
Cladding Life Cost ComparisonAn App that calculates the cost of up to three different cladding systems for a given building service life, inflation rate and discount rate using Life Cycle Cost Analysis (LCCA).
Building Envelope Life Cost Comparison CalculatorAn App that calculates the cost of up to three different cladding AND roofing systems for a given building service life, inflation rate and discount rate using Life Cycle Cost Analysis (LCCA).

Carbon sequestration apps

Carbon sequestration appDescription
CMU Block Wall Carbon CalculatorAn App to calculate the amount of carbon sequestered when constructing with concrete block masonry.
Brick Veneer Carbon CalculatorAn App to calculate the amount of carbon sequestered when constructing with clay brick veneer.

· 2 min read

This blog post is dedicated to circuit analysis calculators created for MecSimCalc.

AppDescription
Thevenin Equivalent Circuit CalculatorThis app shows the Thevenin equivalent circuit for a simple circuit with a parallel load. The Thevenin voltage, Thevenin resistance and current flowing through the load resistor is returned.
Voltage Divider CalculatorThis is an app for a voltage divider circuit. The user first inputs the input voltage (V), and the values of two resistors (Ω, kΩ, MΩ). Using the inputs and the voltage divider equation, the output voltage (V) measured across resistor 2 is returned.
Current Divider CalculatorThis is an app for a current divider circuit. The user inputs an input voltage (V) and the values of up to 5 resistors (Ω) in parallel. After finding the total current, the calculator uses the current divider equation to generate a table showing the various current (A) flowing through each resistor.
Op-Amp Gain and Output Voltage CalculatorOperational amplifiers are an active circuit component commonly used in various circuits. This app uses an op-amp in two common configurations, an inverting and non-inverting amplifier. The user selects which configuration they are using, the value of the input resistor (Ω, kΩ, MΩ), the feedback resistor (Ω, kΩ, MΩ) and the input voltage (V). Depending on the circuit chosen, a gain and the corresponding output voltage is calculated and displayed as well as an image of the circuit schematic.
Parallel Resistance CalculatorThis app calculates the equivalent resistance of a circuit containing resistors in parallel. The user inputs up to 8 resistors (Ω) and using the parallel resistance equation, an equivalent resistance for the circuit is returned.
Resistor Color Code Calculator (4 Band)This app decodes the value of a 4 band axial lead resistor. The user selects 4 colors (left to right), and the corresponding resistance value and tolerance is given.

· 3 min read

I’ve spent the last month creating apps for the purpose of designing flexural members, compression members, tension members, and beam-columns in accordance with CSA S16-19.

First, I had to learn Python. I took a 12-hour beginners course which was sufficient for learning the basics to Python, however not specific enough to be able to code the apps and get them to function as desired. Luckily, there are plenty of resources online and through watching YouTube tutorials, I was able to code the apps. Overall, learning python required lots of trial and error but was overall a smooth process due to the available resources.

I also had a very good experience using MecSimCalc as I found it incredibly easy to use and efficient, and it did not take long to adjust to.

Five applications have been created for design calculations in accordance with CSA S16-19. All applications require an input of the Cross Section, Yield Strength, and Unbraced Length of the member. The applications and their capabilities are presented below.

CalculatorDescription
Design of Flexural Members with W-SectionThis application computes the Section Class, Plastic or Yield Flexural Moment, Factored Flexural Moment Resistance, and Factored Shear Resistance of W-Sections under uniformly distributed load. Along with the mentioned inputs, there is also a lateral support option. If the beam is laterally unsupported, the Equivalent Moment Factor and Critical Elastic Flexural Moment are also computed for the purpose of calculating the Factored Moment Resistance.
Design of Compression MembersThis application checks the Width-to-Thickness Ratio, Slenderness, and computes the Factored Compression Resistance for W-Sections and HSS. Along with the general inputs for the CSA apps, there is also the option of support conditions, which is used to determine the Effective Length Factor in the Factored Compression Resistance calculations. If the compression member does not pass the Width-to-Thickness Ratio Check, the app stops there as the predicted resistance cannot actually be reached.
Design of Tension MembersThis application calculates the Factored Tensile Resistance based on gross section yielding and performs a Serviceability Limit State (SLS) vibration check for W-Sections and HSS.
W-Section Beam-Columns under Major Axis BendingThis application performs the four limit state checks for Beam-Columns with W-Sections under major axis bending. Along with the general inputs, the app requires the user to input the Factored Compression Load, Smaller End Factored Moment, Larger End Factored Moment, Frame Type, and Moment Distribution. The four limit states that are checked are: Cross-Sectional Strength, Overall Member Strength, Lateral-Torsional Buckling Strength, and Moment Check.
W-Section Beam-Columns under Biaxial BendingThis application performs the four limit state checks for Beam-Columns with W-Sections under biaxial bending. The inputs and outputs are similar to the app for Beam-Columns under major axis bending.

· 6 min read
Weichen Qiu
Samer Adeeb

The following are free-to-use calculators developed by researchers at the University of Alberta for a variety of disciplines.

Civil Engineering

AppCategoryDescription
CSA S16-1Structural EngineeringAn application to determine class, moments and maximum shear of W section Steel beams.
CSA S16-2Structural EngineeringGives all beams with specified input
CSA S16 Tension MemberStructural EngineeringCSA S16 Tension Member
CSA S16 Compression MemberStructural EngineeringCSA S16 Compression Member
CSA S16 FlexureStructural EngineeringCSA S16 Flexure
Strain Demand in Pipes Subjected to Ground MovementPipeline EngineeringThis page analyzes the response of the pipe to ground movements induced by geotechnical activities, e.g., ground heave and subsidence, slope instability, landslides, liquefaction-induced action, and tectonic faults.
Stress Design of Straight Pipe According to CSA Z662.19Pipeline EngineeringCSA Z662.19 provides equations limiting the circumferential and longitudinal stresses in steel pipelines. Given the pipe properties and field conditions, this page performs the required checks according to sections 4.3.5.1, 4.7, and 4.8.
Stress Strain Curve of Steel MaterialsPipeline EngineeringThis page calculates converts the Engineering stress-strain curve to true stress-strain curve using the well known conversion equations. The page outputs the stress-plastic strain data required by some finite element analysis software and provides the best-fit Ramberg-Osgood approximation to the given data.

Electrical Engineering

AppCategoryDescription
Processor ComparisonHardware EngineeringCompares two processors by utilizing benchmark times for different programs.
Discrete Signals Difference EquationsSignal ProcessingAn application to determine values of a difference equation. Assumptions are sets the x(n)=δ(n) (the impulse function) and y(n)=0 for n<0. Make sure n is greater than the size of Y coefficients.
ConvolutionSignal ProcessingAn application to determine x[n]*h[n] = y[n]. The input contains the n index of each coefficient, such as the first element is n = 0 for the x function.
Circular ConvolutionSignal ProcessingAn application to determine the circular convolution of 2 functions.
Floating point binary numbersBinaryFloating point numbers can be represented using IEEE 754 in binary. This system uses one sign bit, then a set number of exponent (k) bits and finally, fraction (n) bits. Depending on the number of these bits, the representations of numbers change as well. This calculator is made with the intention of getting the largest floating point number possible as well as the largest integer. There are restrictions on the number of bits that can be checked, due to an overflow possibility in python.
Hard Disk Drive (HDD) Reading a FileHardware EngineeringBest and random cases of the time an HDD will take to read over a file. Assumes both block size and sector size are the same

Chemistry

AppCategoryDescription
Thermo Question Type 1ThermodynamicsAn application to determine quality given certain knowns and unknowns. Known variable values must correspond to Thermo tables.
Thermo Question Type 2ThermodynamicsAn application to determine particular unknown given certain knowns. Known variable values must correspond to Thermo tables.
Thermo Question Type 1bThermodynamicsAn application to determine a specific value given certain knowns and unknowns. Known variable values must correspond to Thermo tables.
DiagramsThermodynamicsAn application to graph Pv and Tv graphs.

Physics

AppCategoryDescription
Thin Lens EquationOpticsKnowing the distance an object is from a lens, we can determine the focal length and the magnification.
Thin Compound Lens EquationOpticsWe can find combined focal length of two lens. If d is input as being greater than f_1, then it will be assumed that d is 0.
Lensmaker EquationOpticsThe lens maker equation can be used to find both the Power and focal length of a thick lens and a thin lens if the thickness tends to 0.
Snell's LawOpticsThis application will derive the angle of refraction using Snell's Law.
Coulomb's LawElectrostaticCoulomb's Law with three point charges

Business and Finance

AppCategoryDescription
Antique LampsMax Profit EstimationAn application to maximize profits, with the given types of lamps, bass, and platinum. Maximize, has 2 inputs with their coefficients. Assembly has 3 inputs, each being its respective coefficients, and Max demand has 1 input. The coefficients are aB+ bP = cC where B is brass, P is platinum, and C is the constant, with the input [a,b,c]. The inputs are interpreted into functions where it is drawn on the graph. There will be a feasible region where all boundaries will be satisfied. The program then picks all the intersections within the feasible region(note that some points will not be accounted for). The output just gives the profits given at that point on the graph.
Cattle ProfitMax Profit EstimationAn application to maximize profits (only gives boundaries), the first table consists of the first element being the regular, and the 2nd being the premium. The second table consists of the first element being alfalfa and the second being barley. This can also be translated such as the required material for a toy car to be inputted, but in this case it is just using cattle profit as the output. The program basically just gives the boundaries and conditions of what to expect before proceeding onto the next step.