summaryrefslogtreecommitdiff
path: root/Engineering_Mechanics_by_A._K._Tayal/Chapter13.ipynb
blob: 70272cbe2abebae720de690002b1172f95c4990b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Chapter 13 Principle of Virtual Work"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 13.1 Application of Principle of Virtual Work"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The value of force (i.e P) that can hold the system in equilibrium is 500 N\n"
     ]
    }
   ],
   "source": [
    "# Initilization of variables\n",
    "W=1000 # N # weight to be raised\n",
    "# Calculations\n",
    "# From the Principle of virtual work,\n",
    "P=W/2 # N\n",
    "# Results\n",
    "print('The value of force (i.e P) that can hold the system in equilibrium is %d N'%P)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 13.7 Application of Principle of Virtual Work"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The Horizontal component of reaction at A (X_A) is 333.333333 N\n",
      "The Vertical component of reaction at A (Y_A) is 1333.333333 N\n",
      "The Horizontal component of reaction at B (X_B) is 333.333333 N\n",
      "The Vertical component of reaction at B (Y_B) is 666.666667 N\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "# Initilization of variables\n",
    "P=1000 # N # Force acting at the hinge of the 1st square\n",
    "Q=1000 # N # Force acting at the hinge of the 2nd square\n",
    "# Calculations\n",
    "# Chosing the co-ordinate system with originat A, we can write,\n",
    "theta=45 # degree\n",
    "# Forces that do work are P,Q & X_B. Applying the principle of virtual work & Simplyfying and solving for X_B,\n",
    "X_B=((2*P)/6)*(math.cos(theta*math.pi/180)/math.sin(theta*math.pi/180)) # N \n",
    "# Now give a virtual angular displacement to the whole frame about end A such that line AB turns by an angle delta_phi.\n",
    "# The force doing work are P,Q&Y_B.Applying the principle of virtual work & Simplyfying this eq'n and solving for Y_B,\n",
    "Y_B=((3*Q)+P)/6 # N\n",
    "# Simply by removing the support at A & replacing it by the reactions X_A & Y_A we can obtain,\n",
    "X_A=X_B # N\n",
    "Y_A=P+Q-Y_B # N\n",
    "# Results\n",
    "print('The Horizontal component of reaction at A (X_A) is %f N'%X_A)\n",
    "print('The Vertical component of reaction at A (Y_A) is %f N'%Y_A)\n",
    "print('The Horizontal component of reaction at B (X_B) is %f N'%X_B)\n",
    "print('The Vertical component of reaction at B (Y_B) is %f N'%Y_B)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.1"
  },
  "widgets": {
   "state": {},
   "version": "1.1.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}