Starting from an existing script

While experienced users of ns-3 often write new simulation scripts from scratch, most users merely copy/paste an existing script which incorporates the simulation models they need and modify it until it matches what they want. Consult the extensive example scripts that ship with every module.

Building a new C++ script

Once you have identified which simulation script you would like to start from, building a modified version of this script is a matter of dropping it in the scratch directory and running waf again:

cp examples/csma/csma-broadcast.cc scratch/csma-modified.cc
./waf

Running a new script which was dropped in the scratch directory is similar to running other examples.

Building many C++ files

If your simulation script becomes complex and if you split it in more than one C++ source file, you need to create a new sub-directory in the scratch directory:

mkdir scratch/modified
cp x.cc scratch/modified
cp y.cc scratch/modified
./waf 

This will build a new program named after the name of your sub-directory (modified here) and you can run it just like any other example:

./waf --run modified