Giter Site home page Giter Site logo

cmm3-project's People

Contributors

andrewarstall avatar fzizzle avatar martinstarkov avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

cmm3-project's Issues

Task C

A user interface is to be made that allows the user to define various quantities and display the concentration plot for both the 1d and 2d cases

Variables that need to be definable:

  • Diffusivity (D)
  • Time-step (h) and the maximum run time
  • Number of cells in the concentration plot (Nx and Ny)
  • Size of the domain (x and y)

Checklist:

  • There must be an option for a zero velocity field or to import the velocity field
  • Initial conditions can be selected from a list
  • This user interface is compatible with the code from task A and B

Extra Notes:

  • The initial conditions define where the "fluids" initially start from
  • Refer to the other tasks for the various initial conditions

Organize tasks into GitHub issues

  • Read the PDF / watch the video regarding the assignment.

  • Create a separate issue in this repository for each of the tasks that need to be completed, with detailed descriptions of parameters / specifications that are required for each task.

Task B

The diffusion problem is solved in a single dimension (1d)

The checklist below shows all of the conditions required to complete this task but for clarity, the particle plot should look like this when t=0:

image

Checklist:

  • Initial conditions:
  • The concentration (phi) = 1 when x <= 0
  • The concentration (phi) = 0 when x > 0
  • Diffusivity = 0.1 (constant)
  • The velocity (u and v) is equal to 0
  • Nx = 64
  • Ny = 1
  • Normal code function:
  • The concentration is to be plotted at t = 0.2s
  • Determine the error of the code across a wide variety of tests that use a different number of particles (Np) and time steps (h) by comparing it to the reference solution on Learn (repeat tests multiple times)
  • Plot how the error changes when Np and h change (logarithmic scale is ideal)

Extra Notes:

  • Most of the code from Task A can be used to accomplish this task
  • The following form of the error is recommended:
    image

Task A

General solution of the diffusion advection problem in a 2d rectangular domain by using the langrangian numerical formula shown below:

image

The code must also show a plot of the concentration field (phi) in a rectangular domain with the dimensions controlled by the variables N_x and N_y which correspond to the number of cells in each direction

Checklist:

  • x and y are able to be defined by the user
  • Number of cells in the x and y direction can be uniquely defined by a user
  • Number of particles displayed is definable by the user
  • Concentration field (phi) can be plotted
  • Particles of the diffusion are displayable and behave correctly in accordance with the equations

Extra Notes:

  • -1 < x,y < 1 are good starting values for the rectangular domain, for testing purposes
  • The code must function for when the number of cells in the y direction is equal to 1
  • Any value beyond 64 isn't truly necessary for the number of cells in each direction, for the concentration field plot

Task D

The code from the previous tasks is to be used to perform a specific engineering simulation (chemical spill in the sea)

Checklist:

  • It is easy to view where the chemical concentration is greater than 0.3 (optional)

Initial Conditions:

  • Chemical spill is a circle with a radius of 0.1
  • The centre of the circle is located at x=0.4 and y=0.4
  • Concentration of the chemical is 1 whereas the ocean is 0
  • The velocity field is used for this condition

Extra Notes:

  • A square domain with -1 < x < 1 and -1 < y < 1 is recommended
  • Nx and Ny are recommended to be between 50 to 100
  • The approximate number of particles should be close to 150,000

Task E (prioritise other tasks before this!)

Improvement on the Lagrangian method

  • This task involves finding a more efficient alternative to the Lagrangian method that will make the code faster
  • It is also poses the question whether all particles are truly necessary

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.