Nguyen Lab Wiki

This is an old revision of the document!


Lab Server

  • 2020 Mac Pro
  • IP: 10.160.49.144
  • Name: nguyens-mac.pro.win.ad.jhu.edu
  • * 3.3 GHz 12-core Intel Xeon W processor
  • * 96GB of RAM
  • * Radeon Pro 580X with 8GB of GDDR5 memory
  • * 4TB SSD
  • 2008 Mac Pro
  • IP 10.160.48.22
  • Name: allegheny.me.jhu.edu
  • * Dual Quad-core Intel Processor
  • * 32GB of RAM
  • * 2TB HDD
  • DELL Workstation
  • IP: 10.160.48.93
  • * Quad-core Intel Core-i7 @ 3.6 GHz
  • * 32GB of RAM
  • * 1TB SSD, 1TB HDD

Contact [email protected] to get a user account for the Mac Workstations. Contact WSE IT at [email protected] to create an account on DELL workstation using your JHED account.

MARCC

The Maryland Advanced Research Computing Center https://www.marcc.jhu.edu/about-marcc/about-us/

The Nguyen Lab has an allocation of 100K Compute hours per quarter and we share another 25K compute hours for research for polymer mechanics.

Obtain an account on MARCC: https://www.marcc.jhu.edu/getting-started/basic/

Basic Tutorial to get started on MARCC: https://www.marcc.jhu.edu/training/intro-sessions/

Remote Connection

For most remote connections, accessing software on Mac servers and computing resources on MARCC, you will need to connect to JHU network using VPN.

VPN - Virtual Private Network. It creates a secure tunnel between the local machine outside of the private network and a remote machine inside the private network (JHU). In other words it allows your local machine to act as if it's connected to the private network. JHU currently uses Pulse Secure as the VPN client. To get Pulse Secure,

Go to https://my.jh.edu

Navigate to VPN → Request a VPN

That will bring up a form with 2 options client based and clientless(Web based) – you need the client based and to justify it you can just say ‘need to access server remotely’ (or something more well worded. Then download the client and install on the home computer. Once you’re connected to the JH Pulse Secure network, you can VNC directly to the server.

There are many ways to connect to the server from a remote machine. Some are more secure than others and some are more efficient than others. It would help if you know the basic UNIX commands (see UNIX section below).

1) SSH: If you need an X-window to execute commands from a command line, use ssh. This is the most secure connection.

% ssh [email protected]

Enter your password at the prompt. You can then execute any unix command and launch programs. If the programs require a display, you will need to set the display environment so that you can see the display window.

  • On the local machine, before you ssh to the remote machine, type xhost remote_hostname to authorize the remote machine to connect to the local X server
    • remote_hostname refers to the name of the remote machine, eg. allegheny.me.jhu.edu
  • On the remote machine (allegheny) type setenv DISPLAY hostname:0.0 if you are using csh or tcsh shells and DISPLAY=hostname:0.0; export DISPLAY if you are using bash shell.
    • hostname is the name of the machine on which you are working. It can be obtained by typing hostname at the prompt.

3) VNC: If you need to see the full display environment of the remote host (e.g. running multiple programs at once or administering the machine, you can use a VNC remote desktop client. Apple's VNC client is called Screen Sharing. There are also free windows client for VNC. This is the slowest way to communicate with the server. It also requires that you first log into VPN. To connect, for now use the IP address of the machines. For macOS, click on Go → Connect to Server → vnc://ip_address from the top menu bar. Enter your account details to get connected.

4) Microsoft Remote Desktop: If you need to use full display environment on DELL workstation, on DELL Workstation, you can use Microsoft Remote Desktop application available on Windows (pre-installed) and Mac (need to be downloaded and installed from macOS app store). It uses RDP protocol developed by Microsoft to remotely login and connect. For Windows based remote workstations, Microsoft Remote Desktop client works the best.

5) Nomachine: Nomachine is an alternative remote login freeware,installed on DELL workstation. Nomachine uses NX protocol. For other computers, you may need to install the server version on the remote workstation and client version on your laptop (or local computer). Nomachine is freely available to students, but limited to one simultaneous connection.

6) TeamViewer: TeamViewer is another alternative freeware remote desktop server/client that is installed on the DELL Windows workstation. TeamViewer is not currently installed on DELL. Security is a concern for this third-party client, so try avoid using TeamViewer.

If you're using remote Linux Workstation, consider installing xrdp on Linux workstation to use Microsoft Remote Desktop on your laptop, if graphical display is required. Nomachine, VNC, or TeamViewer could be other alternatives.

File Transfer

1) SFTP: If you only need to move files from your local machine to the remote machine, use sftp

%sftp [email protected]

Enter your password at the prompt. You can navigate the remote host using cd and the local host using lcd. You can copy files to remote server using mput and copy files from remote server to your local server using mget.

2) FileZilla: FileZilla is GUI based SFTP client. Install FileZilla on both remote server (if not installed) and local computer. You can use FileZilla on MARCC and Lab's Mac server. See this tutorial for using FileZilla: https://wiki.filezilla-project.org/Using

3) GlobusConnect: MARCC recommends using GlobusConnect for transferring large file between MARCC and your local computer. You can install GlobusConnect Personal on your local computer to create endpoint between MARCC and your laptop to transfer large files.

4) Shared Network Folder/ Drive: You can share your working folder from Mac or DELL workstation over network and then mount the folder as a network drive on your laptop. To share the drive on Mac server, follow this: https://support.apple.com/guide/mac-help/set-up-file-sharing-on-mac-mh17131/mac. To mount the shared folder to your local macbook, click on Go → Connect to Server → smb://ip_address from the top menu bar. If you have Windows based laptop, search online for mount network drive. Advantage of this approach is you can use your laptop's native applications to open different files without any file transfer. You can drag and drop files, but sharing large files between mounted network drive and local computer might be slow. However, before using this approach, discuss with WSE-IT about security issues.

Finite Element Software

Before you read the instructions for Tahoe, please read everything under UNIX, GNU, and FINK below. Specifically, you may need to install compilers using Fink. Try installing using the instructions. If you have error, save the screen shot of the error and then come to me for help. I can't help you without knowing the specific error, and “it didn't compile” or “it quit because of an error” is not specific.

  • Tahoe Finite element package
  • Abaqus Finite element package
  • Cubit Mesh generator
  • Ensight Post processing
  • SMARS Surrogate-Model Accelerated Random Search for Solving Inverse Problems
  • CCNS Compressible fluid dynamics with sharp interface fluid-structure algorithm

MATLAB

JHU has a central license for Matlab with over 50 toolbox. Visit https://johnshopkins.service-now.com/serviceportal?id=evg_software&nbsp and search for matlab for more details. If the link above expires, go to your JHU portal, find “mysoftware” under “technology”.

Mathematica

JHU has a central license for Mathematica. You can find it in https://johnshopkins.service-now.com/serviceportal?id=evg_software&nbsp.

Academic Software

The Mechanical Engineering Department hosts a portal to download common software for academic use. Visit http://mesoftware.wse.jhu.edu/ to download

  • Abaqus
  • Ansys
  • Comsol
  • SolidWorks
  • LabView
  • Matlab
  • Mathematica
  • MathCAD
  • Adobe creative suite latest version (Photoshop, Illustrator, Adobe Acrobat Pro)

Lab Software Inventory

We have installation disks (CD) for various software and device drivers in the Lab. These are located in the desk drawer where the server sits. A cursory inventory (8/9/2013) shows the following:

  • Vic3D
  • VicSnap
  • FIDVC
  • VMWare Fusion

Antivirus Software

JHU has a central license for Endpoint Protection anti-virus software. Install a virus software even if you use a Mac. Go here http://www.it.johnshopkins.edu/antivirus/ for more information and to download the latest release.

IT@JH software catalog (SPARS)

Go to https://itservices.johnshopkins.edu to purchase the following commonly used software

Note: There is a portal for students and professors to follow from spars that will allow for a free download and installation of various windows products including windows word, and word for mac.

  • Adobe: Acrobat Pro, Photoshop, Illustrator
  • Microsoft: Windows, Word, Excel, PowerPoint
  • VMware Fusion 5.0

LATEX

Latex is a document markup language for the TEX typesetting program. Most people use it because of its facility for typesetting mathematical equations, figures, and tables. Go to the Latex Project http://www.latex-project.org/ for more information. To use latex, you will need to download, the TEX programs, macros, fonts as well as and Latex editor. There are several packages available for Mac and Windows.

For Mac, I recommend MacTex http://tug.org/mactex/ because its easy to install and robust.

For Windows, MikTex is a commonly used package (http://miktex.org/).I don't have much experience with it. Provide comments if you've used it.

Comment added by Bibekananda Datta: MikTeX on Windows works similarly as MacTex. For Linux, use TexLive; works same as MacTex and MikTeX. Another recently popular alternative is Overleaf. This is a cloud based LaTeX editor which allows easy document sharing and collaboration. Basic version is free.

UNIX

Unix is a computer operating system developed by a group at Bell Labs in 1969. Yes, that means it precedes DOS, which is the basis for Windows. UNIX is still the preferred OS for scientific computing. What you think of the Mac OS X is really a GUI interface for DARWIN, an operating system based on the BSD (Berkeley Software Distribution) variant of UNIX developed at Berkeley. UNIX has a bunch of powerful programs, packages, compilers, programs installed in /usr/bin, /usr/local/bin directories. These programs are run by typing commands in a Unix Shell (a command-line interpreter). The two most common shells are bash and tcsh. Your account on allegheny uses by default a tcsh shell. A lot of programs that you use today with pretty GUI were written for UNIX. For example, Matlab, CUBIT, and Tahoe. You will need to become familiar with the basics of UNIX before installing and compiling Tahoe. Even though Matlab has a clunky GUI interface, knowing some UNIX commands will help you become a more efficient user, and it will allow you to execute Matlab .m files remotely and from a script.

For Mac users, 1) to open a shell, use either the X11 utility installed with the Developer's tools or the Terminal application. Then learn some basic Unix commands to navigate your directories, move files, and manipulate files.

2) Bash/ Tcsh/ Zsh Profile: Create a .cshrc (tcsh) or .bashrc (bash) file to customize your Unix working environment. This is where you will be defining your environmental variables and set paths to commands. https://answers.uchicago.edu/page.php?id=16207 Here's an example of my .cshrc file.

cshrc_example.csh

Copy it to your home directory, rename it .cshrc, and edit. Anytime you change the .cshrc you must “compile” by typing on the command line: source ~/.cshrc This locally applies your changes. You must do this for all new terminals that you open. To apply the changes globally, log out and log back in.

3) Terminal based Text Editor: Learn how to use a terminal based text editor. Common ones are vi and emacs. Try pico if you really want to go retro. CVS uses the vi editor to add comments to newly added files and new versions of files.

Common vi commands:

Common emacs commands:

4) VS Code: Visual Studio Code is a popular cross-platform text editor, recently developed by Microsoft. You can highly customize VS code with available plug-ins. Plug-ins are available for language mark-up, terminal, ssh connection, etc. With SSH plug-in activated, using VS Code, you can ssh to remote machine and visualize, edit, and save files without using vi or emacs.

You can download VS Code from here: https://code.visualstudio.com/download. To activate SSH plug-in on VS Code follow this tutorial: https://www.digitalocean.com/community/tutorials/how-to-use-visual-studio-code-for-remote-development-via-the-remote-ssh-plugin.

GNU

GNU (GNU's not Unix) is a unix-like operating system that provides a collection of very very useful applications, compilers and Developer's Tools. For example, the g in the C++ compiler gcc stands for GNU.

A list of GNU programs here:

A list of GNU compilers

FINK

The Fink project provides Unix software modified to run on Mac OX. All software downloaded through fink is installed in your /sw directory so as not to replace native software in /usr. I've used Fink many times to download compilers (e.g., gcc, g77), and utilities. Downloading and installing Fink is an involved process.

Start here: http://www.finkproject.org/index.php?phpLang=en

Instructions for installations here: http://finkers.wordpress.com/installing-fink/.

User guide here: http://finkers.wordpress.com/users-guide/

Package browser here: http://pdb.finkproject.org/pdb/index.php?phpLang=en

Some packages to start with are:

  • engauge - digitize any plots/graphs to convert lines to data points
  • aspell - spell checker for Latex
  • gzip - gnu file zip and unzip utility

You may also need to use fink to install basic unix utilities like cvs, make, and makedepend, as well as the GNU compilers. If you have OS 10.9, these tools no longer are included in the Developer's tools.

DokuWiki CC Attribution-Share Alike 4.0 International