# Demo entry 2780412

Project1Functions

Submitted by anonymous on Sep 29, 2015 at 23:39
Language: Python. Code size: 1.7 kB.

```""" A module of the functions that are used in the project.
Created on Sat Sep 26 19:08:15 2015

@author: Dexter Antonio, Hayley Caddes, Chinedu Okorafor
"""

import numpy
import math

def convertVtoY(V,s): # this fuction takes a value of volume (V)  and returns a heihgt of water (y) value
return ((V*3.0*s**2.0)/(numpy.pi))**(1./3.)
def convertYtoV(y,s): #this function takes a y value and converts it to a V value
return y**3.0*numpy.pi/(3.0*s**2.0)
def Qin(t): #takes time and outputs the inflow of water at that time
return 3.5*(math.sin(t))**2.0

def Qout(y, Yout): #this is the function takes the height of the water and the output height and returns the outflow
if y > Yout:
return 3.2*(y-Yout)**1.4
else:
return 0

#Eulers Method
#takes t0 -initial time, f0-intial function value, the yout of the tank
# diffeq is the right side of a differential equation, f(t), of the form df/dt = f(t)
# delta T is the change in time and maxSteps is the number of steps
def EulersMethod(t0,f0,yout,s,difEq,deltaT,maxSteps):
timeArray = []
fArray  = []
timeArray.append(t0)
fArray.append(f0)
for i in range(maxSteps+1):
timeArray.append(deltaT+timeArray[i])
fArray.append(fArray[i]+difEq(timeArray[i],fArray[i],yout,s)*deltaT)
return timeArray,fArray
def diffEq(t ,V,yout,s):
return Qin(t)-Qout(convertVtoY(V,s),yout)

#this is the function that takes the ytop of the tank and the s value and returns
#the surface area
def surfacearea(s,ytop):
h = ytop
surfaceArea = (numpy.pi*h**2./(s**2.))*numpy.sqrt(1+s**2.)
return surfaceArea
```

This snippet took 0.01 seconds to highlight.

Back to the Entry List or Home.