Git Product home page Git Product logo

aide_template-deprecated's Introduction

aguaclara

Pypi Version Documentation Build Status Code Coverage

aguaclara is a Python package developed by AguaClara Cornell and AguaClara Reach for designing and performing research on AguaClara water treatment plants. The package has several main functionalities:

  • DESIGN of AguaClara water treatment plant components
  • MODELING of physical, chemical, and hydraulic processes in water treatment
  • PLANNING of experimental setup for water treatment research
  • ANALYSIS of data collected by ProCoDA (process control and data acquisition tool)

Installing

The aguaclara package can be installed from Pypi by running the following command in the command line:

pip install aguaclara

To upgrade an existing installation, run

pip install aguaclara --upgrade

Using aguaclara

aguaclara's main functionalities come from several sub-packages.

  1. Core: fundamental physical, chemical, and hydraulic functions and values
  2. Design: modules for designing components of an AguaClara water treatment plant
  3. Research: modules for process modeling, experimental design, and data analysis in AguaClara research

To use aguaclara's registry of scientific units (based on the Pint package), use from aguaclara.core.units import u. Any other function or value in a sub-package can be accessed by importing the package itself:

Example Usage: Design

import aguaclara as ac
from aguaclara.core.units import u

# Design a water treatment plant
plant = ac.Plant(
    q = 40 * u.L / u.s,
    cdc = ac.CDC(coag_type = 'pacl'),
    floc = ac.Flocculator(hl = 40 * u.cm),
    sed = ac.Sedimentor(temp = 20 * u.degC),
    filter = ac.Filter(q = 20 * u.L / u.s)
)

Example Usage: Core

# continued from Example Usage: Design

# Model physical, chemical, and hydraulic properties 
cdc = plant.cdc
coag_tube_reynolds_number = ac.re_pipe(
    FlowRate = cdc.coag_q_max,
    Diam = cdc.coag_tube_id,
    Nu = cdc.coag_nu(cdc.coag_stock_conc, cdc.coag_type)
)

Example Usage: Research

import aguaclara as ac
from aguaclara.core.units import u
import matplotlib.pyplot as plt

# Plan a research experiment
reactor = ac.Variable_C_Stock(
    Q_sys = 2 * u.mL / u.s, 
    C_sys = 1.4 * u.mg / u.L, 
    Q_stock = 0.01 * u.mL / u.s
)
C_stock_PACl = reactor.C_stock()

# Visualize and analyze ProCoDA data
ac.iplot_columns(
    path = "https://raw.githubusercontent.com/AguaClara/team_resources/master/Data/datalog%206-14-2018.xls", 
    columns = [3, 4], 
    x_axis = 0
)
plt.ylabel("Turbidity (NTU)")
plt.xlabel("Time (hr)")
plt.legend(("Influent", "Effluent"))

The package is still undergoing rapid development. As it becomes more stable, a user guide will be written with more detailed tutorials. At the moment, you can find some more examples in specific pages of the API reference.

Contributing

Bug reports, features requests, documentation updates, and any other enhancements are welcome! To suggest a change, make an issue in the aguaclara Github repository.

To contribute to the package as a developer, refer to the Developer Guide.

aide_template-deprecated's People

Contributors

connorli852 avatar cynthiatchan avatar eak24 avatar emmasung avatar fletchapin avatar gabrielleperalta avatar mattcimini avatar zoemaisel avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

mattcimini

aide_template-deprecated's Issues

Parameterizing of Sed Tank Assembly

Trying to assemble multiple Sed tanks together.

  • Right now only one Sed Tank is CAD'ed
  • Figure out best methodology to add more
  • How to attach channels to the tank?
    • One extended piece or several small pieces

Finish Flocculator design to pass off to AIDE_Design

Before we complete an entire test of the plant AIDE hopes to test just one of its major assemblies.

This means sending a design through GUI, Design, Draw, Template, and Document.

We have chosen the flocculator as the first one to go through

Solidify connecting geometry plan

@MattCimini I think we need to solidify the connecting geometry plan. aide_design and I are looking at this as well.

I've been looking through the filter designs. There's a lot of great work happening there! I realize the entrance piping is very confusing. I'm wondering how to make it as maintainable as possible. I saw this list of parameters for a single pipe:

screen shot 2018-03-12 at 22 37 39

I wonder how useful it is to have all these parameters defined within a pipe model. This was admittedly an early strategy that I was using with the distributed design - passing all the variables from the larger context into the smaller design. I think it makes for a confusing and difficult to maintain design in the long run.

Perhaps instead we could aim to define exactly what is relevant to the design in the context of the specific component that is being worked on. For example, it never makes sense for a straight pipe to have more than exactly three parameters: SDR, length and OD. The work the team has done on the spreadsheet that is used to calculate what length should be delivered to Fusion would then be put into the aide_template yaml templates. I'm scared of relying so heavily on Fusion's parametrization system... I find some of the conventions they exist on and the lack of inter-connectivity very frustrating.

I think we need to get you the draw tool @AguaClara/aide_draw as soon as possible so the team can see what it is like to work within the YAML -> aide_draw -> Fusion system.

@MattCimini I've set up weekly meetings with aide_template at 2 on Thursdays. Maybe we can discuss this more there...

Entrance Tank

-The entrance tank for the plant contains several components:
- LFOM
- Plate Settlers
- screen

  • Finish parameterizing all of these to fit inside the entrance tnak

Finish CDC

Should take the parts already made in fusion and parameterize them

Should then correctly joint it all to the flocculator

These should be connected to the large chemical holding tanks

Flocculator baffles are offset and doubled

When I open the Fusion file for flocculator, it appears that baffles are intersecting the wall and are not using the third support. Also, the first channel appears to have double baffles.

image

Finish new parameterized flocculator

Current AutoCAD flocc tank has a set number of channels and supports.
Need to build a new support system that can change depeding on the number of channel there are supposed to be

Github Issues Check #1

See the rubric that was shared with you earlier in the semester for your Team's grade.

-Github issues needs work
-The task map is very detailed. Make an issue for each of these tasks
-What progress has the team made? What are setbacks? This should be reflected in the issues
-I would tell the team to close issues as you complete tasks, but since there are no issues to close... (We have no way of gauging what progress has been made since there are no updates on Github issues!)
-All team members should be participating on Github issues
-Use Github to ask Monroe and your RA questions
-Track meetings with Monroe/RA and what was discussed via issues
-Please incorporate suggestions into future Github usage
-The next Github issues check will be in 2 weeks!

link to Fusion Templates

Provide directions in your wiki (here in Github) for how to view your templates in Fusion. I assume these are available in the cloud and that you could provide a hyperlink.

Is it possible to make the Fusion templates open source so that anyone can view them while still keeping them secure for the team to control changes?

Preliminary CAD of Filter

Have something that generally looks like a filter

  • Have all sub pieces within concrete filter
  • Excludes connecting geometry
  • All pipes and pieces parameterized
  • Assembly also parameterized to create multiple filters

Entrance Channels of Sed Tank

Finish the entrance channels that connect the flocculator and sedimentation tank

  • decide between one long piece or multiple small pieces

Make the beginnings of an OnShape standard library

@emmasung we need a standard library of parts. Let's start with:

  • elbows,
  • pipes,
  • Tees,
  • Couplings
  • Reducers
  • Bushings,
  • Crosses

These should include configuration options for standard nominal sizes and a configuration variable for length and other things that are continuously variable.

Entrance Tank for Filters

Finish the entrance box for the filters that connect to the pipes.

  • Include all the weirs
  • Use the layout of the pipe coordinate system

naming convention of flocculator variables

Some of the flocculator variables have names with colons in them, such as Channel1:2. This naming convention is illegal Python syntax, and we want to convert them to dictionaries so that we can access the variables so we'd like a more Python friendly name, e.g. Channel1_2.

number of baffles in channels 2 to n

If there are 4 channels
First channel has odd number of baffles because flow enters and exits low
channels 2 and 3 have odd number of baffles because flow enters and exits low
channel 4 has even number of baffles because flow enters low and exits high

Shorten the Flow Control Slot Weir

Monroe:
I saw that the La Concordia plant has the tall slotted weir for backwash flow control. That weir doesn't have to be nearly so tall. We need to fix this in our designs!
The top of the backwash flow control slotted weir just needs to be something like 5 cm taller than the upstream filtration flow distribution weir.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.