Skip to main content
Log in

NCLab: Public Computing Laboratory

  • Published:
Computing Aims and scope Submit manuscript

Abstract

This survey paper describes the Network Computing Laboratory (NCLab), a novel public cloud computing platform for mathematics, programming, scientific computing and computer simulations. Through a web-browser interface, it provides users with free access to interactive graphical modules that include symbolic and numerical methods, programming in several languages, computing with Python scientific libraries, computing with GNU Octave, GPU computing with CUDA, computational geometry, 3D CAD design, computational graph theory, finite element programming with the Hermes library, and interactive graphical finite element modules. Users can upload files and data from their local computers, clone projects from the database, share files, form teams, and collaborate on projects. This paper briefly describes how NCLab operates, and it provides concise descriptions of NCLab computational modules with examples of use.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14

Similar content being viewed by others

Notes

  1. https://github.com/hpfem/hermes-tutorial.git.

References

  1. Cloud computing: Wikipedia page http://en.wikipedia.org/wiki/Cloud_computing. Retrieved on September 15, 2012

  2. Mongo Database: http://www.mongodb.org/. Retrieved on September 15, 2012

  3. Linode: http://www.linode.com/. Retrieved on September 15, 2012

  4. Solin P et al (2012) Introduction to Python programming. In: Open source textbook. http://femhub.com/textbook-python. Retrieved on September 15, 2012

  5. Scipy official website: http://www.scipy.org/. Retrieved on September 15, 2012

  6. Numpy official website: http://numpy.scipy.org/. Retrieved on September 15, 2012

  7. Pylab official website: http://www.scipy.org/PyLab. Retrieved on September 15, 2012

  8. Matplotlib official website: http://matplotlib.org/. Retrieved on September 15, 2012

  9. Sympy official website: http://www.sympy.org/. Retrieved on September 15, 2012

  10. GNU Octave http://www.gnu.org/software/octave/. Retrieved on September 15, 2012

  11. PyCUDA documentation page: http://documen.tician.de/pycuda/. Retrieved on September 15, 2012

  12. NetworkX official website: http://networkx.lanl.gov/. Retrieved on September 15, 2012

  13. Hagberg AA, Schult DA, Swart PJ (2008) Exploring network structure, dynamics, and function using NetworkX. In: Proceedings of the 7th Python in Science Conference (SciPy 2008), pp 1115. Pasadena, CA, USA, Aug 2008

  14. PLaSM: Wikipedia page http://en.wikipedia.org/wiki/PLaSM. Retrieved on September 15, 2012

  15. Paoluzzi A (2003) Geometric programming for computer aided design. Wiley, New York. ISBN 0471899429

  16. Solin P et al (2012) Solid modeling with PLaSM. In: Open source textbook. http://femhub.com/textbook-cad. Retrieved on September 15, 2012

  17. Hermes: Higher-order modular finite element system. http://hpfem.org/hermes. Retrieved on September 15, 2012

  18. Solin P, Segeth K, Dolezel I (2003) Higher-Order Finite Element Methods, Chapman & Hall/CRC Press, New York

  19. Shewchuk JR (1996) Triangle: Engineering a 2D quality mesh generator and Delaunay Triangulator. In: Lin MC, Manocha D (eds) Applied computational geometry: towards geometric engineering. Lecture notes in computer science, vol 1148, pp 203–222. Springer, Berlin

  20. Python programming language official website: http://www.python.org/. Retrieved on September 15, 2012

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sascha M. Schnepp.

Sample Hermes program: linear elasticity

Sample Hermes program: linear elasticity

The following program uses the Hermes library via its Python wrappers in NCLab to define weak forms for the Lamé equations of linear elasticity and solve a sample problem. The XML code representing the finite element mesh is left out. The file is part of the tutorial example A-linear/08-system in the repository hpfem/hermes-tutorial on GithubFootnote 1. All other steps of the algorithm are explained via comments in the code below:

figure a15
figure a16

The output of the script is shown in Fig. 15.

Fig. 15
figure 15

Output of the linear elasticity example—von Mises stress

Rights and permissions

Reprints and permissions

About this article

Cite this article

Schnepp, S.M. NCLab: Public Computing Laboratory. Computing 95 (Suppl 1), 675–694 (2013). https://doi.org/10.1007/s00607-012-0255-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-012-0255-3

Keywords

Mathematics Subject Classification

Navigation