Skip to content

Commit

Permalink
update and fixes to docs (#37)
Browse files Browse the repository at this point in the history
  • Loading branch information
oskooi authored and stevengj committed Jan 11, 2019
1 parent c744b8f commit a86046b
Show file tree
Hide file tree
Showing 38 changed files with 57 additions and 45 deletions.
6 changes: 5 additions & 1 deletion AUTHORS
@@ -1,4 +1,8 @@
libctl was written by Steven G. Johnson (stevenj@alum.mit.edu).
libctl was written by Steven G. Johnson (stevenj@alum.mit.edu) with contributions by:

M.T. Homer Reid
Christopher Hogan
Ardavan Oskooi

The multidimensional integration routines in src/integrator.c were adapted
from the HIntlib Library by Rudolf Schuerer and from the GNU Scientific
Expand Down
2 changes: 1 addition & 1 deletion COPYRIGHT
@@ -1,5 +1,5 @@
/* libctl: flexible Guile-based control files for scientific software
* Copyright (C) 1998-2018 Massachusetts Institute of Technology and Steven G. Johnson
* Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
Expand Down
4 changes: 2 additions & 2 deletions README.md
@@ -1,10 +1,10 @@
[![Latest Docs](https://readthedocs.org/projects/pip/badge/?version=latest)](http://libctl.readthedocs.io/en/latest/)
[![Build Status](https://travis-ci.org/stevengj/libctl.svg?branch=master)](https://travis-ci.org/stevengj/libctl)
[![Build Status](https://travis-ci.org/NanoComp/libctl.svg?branch=master)](https://travis-ci.org/NanoComp/libctl)

This is libctl, a [Guile](http://www.gnu.org/software/guile/)-based library for supporting flexible control
files in scientific simulations.

The official released versions of Libctl can be found in the [releases page](https://github.com/stevengj/libctl/releases). See the [Installation section of the manual](http://libctl.readthedocs.io/en/latest/Installation/) for more information, but to install libctl from an official release, one normally only needs to do:
The official released versions of Libctl can be found in the [releases page](https://github.com/NanoComp/libctl/releases). See the [Installation section of the manual](http://libctl.readthedocs.io/en/latest/Installation/) for more information, but to install libctl from an official release, one normally only needs to do:

./configure
make
Expand Down
2 changes: 1 addition & 1 deletion base/class.scm
@@ -1,5 +1,5 @@
; libctl: flexible Guile-based control files for scientific software
; Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
; Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
;
; This library is free software; you can redistribute it and/or
; modify it under the terms of the GNU Lesser General Public
Expand Down
2 changes: 1 addition & 1 deletion base/ctl.scm
@@ -1,5 +1,5 @@
; libctl: flexible Guile-based control files for scientific software
; Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
; Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
;
; This library is free software; you can redistribute it and/or
; modify it under the terms of the GNU Lesser General Public
Expand Down
2 changes: 1 addition & 1 deletion base/extern-funcs.scm
@@ -1,5 +1,5 @@
; libctl: flexible Guile-based control files for scientific software
; Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
; Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
;
; This library is free software; you can redistribute it and/or
; modify it under the terms of the GNU Lesser General Public
Expand Down
2 changes: 1 addition & 1 deletion base/help.scm
@@ -1,5 +1,5 @@
; libctl: flexible Guile-based control files for scientific software
; Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
; Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
;
; This library is free software; you can redistribute it and/or
; modify it under the terms of the GNU Lesser General Public
Expand Down
2 changes: 1 addition & 1 deletion base/include.scm
@@ -1,5 +1,5 @@
; libctl: flexible Guile-based control files for scientific software
; Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
; Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
;
; This library is free software; you can redistribute it and/or
; modify it under the terms of the GNU Lesser General Public
Expand Down
2 changes: 1 addition & 1 deletion base/interaction.scm
@@ -1,5 +1,5 @@
; libctl: flexible Guile-based control files for scientific software
; Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
; Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
;
; This library is free software; you can redistribute it and/or
; modify it under the terms of the GNU Lesser General Public
Expand Down
2 changes: 1 addition & 1 deletion base/io-vars.scm
@@ -1,5 +1,5 @@
; libctl: flexible Guile-based control files for scientific software
; Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
; Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
;
; This library is free software; you can redistribute it and/or
; modify it under the terms of the GNU Lesser General Public
Expand Down
2 changes: 1 addition & 1 deletion base/math-utils.scm
@@ -1,5 +1,5 @@
; libctl: flexible Guile-based control files for scientific software
; Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
; Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
;
; This library is free software; you can redistribute it and/or
; modify it under the terms of the GNU Lesser General Public
Expand Down
2 changes: 1 addition & 1 deletion base/matrix3x3.scm
@@ -1,5 +1,5 @@
; libctl: flexible Guile-based control files for scientific software
; Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
; Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
;
; This library is free software; you can redistribute it and/or
; modify it under the terms of the GNU Lesser General Public
Expand Down
2 changes: 1 addition & 1 deletion base/simplex.scm
@@ -1,5 +1,5 @@
; libctl: flexible Guile-based control files for scientific software
; Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
; Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
;
; This library is free software; you can redistribute it and/or
; modify it under the terms of the GNU Lesser General Public
Expand Down
2 changes: 1 addition & 1 deletion base/utils.scm
@@ -1,5 +1,5 @@
; libctl: flexible Guile-based control files for scientific software
; Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
; Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
;
; This library is free software; you can redistribute it and/or
; modify it under the terms of the GNU Lesser General Public
Expand Down
2 changes: 1 addition & 1 deletion base/vector3.scm
@@ -1,5 +1,5 @@
; libctl: flexible Guile-based control files for scientific software
; Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
; Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
;
; This library is free software; you can redistribute it and/or
; modify it under the terms of the GNU Lesser General Public
Expand Down
4 changes: 3 additions & 1 deletion doc/docs/Advanced_User_Experience.md
Expand Up @@ -4,7 +4,9 @@

Many more things can be accomplished in a control file besides simply specifying the parameters of a computation, and even that can be done in a more sophisticated way than we have already described. The key to this functionality is the fact that the ctl file is actually written in a full programming language, called Scheme. This language is interpreted and executed at run-time using an interpreter named Guile. The fact that it is a full programming language means that you can do practically anything — the only limitations are in the degree of interaction supported by the simulation program.

In a [later section](Guile_and_Scheme_Information), we provide links to more information on Scheme and Guile.
In a [later section](Guile_and_Scheme_Information.md), we provide links to more information on Scheme and Guile.

[TOC]

Interactive Mode
----------------
Expand Down
6 changes: 4 additions & 2 deletions doc/docs/Basic_User_Experience.md
Expand Up @@ -6,6 +6,8 @@ At their most basic level, **ctl** files are simply a collection of values for p

The ctl syntax for all programs using libctl is similar, although the specific parameters needed will vary. The following examples are given for a fictitious libctl-using program, in order to illustrate its general style.

[TOC]

A Fictitious Example
--------------------

Expand All @@ -21,7 +23,7 @@ All input variable settings can follow the format `(set! variable value)`. The p
(set-param! grid-size 128)
```

which works exactly like `set!` except that now `grid-size` can be overridden from the command-line. For this reason, `set-param!` (a libctl extension to Scheme) is usually preferred. See also [Command-Line Parameters](Advanced_User_Experience#command-line-parameters).
which works exactly like `set!` except that now `grid-size` can be overridden from the command-line. For this reason, `set-param!` (a libctl extension to Scheme) is usually preferred. See also [Command-Line Parameters](Advanced_User_Experience.md#command-line-parameters).

Settings of input variables can appear in any order in the file. They can even be omitted completely in many cases, and a reasonable default will be used. Variables can be of many different types, including integers, real numbers, boolean values (`true` and `false`), strings, 3-vectors, and lists. Here is how we might set some parameters of various types:

Expand Down Expand Up @@ -91,7 +93,7 @@ What Do I Enter?

Every program will have a different set of variables that it expects you to set, and a different set of classes with different properties. Whatever program you are using should come with documentation saying what it expects.

You can also get the program to print out help by inserting the `(help)` command in your ctl file, or by entering it in [interactive mode](Advanced_User_Experience/#interactive-mode). You can also simply enter the following command in your shell:
You can also get the program to print out help by inserting the `(help)` command in your ctl file, or by entering it in [interactive mode](Advanced_User_Experience.md#interactive-mode). You can also simply enter the following command in your shell:

`echo "(help)" | program`

Expand Down
2 changes: 2 additions & 0 deletions doc/docs/Developer_Experience.md
Expand Up @@ -8,6 +8,8 @@ In fact, however, using libctl is much easier than writing your program for a tr

The specifications file is written in Scheme, and consists of definitions for the classes and input/output variables the program expects. It may also contain any predefined functions or variables that might be useful in ctl files for the program, and says which functions in your program are callable from the ctl script.

[TOC]

Defining input variables
------------------------

Expand Down
4 changes: 2 additions & 2 deletions doc/docs/Guile_and_Scheme_Information.md
Expand Up @@ -68,10 +68,10 @@ In Scheme, we would then use

The variable *foo* would then be a list of numbers '(1 3 12.2 14.5 16 18).

Libctl Tricks Specific to [Meep](index.md) and [MPB](https://mpb.readthedocs.io)
Libctl Tricks Specific to [Meep](https://meep.readthedocs.io) and [MPB](https://mpb.readthedocs.io)
--------------------------------------------------------------------------------

[libctl](https://libctl.readthedocs.io) has a couple of built-in functions `arith-sequence` and `interpolate` (see the [User Reference](https://libctl.readthedocs.io/en/latest/Libctl_User_Reference/)) to construct lists of a regular sequence of values, which you can use in conjunction with `map` as above:
libctl has a couple of built-in functions `arith-sequence` and `interpolate` (see the [User Reference](User_Reference.md)) to construct lists of a regular sequence of values, which you can use in conjunction with `map` as above:

`(map (lambda (x) `*`...do` `stuff` `with` `x...`*`) (arith-sequence x-min dx num-x))`

Expand Down
12 changes: 6 additions & 6 deletions doc/docs/Installation.md
Expand Up @@ -4,7 +4,7 @@

The main effort in installing libctl lies in installing the prerequisite packages. This requires some understanding of how to install software on Unix systems.

The official releases of Libctl can be found on the [releases page on github](https://github.com/stevengj/libctl/releases), and the changes in each version are summarized in the [NEWS file](https://github.com/stevengj/libctl/blob/master/NEWS.md).
The official releases of Libctl can be found on the [releases page on github](https://github.com/NanoComp/libctl/releases), and the changes in each version are summarized in the [NEWS file](https://github.com/NanoComp/libctl/blob/master/NEWS.md).

[TOC]

Expand Down Expand Up @@ -87,7 +87,7 @@ Guile is an extension/scripting language implementation based on Scheme, and we

### Building From Source

Here we provide instructions for building libctl from source on Ubuntu 16.04. Gzipped tarballs of stable versions are available on the [releases page](https://github.com/stevengj/libctl/releases).
Here we provide instructions for building libctl from source on Ubuntu 16.04. Gzipped tarballs of stable versions are available on the [releases page](https://github.com/NanoComp/libctl/releases).

```bash
#!/bin/bash
Expand All @@ -100,9 +100,9 @@ sudo apt-get -y install git guile-2.0-dev
mkdir -p ~/install

cd ~/install
wget https://github.com/stevengj/libctl/releases/download/v4.0.0/libctl-4.0.0.tar.gz
tar xvzf libctl-4.0.0.tar.gz
cd libctl-4.0.0/
wget https://github.com/NanoComp/libctl/releases/download/v4.2.0/libctl-4.2.0.tar.gz
tar xvzf libctl-4.2.0.tar.gz
cd libctl-4.2.0/
./configure --enable-shared LDFLAGS="-L/usr/local/lib -Wl,-rpath,/usr/local/lib"
make && sudo make install
```
Expand All @@ -117,7 +117,7 @@ If you want to modify the libctl source code, you will want to have a number of
Once you have Git, you can grab the latest development version of libctl with:

```sh
git clone https://github.com/stevengj/libctl.git
git clone https://github.com/NanoComp/libctl.git
```

This gives you a fresh, up-to-date libctl repository in a directory `libctl`. See [git-scm.com](https://git-scm.com/) for more information on using Git; perhaps the most useful command is `git pull`, which you can execute periodically to get any new updates to the development version.
Expand Down
2 changes: 1 addition & 1 deletion doc/docs/License_and_Copyright.md
Expand Up @@ -2,7 +2,7 @@
# License and Copyright
---

libctl is copyright © 1998—2018, Steven G. Johnson.
libctl is copyright © 1998—2019, Steven G. Johnson.

libctl is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Expand Down
2 changes: 2 additions & 0 deletions doc/docs/User_Reference.md
Expand Up @@ -10,6 +10,8 @@ Outputs a listing of all the available classes, their properties, default values

Remember, Guile lets you enter expressions and see their values interactively. This is the best way to learn how to use anything that confuses you — just try it and see how it works.

[TOC]

Basic Scheme Functions
----------------------

Expand Down
2 changes: 1 addition & 1 deletion doc/docs/index.md
Expand Up @@ -12,4 +12,4 @@ Welcome to the manual for **libctl**, a Guile-based library implementing flexibl
Feedback
--------

For questions, bug reports, and feature requests, please file a [GitHub issue](https://github.com/stevengj/libctl/issues).
For questions, bug reports, and feature requests, please file a [GitHub issue](https://github.com/NanoComp/libctl/issues).
2 changes: 1 addition & 1 deletion examples/example.c
@@ -1,5 +1,5 @@
/* libctl: flexible Guile-based control files for scientific software
* Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
* Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
Expand Down
2 changes: 1 addition & 1 deletion examples/example.scm.in
@@ -1,4 +1,4 @@
; Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
; Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
;
; This file may be used without restriction. It is in the public
; domain, and is NOT restricted by the terms of any GNU license.
Expand Down
2 changes: 1 addition & 1 deletion examples/run.ctl
@@ -1,4 +1,4 @@
; Copyright (C) 1998, 1999, 2000, 2001, 2002, Steven G. Johnson
; Copyright (C) 1998-2019 Steven G. Johnson
;
; This file may be used without restriction. It is in the public
; domain, and is NOT restricted by the terms of any GNU license.
Expand Down
4 changes: 2 additions & 2 deletions mkdocs.yml
@@ -1,5 +1,5 @@
site_name: libctl Documentation
site_author: S. G. Johnson et al.
site_author: libctl Developers
repo_url: https://github.com/NanoComp/libctl/

docs_dir: 'doc/docs'
Expand All @@ -26,7 +26,7 @@ pages:
- Installation: Installation.md
- Basic User Experience: Basic_User_Experience.md
- Advanced User Experience: Advanced_User_Experience.md
- Developer Experience: Developer_Experience.md
- User Reference: User_Reference.md
- Developer Experience: Developer_Experience.md
- Guile and Scheme Information: Guile_and_Scheme_Information.md
- License and Copyright: License_and_Copyright.md
2 changes: 1 addition & 1 deletion src/ctl-f77-glue.c
@@ -1,5 +1,5 @@
/* libctl: flexible Guile-based control files for scientific software
* Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
* Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
Expand Down
2 changes: 1 addition & 1 deletion src/ctl-math.c
@@ -1,5 +1,5 @@
/* libctl: flexible Guile-based control files for scientific software
* Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
* Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
Expand Down
2 changes: 1 addition & 1 deletion src/ctl-math.h
@@ -1,5 +1,5 @@
/* libctl: flexible Guile-based control files for scientific software
* Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
* Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
Expand Down
2 changes: 1 addition & 1 deletion src/ctl.c
@@ -1,5 +1,5 @@
/* libctl: flexible Guile-based control files for scientific software
* Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
* Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
Expand Down
2 changes: 1 addition & 1 deletion src/ctl.h.in
@@ -1,5 +1,5 @@
/* libctl: flexible Guile-based control files for scientific software
* Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
* Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
Expand Down
2 changes: 1 addition & 1 deletion utils/ctl-io.scm
@@ -1,5 +1,5 @@
; libctl: flexible Guile-based control files for scientific software
; Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
; Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
;
; This library is free software; you can redistribute it and/or
; modify it under the terms of the GNU Lesser General Public
Expand Down
2 changes: 1 addition & 1 deletion utils/ctlgeom.h
@@ -1,5 +1,5 @@
/* libctl: flexible Guile-based control files for scientific software
* Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
* Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
Expand Down
2 changes: 1 addition & 1 deletion utils/gen-ctl-io.1
@@ -1,5 +1,5 @@
.\" libctl: flexible Guile-based control files for scientific software
.\" Copyright (C) 1998, 1999, 2000, 2001, 2002, Steven G. Johnson
.\" Copyright (C) 1998-2019 Steven G. Johnson
.\"
.\" This library is free software; you can redistribute it and/or
.\" modify it under the terms of the GNU Lesser General Public
Expand Down
2 changes: 1 addition & 1 deletion utils/geom.c
@@ -1,5 +1,5 @@
/* libctl: flexible Guile-based control files for scientific software
* Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
* Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
Expand Down
2 changes: 1 addition & 1 deletion utils/geom.scm
@@ -1,5 +1,5 @@
; libctl: flexible Guile-based control files for scientific software
; Copyright (C) 1998-2014 Massachusetts Institute of Technology and Steven G. Johnson
; Copyright (C) 1998-2019 Massachusetts Institute of Technology and Steven G. Johnson
;
; This library is free software; you can redistribute it and/or
; modify it under the terms of the GNU Lesser General Public
Expand Down

0 comments on commit a86046b

Please sign in to comment.