Commit d8545cd0 authored by Dave Moxey's avatar Dave Moxey

Minor changes to the documentation

parent 69ec42cb
......@@ -37,7 +37,7 @@ v4.3.0
- Fix bug in C^0 projection (!541))
- Add command line option to set number of homogeneous planes (!540)
- Add option to output equi-spaced points in VTU format (!550)
- Add comand line option of part-only and part-only-overlapping (!569)
- Add command line option of `--part-only` and `--part-only-overlapping` (!569)
**MeshConvert:**
- Enable face curvature inside core MeshConvert objects (!511)
......
......@@ -12,10 +12,10 @@ for \inltt{m}odule. Note that another flag, \inltt{-r} (which stand for
on which the conversion or manipulation of the \nekpp output binary
files will be performed.
Almost all of the FieldConvert functionalities can be run in parallel if \nekpp
is compiled using MPI (see the installation documentation for additional
info on how to implement \nekpp using MPI). \footnote{the modules which
does not have parallel support will be specified in the related section}
Almost all of the FieldConvert functionalities can be run in parallel if \nekpp
is compiled using MPI (see the installation documentation for additional info on
how to implement \nekpp using MPI). \footnote{Modules that do not have parallel
support will be specified in the appropriate section.}
%
%
%
......@@ -410,7 +410,7 @@ This module does not run in parallel.
%
%
%
\subsection{Isoncontour extraction: \textit{iscontour} module}
\subsection{Isocontour extraction: \textit{iscontour} module}
Extract an isocontour from a field file. This option automatically
take the field to an equispaced distribution of points connected by
......@@ -663,73 +663,72 @@ field files placed within the directory.
%
%
\section{Processing large files in serial}
When processing large files it is not always convenient to run in parallel
but process each parallel partition in serial, for example when interpolating
one field to another.
When processing large files, it is not always convenient to run in parallel but
process each parallel partition in serial, for example when interpolating a
solution field from one mesh to another.
\subsection{Using the nprocs and procid options}
\subsection{Using the \texttt{nprocs} and \texttt{procid} options}
One option is to use the \inltt{--nprocs} and \inltt{--procid}
options. For example the following option will interpolate partition 2
of a decomposition into 10 partitions of \inltt{fiile2.xml} from
\inltt{file1.fld}
\begin{lstlisting}[style=BashInputStyle]
One option is to use the \inltt{--nprocs} and \inltt{--procid} command line
options. For example, the following command will interpolate partition 2 of a
decomposition into 10 partitions of \inltt{fiile2.xml} from \inltt{file1.fld}
\begin{lstlisting}[style=BashInputStyle]
FieldConvert --nprocs 10 --procid 2 \
-m interpfield:fromxml=file1.xml:fromfld=file1.fld \
file2.xml file2.fld
\end{lstlisting}
This call will only provide part of the overall partition and so to create the
full interpolated field you need to call a loop of such commands. For example
in a bash shell you can run
This call will only therefore consider the interpolation process across one
partition (namely, partition 2). To create the full interpolated field requires
a loop over each of the partitions, which, in a bash shell can be run as
\begin{lstlisting}[style=BashInputStyle]
for n in `seq 0 1 9`
do
FieldConvert --nprocs 10 --procid $n \
for n in `seq 0 9`; do
FieldConvert --nprocs 10 --procid $n \
-m interpfield:fromxml=file1.xml:fromfld=file1.fld \
file2.xml file2.fld
done
\end{lstlisting}
This will create a directory called \inltt{file2.fld} and put the different
parallel partitions into files with names
\inltt{P0000000.fld, P0000001.fld, .., P0000009.fld}. This is nearly a complete
parallel field file but the Info.xml file which contains the information about
which elements are in each partitioned file \inltt{P000000X.fld}. So to generate
this Info.xml file you need to call
The resulting output will lie in a directory called \inltt{file2.fld}, with each
of the different parallel partitions in files with names \inltt{P0000000.fld},
\inltt{P0000001.fld}, \dots, \inltt{P0000009.fld}. This is nearly a complete
parallel field file. However, the \inltt{Info.xml} file, which contains the
information about which elements lie in each partition, is missing. This can be
generated by using the command
\begin{lstlisting}[style=BashInputStyle]
FieldConvert --nprocs 10 file2.xml file2.fld/Info.xml:info
\end{lstlisting}
Note the final \inltt{:info} extension on the last argument is necessary to
tell FieldConvert that you wish to generate an info file but the extension
to this file is .xml. This syntax allows the routine not to get confused with
the input/output xml files.
Note the final \inltt{:info} extension on the last argument is necessary to tell
FieldConvert that you wish to generate an info file, but with the extension
\inltt{.xml}. This syntax allows the routine not to get confused with the
input/output XML files.
\subsection{ Using the --part-only and --part-only-overlapping options}
\subsection{Using the --part-only and --part-only-overlapping options}
Another approach to serially proessing a large file is to intiially process the file into multiple partitions. This can be done with the \inltt{part-only} option. So the command
Another approach to serially proessing a large file is to initially process the
file into multiple partitions. This can be done with the \inltt{--part-only}
option. So the command
\begin{lstlisting}[style=BashInputStyle]
FieldConvert --part-only 10 file.xml file.fld
\end{lstlisting}
will call the mesh partitioner for 10 paritions and write the
partitions into a director called file\_xml. If you enter this
directory you will find parititoned xml files \inltt{P0000000.xml},
\inltt{P0000001.xml},...,\inltt{P0000009.xml} which can then be
processed individually.
will partition the mesh into 10 paritions and write each partition into a
directory called \inltt{file\_xml}. If you enter this directory you will find
partitioned XML files \inltt{P0000000.xml}, \inltt{P0000001.xml}, \dots,
\inltt{P0000009.xml} which can then be processed individually as outlined above.
There is also a \inltt{part-only-overlapping} option
There is also a \inltt{--part-only-overlapping} option, which can be run in the
same fashion.
\begin{lstlisting}[style=BashInputStyle]
FieldConvert --part-only-overlapping 10 file.xml file.fld
\end{lstlisting}
which will partition the mesh into 10 overlapping partitions which can
then be processed individually. This is sometime helpful when for
example trying to produce a global isocontour which has been
In this mode, the mesh is partitioned into 10 partitions in a similar manner,
but the elements at the partition edges will now overlap, so that the
intersection of each partition with its neighbours is non-empty. This is
sometime helpful when, for example, producing a global isocontour which has been
smoothed. Applying the smoothed isocontour extraction routine with the
\inltt{part-only} option will produce a series of isocontour where
there will be a gap between partitions as the smoother tends to shrink
the isocontour within a partition. using the
\inltt{part-only-overlapping} will still have shrinking isocnotour but
the overlapping nature of these isocontour can be helpful when trying
to mask the partiiton boundaries.
\inltt{--part-only} option will produce a series of isocontour where there will
be a gap between partitions, as the smoother tends to shrink the isocontour
within a partition. using the \inltt{--part-only-overlapping} option will still
yield a shrinking isocontour, but the overlapping partitions help to overlap the
partiiton boundaries.
%%% Local Variables:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment