Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

What is Computational Science?

  1. Feb 25, 2010 #1
    I have a slight understanding of the major. If anyone can tell me the specifics and the pros and cons, that would be great.


  2. jcsd
  3. Feb 26, 2010 #2


    User Avatar
    Science Advisor

    Computational science is the study of solving large problems via computer that would typically otherwise not be able to be solved, or be difficult to solve.

    A common application of Computational Science is CFD, or Computational Fluid Dynamics. Here, flow fields are solved by discretizing a problem and solving the problem in many tiny steps.

    Another common engineering application is FEA, or finite element analysis. In this type of structural analysis, the problem is again discretized to allow the user to solve for stresses that would otherwise not be able to be found. The idea is that while I cannot (for example) find the analytic stress distribution in a full automobile, I can break it up into small little tetrahedrons. From there, I can certainly draw a free-body diagram on a 4-sided tet and then write the equation of state for all of the elements together.
  4. Mar 16, 2010 #3
    By the use of the word major, I assume you are soon to be an undergraduate student. As someone somewhat knowledgeable in the field, with some perspective on job opportunities, I can provide some Pros and Cons to choosing to pursue this major.

    - Interesting subject matter that involves solving problems that otherwise would be difficult or impossible to solve due to the vastness of the data involved.
    - Access to top supercomputers.
    - Jobs, co-op opportunities, and internships abound at the several national labs, at least in the US. Even in a down economy, there are quite a few of these because these labs rely on government funding.
    - Interdisciplinary work with researchers from physics, mathematics, engineering, and other fields, on topics that are leading edge and could lead to major advances.
    - Computational science is used to compute derivatives and is used for other applications in finance, which is important in Finance. The finance jobs I have seen in the NYC area require at least a Master's in Computer Science, but since Computational Science is even more focused on solutions applicable to finance (as opposed to topics in computer science such as operating systems or human-computer interaction) than Computer Science I do not think this major would be viewed positively by the companies.
    - If you like computers but want to do science and not just IT work in your career, then this major would make that possible.

    - Computational Science is a relatively new major, unlike, say, computer science. However it will become more well known because of the increasing reliance on computing clusters in science, engineering, and finance.
    - Topics in computational science are already covered to some extent in classes either required or applicable to physics, chemistry, engineering, mathematics, finance, and computer science majors. This is also the case for graduate programs in those fields.
    - A lot of time-consuming programming is required; however if you do not mind programming for very many hours, this is not a con for you.

    Also, one must be very good at mathematics to pursue this major. If you have any grades less than B in any of mathematics courses, it is probably not for you. This is neither a pro nor a con, but a disqualifying factor.
    Last edited: Mar 16, 2010
  5. Mar 22, 2010 #4
    to add to what was said above, its typically an interdisciplinary focused on applying computer simulations to another subject field(linguistics, psych, physics, ai, applied math, chem, bio, econ, 3D entertainment media etc ). Some programmes will neglect the other subject field part...and focus on the algorithms used to help you in these fields(ie numericals only with detailed analysis of numerical stability and robustness). Either way such a program implies a strong demand on math and programming(ie. numerical and typically in coding language: C/C++/F though some schools will use only matlab =[)

    typically the simulations involve thread or cluster programming (HPC-high performance computing) along with N-D vector-based coding (linear systems) such as using packages like blas or lapack or cfd. One would also use either coding packages: openmp, mpi, charm++ or a native threading library(pthreads, win32).

    As for mathematical grades...it depends on the math class. For any scientific-based specialty (chem, bio, phys) or engineering, one needs a thorough progression through differential equations & vector calculus. In cryptography/number theory or linguistics, it may be less so but still usefull to have.

    Personally I think 3D mathematics and programming should be included as most HPC are spatially oriented and require some form of visualization but that is my own opinion.

    Take a look at any numerical methods/analysis book to get a general view of the types of algorithms you'll be learning("numerical recipes" is always a good place to start). Then look at a professors website in your area of interest....one who specializes in computational science or computer simulations in that field.
    Things you would aim to learn aside from basic programming:
    [math topics]: Numerical stability & robustness, root finding/extrema, QR algorithm, FFT, wavelets, FEM/Finite Diff/ Finite Volume, Runge Kutta, ConjugateGradient , Multigrid, Markov

    [cs topics]: threads, network communication, nearest neighbour/spatial partiioning

    [packages]: c/lapack, c/blas, mpi, openmp, charm++, standard network send/recv, standard threads,

    PersonallY: some GUI package to carry you from 2nd to 4th year. and opengl
    PRO: if you hope to end up in sci/eng industry and you fail...your skillsets in such a programme can be utilized in the 3D digital animations or game dev industry =]. If you also
    incorporate 3D math/graphics/physics then you can get into just visualization.

    PRO: skillset development in math/programming

    CON: can't think of any but the one about programming time required above would be the only one. I guess also the naivety of the field may result in weak curriculums depending on your university (ie jsut slapping math and cs classes together with know congruity)
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook