                        ESP: The Engineering Sketch Pad
                             Rev 1.29 -- December 2025

                          https://acdl.mit.edu/ESP/


1. Prerequisites

    The major prerequisite is a WebGL/Websocket capable Browser. In general
    these include Mozilla's FireFox and Google Chrome. Also, note that there
    are some problems with Intel Graphics and some WebGL Browsers. The setup
    scripts set the browser to FireFox.

    Note, OpenCASCADE, Python and ESP have been built on:
        linux-x86_64 - a CentOS 7 machine.
        linux-aarch64 - an Ubuntu 20.04 machine (experimental!).

1.1 Distribution Layout

    README.txt         - this file
    EngSketchPad       - the source and built ESP components
    OpenCASCADE-7.8.1  - the version of OpenCASCADE used
    Python-3.12.10     - a prebuilt version of Python
    setup.desktop      - the double-click file to execute setup.sh
    setup.sh           - the ESP setup script


2.0 Installation

    Place "ESP129-linux-x86_64.tgz" or "ESP129-linux-aarch64.tgz" in the
    desired location (that has no spaces in the path). The open a Terminal and
    issue the following commands (replace x86_64 with aarch64 if appropriate):

	% cd <TheDirecoryThatContainsESP129-linux-x86_64.tgz>
	% tar xvzf ESP129-linux-x86_64.tgz
	% cd ESP129
	% ./setup.sh

    You can then delete the tgz file, if you wish.

    This should unpack the distribution and place two icons on your Desktop.
    If the icons have the ESP logo, then you are set. If they do not have
    the ESP icon, right-click on the ESP129b.desktop file and select "Allow
    Launching". If that option does not exist, try "Open" and then select
    "Trust and Launch". If neither option works double-click on the file and
    select "Trust and Launch". Do the same for the ESP129r.desktop file.

    The desktop command prompt (labeled "ESP 1.29") when double-clicked starts
    up the appropriate shell and sets the environment and then due to a "quirk"
    needs to execute another shell that inherits the first environment. It is
    possible that the users "dot" files may not be setup to allow for this. If
    that is the case, the command prompt may not be able to be used, and you
    should simply startup a terminal and source the appropriate ESPenv file.

    The command prompt labeled "Run ESP 1.29" starts up "serveESP" directly
    and terminates when the ESP browser session completes.


3.0 Running ESP

3.1 serveESP

    To run the program, either just double click on the "RunESP1.29"
    shortcut or double click on the Desktop ShortCut "ESP1.29" and use:

         % serveESP ../data/tutorial1

    Once the browser starts, you may be prompted for a "hostname:port".
    Make the appropriate response depending on the network situation. Once
    the ESP GUI is functional, press the "help" button in the upper left
    if you want to execute the tutorial.

3.2 egads2cart

    This example takes an input geometry file and generates a Cart3D "tri"
    file. The acceptable input is STEP, EGADS or OpenCASCADE BRep files
    (which can all be generated from an OpenCSM "dump" command).

        % egads2cart geomFilePath [angle relSide relSag]

3.3 vTess and wvClient

    vTess allows for the examination of geometry through its discrete
    representation. Like egads2cart, the acceptable geometric input is STEP,
    EGADS or OpenCASCADE BRep files. vTess acts like serveESP.

        % vTess geomFilePath [angle maxlen sag]


4.0 CAPS (Computational Aircraft Prototype Syntheses)

    Note that CAPS has been built with the version of Python in this pre-built
    distribution. If you wish to use ESP in a larger Python environment it is
    strongly suggested that you build ESP.

4.1 Documentation

    The CAPS documentation can be seen in PDF form from within the directory
    $ESP_ROOT/doc/CAPS. Or in html by $ESP_ROOT/doc/CAPS/CAPS_Overview.html.

4.2 Executing CAPS through Python

    % python pyCAPSscript.py  (Note: many example Python scripts can be
                                     found in $ESP_ROOT/CAPSexamples/pyCAPS)

4.4 MPI for Toolkit for the Analysis of Composite Structures (TACS)

    TACS is provided with pre-compiled versions of MPI. Please use mpiexec_esp
    to execute python TACS scripts in parallel.
