NCLab Modules

NCLab Modules

Overview of Interactive Graphical Modules in NCLab

This reference page provides a list of NCLab modules along with brief descriptions and hints how to use them. The list is not final, we are steadily improving all existing modules and preparing additional ones. Read more…


Computer Programming

  • Karel the Robot – Karel the Robot is a popular educational programming language that was created (and is still used) at the Stanford University. Karel is extremely efficient in teaching algorithmic thinking to beginners. Students who start with Karel will find learning advanced programming languages such as Python, Java or C/C++ much easier.
  • Python – Python is a modern high-level dynamic programming language that is used in many business, science, and engineering applications today.
  • JavaScript – NCLab JavaScript Module
    JavaScript is THE programming language for web development. NCLab’s JavaScript module is based on V8, the Google’s open source JS engine. V8 is used in the Google Chrome web browser.

Computing

  • GNU Octave – high-level interpreted language, primarily intended for numerical computations. It provides capabilities for the numerical solution of linear and nonlinear problems, and for performing other numerical experiments. The Octave language is compatible with Matlab so that most programs are easily portable.
  • SciPy – powerful scientific computing library based on Python. It contains modules for optimization, linear algebra, integration, interpolation, special functions, FFT, signal and image processing, ODE solvers and other tasks common in science and engineering.
  • CUDA – Graphic Processing Units (GPUs) are powerful graphic cards with hundreds or thousands of cores that are capable of massively parallel processing. In general they provide more cost-efficient performance than standard CPUs, and therefore their popularity in the scientific computing community is growing. CUDA is a programming language for GPUs developed by Nvidia. In NCLab, CUDA is used via its Python wrappers.
  • Hermes – Hermes2D is a C++ library that employs Finite Element Analysis (FEA, FEM) to solve engineering problems described in terms of Partial Differential Equations (PDE). Examples include linear elasticity, electrostatics, electromagnetics, fluid mechanics, neutronics, heat transfer, and others.

3D CAD Design

  • PLaSM – NCLab CAD module is based on PLaSM (Programming Language of Solid Modeling), a simple Python-based scripting language for 2D and 3D geometry manipulation, solid modeling, and CAD design. On server side, PLaSM has a powerful computational geometry engine that is being actively developed at the University Rome III in Italy.

Math

  • Fractals – this module allows the users to explore the Mandelbrot and Julia fractals and create beautiful fractal art.
  • Symbolical Math – the symbolical math module in NCLab is based on SymPy. It provides a vast amount of functionality for working with mathematical expressions, fractions, limits, derivatives, integrals, etc.
  • ODE – the Ordinary Differential Equations (ODE) module provides a suite of interactive graphical and analytical tools for working with ODE.
  • PDE – the Partial Differential Equations (PDE) module allows the users to solve linear second-order PDE via the Finite Element Method (FEM).
  • Graph Theory – this module allows the users to analyze complex graphs and networks using the NetworkX library developed at the Los Alamos National Laboratory.
  • Matrix Algebra – this module provides a vast amount of matrix operations via the Python scientific libraries SciPy and Numpy.

Physics and Chemistry

  • Projectile Motion – this is a simple interactive graphical module that simulates projectile motion with and without air friction. Python source code is available.
  • First-Order Reaction Kinetics – this is a simple interactive graphical module that simulates first-order reaction kinetics. Python source code is available.

Finite Element Analysis (FEA)

  • Linear Elasticity – calculates deformations and stresses in solid objects that are subject to acting forces or pressures. The module employs cutting edge computational methods and provides engineering-quality results. However, it was designed for non-experts – it is very easy to operate and it does not require any math.
  • Electrostatics – calculates electrical fields in the vicinity of charged objects, such as around a condenser. The module employs cutting edge computational methods and provides engineering-quality results. Again, it can be operated by non-experts and it does not require any math.
  • PDE – the Partial Differential Equations (PDE) module allows the users to solve linear second-order PDE via the Finite Element Method (FEM).

LaTeX

  • LaTeXLaTeX is a high-quality document preparation systems for science and engineering publications, presentations, and posters.
-->