From 6ef9a9bc0fab7f20c309c9ffcc40e410f4500cdd Mon Sep 17 00:00:00 2001
From: benkirk
Date: Tue, 12 Feb 2002 14:37:27 +0000
Subject: [PATCH] Added binary Tecplot support in the DataOutBase class and
added necessary hooks in ./configure to support this
git-svn-id: https://svn.dealii.org/trunk@5510 0785d39b-7218-0410-832d-ea1e28bc413d
---
deal.II/aclocal.m4 | 24 +
deal.II/base/include/base/config.h.in | 3 +
deal.II/base/include/base/data_out_base.h | 99 +++-
.../source/data_out_base.all_dimensions.cc | 7 +
deal.II/base/source/data_out_base.cc | 530 +++++++++++++++++-
deal.II/common/Make.global_options.in | 9 +-
deal.II/configure | 431 ++++++++++----
deal.II/configure.in | 7 +
deal.II/doc/development/Makefile | 2 +
deal.II/doc/development/makefiles.1.html | 27 +-
deal.II/doc/news/2002/c-3-3.html | 20 +-
deal.II/doc/news/news.html | 12 +
deal.II/doc/readme.html | 10 +-
13 files changed, 1028 insertions(+), 153 deletions(-)
diff --git a/deal.II/aclocal.m4 b/deal.II/aclocal.m4
index 69fe36eeed..4239941b69 100644
--- a/deal.II/aclocal.m4
+++ b/deal.II/aclocal.m4
@@ -704,3 +704,27 @@ void f (const std::ostream &out);
])
)
+
+dnl Check for the Tecplot API. If it is found we will be able to write
+dnl Tecplot binary files directly.
+dnl
+dnl This is a little ugly since we aren't guaranteed that TECHOME
+dnl will point to the installation directory. It could just as
+dnl easily be TEC80HOME, TEC90HOME, etc... So, better check them all
+dnl
+dnl Usage: DEAL_II_CONFIGURE_TECPLOT
+dnl
+AC_DEFUN(DEAL_II_CONFIGURE_TECPLOT, dnl
+[
+ AC_CHECK_FILE($TECHOME/lib/tecio.a, TECPLOT_LIBRARY_PATH=$TECHOME/lib/tecio.a)
+ AC_CHECK_FILE($TEC80HOME/lib/tecio.a, TECPLOT_LIBRARY_PATH=$TEC80HOME/lib/tecio.a)
+ AC_CHECK_FILE($TEC90HOME/lib/tecio.a, TECPLOT_LIBRARY_PATH=$TEC90HOME/lib/tecio.a)
+ AC_SUBST(TECPLOT_LIBRARY_PATH)
+ AC_CHECK_FILE($TECHOME/include/TECIO.h, TECPLOT_INCLUDE_PATH=$TECHOME/include)
+ AC_CHECK_FILE($TEC80HOME/include/TECIO.h, TECPLOT_INCLUDE_PATH=$TEC80HOME/include)
+ AC_CHECK_FILE($TEC90HOME/include/TECIO.h, TECPLOT_INCLUDE_PATH=$TEC90HOME/include)
+ AC_SUBST(TECPLOT_INCLUDE_PATH)
+ if test -r $TECPLOT_LIBRARY_PATH -a -r $TECPLOT_INCLUDE_PATH/TECIO.h ; then
+ AC_DEFINE(DEAL_II_HAVE_TECPLOT, 1,[Flag indicating whether the library shall be compiled to use the Tecplot interface])
+ fi
+])
diff --git a/deal.II/base/include/base/config.h.in b/deal.II/base/include/base/config.h.in
index 6b04e2b73b..979597596b 100644
--- a/deal.II/base/include/base/config.h.in
+++ b/deal.II/base/include/base/config.h.in
@@ -82,5 +82,8 @@
/* Enable the multigrid components of the library */
#undef ENABLE_MULTIGRID
+/* Flag indicating whether the library shall be compiled to use the Tecplot interface */
+#undef DEAL_II_HAVE_TECPLOT
+
#endif
diff --git a/deal.II/base/include/base/data_out_base.h b/deal.II/base/include/base/data_out_base.h
index d8c999054c..c87d3d09c4 100644
--- a/deal.II/base/include/base/data_out_base.h
+++ b/deal.II/base/include/base/data_out_base.h
@@ -21,6 +21,13 @@
#include
#include
+// Only include the Tecplot API header if the appropriate files
+// were detected by configure
+#ifdef DEAL_II_HAVE_TECPLOT
+# include "TECIO.h"
+# include
+#endif
+
// we only need output streams, but older compilers did not provide
// them in a separate include file
#ifdef HAVE_STD_OSTREAM_HEADER
@@ -286,14 +293,22 @@ class ParameterHandler;
* @sect3{Tecplot format}
*
* The @p{write_tecplot} function and the @p{write} function through the @p{tecplot}
- * parameter write the data in the Tecplot (http://www.amtec.com) FEBLOCK format. The
+ * parameter write the data in the Tecplot @url{http://www.amtec.com} FEBLOCK format. The
* program supports 1, 2, and 3D data and has features such as contouring, slicing,
* drawing streamlines, and animation. Patches are written as a collection of
* quadrilaterals in 2D or bricks in 3D, with the nodal values interpolated to
- * (bi-,tri-) linear elements.
+ * (bi-,tri-) linear elements. These functions will write Tecplot ASCII formatted files.
+ *
+ * Additionally, Tecplot binary output is supported through the @p{write_tecplot_binary}
+ * and the @p{write} function through the @p{tecplot_binary} parameter. For this to work
+ * properly @p{./configure} checks for the Tecplot API at build time. To write Tecplot binary
+ * files directly make sure that the TECHOME environment variable points to the
+ * Tecplot installation directory, and that the files $TECHOME/include/TECIO.h
+ * and $TECHOME/lib/tecio.a are readable. If these files are not availabe (or in the
+ * case of 1D) @p{write_tecplot_binary} will simply call @{write_tecplot} and thus larger
+ * ASCII data files will be produced rather than more efficient Tecplot binary files.
+ * For more information consult the Tecplot Users and Reference manuals.
*
- * Future work will write Tecplot binary files directly rather than the current
- * ASCI text files provided the proper libraries are detected at compile time.
*
*
* @sect3{VTK format}
@@ -1140,18 +1155,25 @@ class DataOutBase
*/
struct TecplotFlags
{
- private:
- /**
- * Dummy entry to suppress compiler
- * warnings when copying an empty
- * structure. Remove this member
- * when adding the first flag to
- * this structure (and remove the
- * @p{private} as well).
- */
- int dummy;
public:
+
+ /**
+ * This variable is needed to hold the
+ * output file name when using the
+ * Tecplot API to write binary files.
+ * If the user doesn't set the file
+ * name with this variable only
+ * ASCII Tecplot output will be
+ * produced.
+ */
+ const char* tecplot_binary_file_name;
+
+ /**
+ * Constructor
+ **/
+ TecplotFlags (const char* tecplot_binary_file_name = NULL);
+
/**
* Declare all flags with name
* and type as offered by this
@@ -1327,7 +1349,7 @@ class DataOutBase
/**
* Write the given list of patches
* to the output stream in Tecplot
- * format. See the general
+ * ASCII format. See the general
* documentation for more information
* on the parameters.
*/
@@ -1337,6 +1359,27 @@ class DataOutBase
const TecplotFlags &flags,
std::ostream &out);
+ /**
+ * Write the given list of patches
+ * to the output stream in Tecplot
+ * binary format. See the general
+ * documentation for more information
+ * on the parameters. @p{tecplot_binary_file_name}
+ * (specified through the TecplotFlags
+ * struct) indicates the name of the file
+ * to be written. If the file name is not
+ * set ASCII output is produced.
+ *
+ * If the Tecplot API is not present this simply
+ * calls the standard write_tecplot file so that
+ * ASCII output is still produced.
+ */
+ template
+ static void write_tecplot_binary (const typename std::vector > &patches,
+ const std::vector &data_names,
+ const TecplotFlags &flags,
+ std::ostream &out);
+
/**
* Write the given list of
* patches to the output stream
@@ -1406,7 +1449,19 @@ class DataOutBase
* Exception
*/
DeclException0 (ExcIO);
-
+ /**
+ * Exception
+ */
+ DeclException0 (ExcTecplotAPIError);
+ /**
+ * Exception
+ */
+ DeclException1 (ExcErrorOpeningTecplotFile,
+ char*,
+ << "There was an error opening Tecplot file " << arg1
+ << " for output");
+
+
private:
/**
* Class holding the data of one
@@ -1600,7 +1655,7 @@ class DataOutInterface : private DataOutBase
* the presently supported output
* formats.
*/
- enum OutputFormat { default_format, dx, ucd, gnuplot, povray, eps, gmv, tecplot, vtk };
+ enum OutputFormat { default_format, dx, ucd, gnuplot, povray, eps, gmv, tecplot, tecplot_binary, vtk };
/**
* Obtain data through the
@@ -1659,6 +1714,16 @@ class DataOutInterface : private DataOutBase
*/
void write_tecplot (std::ostream &out) const;
+ /**
+ * Obtain data through the
+ * @p{get_patches} function and
+ * write it in the Tecplot binary
+ * output format. Note that the name
+ * of the output file must be specified
+ * through the TecplotFlags interface.
+ */
+ void write_tecplot_binary (std::ostream &out) const;
+
/**
* Obtain data through the
* @p{get_patches} function and
diff --git a/deal.II/base/source/data_out_base.all_dimensions.cc b/deal.II/base/source/data_out_base.all_dimensions.cc
index 9788987fbd..8733788322 100644
--- a/deal.II/base/source/data_out_base.all_dimensions.cc
+++ b/deal.II/base/source/data_out_base.all_dimensions.cc
@@ -382,6 +382,13 @@ DataOutBase::GmvFlags::memory_consumption () const
+DataOutBase::TecplotFlags::TecplotFlags (const char* tecplot_binary_file_name) :
+ tecplot_binary_file_name(tecplot_binary_file_name)
+{
+};
+
+
+
void DataOutBase::TecplotFlags::declare_parameters (ParameterHandler &/*prm*/)
{};
diff --git a/deal.II/base/source/data_out_base.cc b/deal.II/base/source/data_out_base.cc
index 9e6516b6f0..157797a7a3 100644
--- a/deal.II/base/source/data_out_base.cc
+++ b/deal.II/base/source/data_out_base.cc
@@ -2305,8 +2305,8 @@ void DataOutBase::write_gmv (const typename std::vector > &p
template
void DataOutBase::write_tecplot (const typename std::vector > &patches,
const std::vector &data_names,
- const TecplotFlags &/*flags*/,
- std::ostream &out)
+ const TecplotFlags &flags,
+ std::ostream &out)
{
AssertThrow (out, ExcIO());
@@ -2320,8 +2320,8 @@ void DataOutBase::write_tecplot (const typename std::vector
Assert (n_data_sets == patches[0].data.n_rows(),
ExcUnexpectedNumberOfDatasets (patches[0].data.n_rows(), n_data_sets));
-
+
// first count the number of cells
// and cells for later use
unsigned int n_cells = 0,
@@ -2353,7 +2353,9 @@ void DataOutBase::write_tecplot (const typename std::vector
};
- ///////////////////////
+
+
+ ///////////
// preamble
{
std::time_t time1= std::time (0);
@@ -2371,7 +2373,7 @@ void DataOutBase::write_tecplot (const typename std::vector
<< "# For a description of the Tecplot format see the Tecplot documentation."
<< std::endl
<< "#" << std::endl;
-
+
out << "Variables=";
@@ -2396,21 +2398,21 @@ void DataOutBase::write_tecplot (const typename std::vector
};
out << std::endl;
-
+
if (dim > 1)
{
out << "zone f=feblock, n=" << n_nodes << ", e=" << n_cells << ", et=";
-
+
switch (dim)
{
- case 2:
- out << "quadrilateral" << std::endl;
- break;
- case 3:
- out << "brick" << std::endl;
- break;
- default:
- Assert (false, ExcNotImplemented());
+ case 2:
+ out << "quadrilateral" << std::endl;
+ break;
+ case 3:
+ out << "brick" << std::endl;
+ break;
+ default:
+ Assert (false, ExcNotImplemented());
};
}
else
@@ -2420,7 +2422,7 @@ void DataOutBase::write_tecplot (const typename std::vector
};
- // in Tecplot block format the vertex
+ // in Tecplot FEBLOCK format the vertex
// coordinates and the data have an
// order that is a bit unpleasant
// (first all x coordinates, then
@@ -2441,6 +2443,7 @@ void DataOutBase::write_tecplot (const typename std::vector
// separate thread and when wanting
// to write out the data, we wait
// for that thread to finish
+
std::vector > data_vectors (n_data_sets,
std::vector (n_nodes));
Threads::ThreadManager thread_manager;
@@ -2458,7 +2461,8 @@ void DataOutBase::write_tecplot (const typename std::vector
for (unsigned int d=1; d<=spacedim; ++d)
- {
+ {
+
for (typename std::vector >::const_iterator patch=patches.begin();
patch!=patches.end(); ++patch)
{
@@ -2485,6 +2489,7 @@ void DataOutBase::write_tecplot (const typename std::vector
// compute coordinates for
// this patch point
+
out << (((patch->vertices[1](d-1) * x_frac) +
(patch->vertices[0](d-1) * (1-x_frac))) * (1-y_frac) +
((patch->vertices[2](d-1) * x_frac) +
@@ -2513,6 +2518,7 @@ void DataOutBase::write_tecplot (const typename std::vector
// compute coordinates for
// this patch point
+
out << ((((patch->vertices[1](d-1) * x_frac) +
(patch->vertices[0](d-1) * (1-x_frac))) * (1-y_frac) +
((patch->vertices[2](d-1) * x_frac) +
@@ -2523,7 +2529,6 @@ void DataOutBase::write_tecplot (const typename std::vector
(patch->vertices[7](d-1) * (1-x_frac))) * y_frac) * z_frac)
<< '\n';
};
-
break;
};
@@ -2546,6 +2551,7 @@ void DataOutBase::write_tecplot (const typename std::vector
// then write data.
for (unsigned int data_set=0; data_set(out, "\n"));
@@ -2576,11 +2582,14 @@ void DataOutBase::write_tecplot (const typename std::vector
{
for (unsigned int i=0; i
for (unsigned int k=0; k
default:
Assert (false, ExcNotImplemented());
};
+
};
+
// assert the stream is still ok
AssertThrow (out, ExcIO());
@@ -2636,6 +2648,459 @@ void DataOutBase::write_tecplot (const typename std::vector
+//--------------------------------------------------------
+// Macros for handling Tecplot API data
+
+#ifdef DEAL_II_HAVE_TECPLOT
+
+namespace
+{
+ class TecplotMacros
+ {
+ public:
+ TecplotMacros(const unsigned int n_nodes = 0,
+ const unsigned int n_vars = 0,
+ const unsigned int n_cells = 0,
+ const unsigned int n_vert = 0);
+ ~TecplotMacros();
+ float & nd(const unsigned int i, const unsigned int j);
+ int & cd(const unsigned int i, const unsigned int j);
+ float* nodalData;
+ int* connData;
+ private:
+ unsigned int n_nodes;
+ unsigned int n_vars;
+ unsigned int n_cells;
+ unsigned int n_vert;
+ };
+}
+
+
+
+TecplotMacros::TecplotMacros(const unsigned int n_nodes,
+ const unsigned int n_vars,
+ const unsigned int n_cells,
+ const unsigned int n_vert) :
+ n_nodes(n_nodes),
+ n_vars(n_vars),
+ n_cells(n_cells),
+ n_vert(n_vert)
+{
+ nodalData = new float[n_nodes*n_vars];
+ connData = new int[n_cells*n_vert];
+};
+
+
+
+TecplotMacros::~TecplotMacros()
+{
+ delete [] nodalData;
+ delete [] connData;
+};
+
+
+
+inline
+float & TecplotMacros::nd(const unsigned int i, const unsigned int j)
+{
+ return nodalData[(i)*(n_nodes) + (j)];
+};
+
+
+
+inline
+int & TecplotMacros::cd(const unsigned int i, const unsigned int j)
+{
+ return connData[(i) + (j)*(n_vert)];
+};
+
+#endif
+//--------------------------------------------------------
+
+
+
+template
+void DataOutBase::write_tecplot_binary (const typename std::vector > &patches,
+ const std::vector &data_names,
+ const TecplotFlags &flags,
+ std::ostream &out)
+{
+
+#ifndef DEAL_II_HAVE_TECPLOT
+
+ // simply call the ASCII output function if the Tecplot API isn't present
+ write_tecplot (patches, data_names, flags, out);
+ return;
+
+#else
+
+ // Tecplot binary output only good for 2D & 3D
+ if (dim == 1)
+ {
+ write_tecplot (patches, data_names, flags, out);
+ return;
+ };
+
+ // if the user hasn't specified a file name we should
+ // call the ASCII function and use the ostream @p{out}
+ // instead of doing something silly later
+ char* file_name = (char*) flags.tecplot_binary_file_name;
+
+ if (file_name == NULL)
+ {
+ write_tecplot (patches, data_names, flags, out);
+ return;
+ };
+
+
+ AssertThrow (out, ExcIO());
+
+ Assert (patches.size() > 0, ExcNoPatches());
+
+ const unsigned int n_data_sets = data_names.size();
+ // check against # of data sets in
+ // first patch. checks against all
+ // other patches are made in
+ // write_gmv_reorder_data_vectors
+ Assert (n_data_sets == patches[0].data.n_rows(),
+ ExcUnexpectedNumberOfDatasets (patches[0].data.n_rows(), n_data_sets));
+
+
+
+ // first count the number of cells
+ // and cells for later use
+ unsigned int n_cells = 0,
+ n_nodes = 0;
+ for (typename std::vector >::const_iterator patch=patches.begin();
+ patch!=patches.end(); ++patch)
+ switch (dim)
+ {
+ case 2:
+ n_cells += patch->n_subdivisions *
+ patch->n_subdivisions;
+ n_nodes += (patch->n_subdivisions+1) *
+ (patch->n_subdivisions+1);
+ break;
+ case 3:
+ n_cells += patch->n_subdivisions *
+ patch->n_subdivisions *
+ patch->n_subdivisions;
+ n_nodes += (patch->n_subdivisions+1) *
+ (patch->n_subdivisions+1) *
+ (patch->n_subdivisions+1);
+ break;
+ default:
+ Assert (false, ExcNotImplemented());
+ };
+
+
+
+
+
+ // local variables only needed to write Tecplot
+ // binary output files
+ const unsigned int vars_per_node = (dim+n_data_sets),
+ nodes_per_cell = GeometryInfo::vertices_per_cell;
+
+ TecplotMacros tm(n_nodes, vars_per_node, n_cells, nodes_per_cell);
+
+ int is_double = 0,
+ tec_debug = 0,
+ cell_type;
+
+
+ unsigned int string_size = 0;
+
+ if (dim==2)
+ string_size = 3;
+ else if (dim==3)
+ string_size = 5;
+
+
+ for (unsigned int data_set=0; data_set > data_vectors (n_data_sets,
+ std::vector (n_nodes));
+ Threads::ThreadManager thread_manager;
+ void (*fun_ptr) (const typename std::vector > &,
+ std::vector > &)
+ = &DataOutBase::template write_gmv_reorder_data_vectors;
+ Threads::spawn (thread_manager,
+ Threads::encapsulate (fun_ptr)
+ .collect_args(patches, data_vectors));
+
+ ///////////////////////////////
+ // first make up a list of used
+ // vertices along with their
+ // coordinates
+
+
+ for (unsigned int d=1; d<=spacedim; ++d)
+ {
+ unsigned int entry=0;
+
+ for (typename std::vector >::const_iterator patch=patches.begin();
+ patch!=patches.end(); ++patch)
+ {
+ const unsigned int n_subdivisions = patch->n_subdivisions;
+
+ switch (dim)
+ {
+ case 2:
+ {
+ for (unsigned int i=0; i(
+ (((patch->vertices[1](d-1) * x_frac) +
+ (patch->vertices[0](d-1) * (1-x_frac))) * (1-y_frac) +
+ ((patch->vertices[2](d-1) * x_frac) +
+ (patch->vertices[3](d-1) * (1-x_frac))) * y_frac)
+ );
+ entry++;
+ };
+ break;
+ };
+
+ case 3:
+ {
+ for (unsigned int i=0; i(
+ ((((patch->vertices[1](d-1) * x_frac) +
+ (patch->vertices[0](d-1) * (1-x_frac))) * (1-y_frac) +
+ ((patch->vertices[2](d-1) * x_frac) +
+ (patch->vertices[3](d-1) * (1-x_frac))) * y_frac) * (1-z_frac) +
+ (((patch->vertices[5](d-1) * x_frac) +
+ (patch->vertices[4](d-1) * (1-x_frac))) * (1-y_frac) +
+ ((patch->vertices[6](d-1) * x_frac) +
+ (patch->vertices[7](d-1) * (1-x_frac))) * y_frac) * z_frac)
+ );
+ entry++;
+ };
+ break;
+ };
+
+ default:
+ Assert (false, ExcNotImplemented());
+ };
+ };
+ };
+
+
+ ///////////////////////////////////////
+ // data output.
+ //
+ thread_manager.wait ();
+
+ // then write data.
+ for (unsigned int data_set=0; data_set(data_vectors[data_set][entry]);
+
+
+
+
+ /////////////////////////////////
+ // now for the cells. note that
+ // vertices are counted from 1 onwards
+
+ unsigned int first_vertex_of_patch = 0;
+ unsigned int elem=0;
+
+ for (typename std::vector >::const_iterator patch=patches.begin();
+ patch!=patches.end(); ++patch)
+ {
+ const unsigned int n_subdivisions = patch->n_subdivisions;
+
+ // write out the cells making
+ // up this patch
+ switch (dim)
+ {
+ case 2:
+ {
+ for (unsigned int i=0; i(n_nodes),
+ num_cells = static_cast(n_cells);
+
+ ierr = TECINI (NULL,
+ tecVarNames,
+ file_name,
+ static_cast("."),
+ &tec_debug,
+ &is_double);
+
+ Assert (ierr == 0, ExcErrorOpeningTecplotFile(file_name));
+
+ ierr = TECZNE (NULL,
+ &num_nodes,
+ &num_cells,
+ &cell_type,
+ static_cast("FEBLOCK"),
+ NULL);
+
+ Assert (ierr == 0, ExcTecplotAPIError());
+
+ int total = (vars_per_node*num_nodes);
+
+ ierr = TECDAT (&total,
+ tm.nodalData,
+ &is_double);
+
+ Assert (ierr == 0, ExcTecplotAPIError());
+
+ ierr = TECNOD (tm.connData);
+
+ Assert (ierr == 0, ExcTecplotAPIError());
+
+ ierr = TECEND ();
+
+ Assert (ierr == 0, ExcTecplotAPIError());
+
+ };
+
+
+ delete [] tecVarNames;
+
+#endif
+};
+
+
+
template
void DataOutBase::write_vtk (const typename std::vector > &patches,
const std::vector &data_names,
@@ -3120,6 +3585,15 @@ void DataOutInterface::write_tecplot (std::ostream &out) const
+template
+void DataOutInterface::write_tecplot_binary (std::ostream &out) const
+{
+ DataOutBase::write_tecplot_binary (get_patches(), get_dataset_names(),
+ tecplot_flags, out);
+};
+
+
+
template
void DataOutInterface::write_vtk (std::ostream &out) const
{
@@ -3168,6 +3642,10 @@ DataOutInterface::write (std::ostream &out,
write_tecplot (out);
break;
+ case tecplot_binary:
+ write_tecplot_binary (out);
+ break;
+
case vtk:
write_vtk (out);
break;
@@ -3283,6 +3761,9 @@ DataOutInterface::default_suffix (const OutputFormat output_format
case tecplot:
return ".dat";
+ case tecplot_binary:
+ return ".plt";
+
case vtk:
return ".vtk";
@@ -3319,6 +3800,9 @@ DataOutInterface::parse_output_format (const std::string &format_n
if (format_name == "tecplot")
return tecplot;
+ if (format_name == "tecplot_binary")
+ return tecplot_binary;
+
if (format_name == "vtk")
return vtk;
diff --git a/deal.II/common/Make.global_options.in b/deal.II/common/Make.global_options.in
index f7ea380a34..1878cd5c49 100644
--- a/deal.II/common/Make.global_options.in
+++ b/deal.II/common/Make.global_options.in
@@ -35,6 +35,8 @@ enable-shared = @enableshared@
DEAL_II_MAJOR = @DEAL_II_MAJOR@
DEAL_II_MINOR = @DEAL_II_MINOR@
USE_CONTRIB_HSL = @USE_CONTRIB_HSL@
+TECIO_INCLUDE = @TECPLOT_INCLUDE_PATH@
+TECIO_LIBRARY = @TECPLOT_LIBRARY_PATH@
# if HSL sublibs are used, add F77 libs to linker flags
ifeq ($(USE_CONTRIB_HSL),yes)
@@ -42,6 +44,9 @@ ifeq ($(USE_CONTRIB_HSL),yes)
LIBS += $(F77LIBS)
endif
+# if Tecplot is used, link against tecio.a
+LIBS += $(TECIO_LIBRARY)
+
######################################################
# now configuration for compiler flags, pathes, etc
@@ -90,12 +95,14 @@ include-path-base = $D/base/include
include-path-lac = $D/lac/include
include-path-deal2 = $D/deal.II/include
include-path-contrib-hsl = $D/contrib/hsl/include
+include-path-tecplot = $(TECIO_INCLUDE)
INCLUDE = $(addprefix -I, $(include-path-base) \
$(include-path-lac) \
$(include-path-deal2)\
- $(include-path-contrib-hsl))
+ $(include-path-contrib-hsl)\
+ $(include-path-tecplot))
# compiler flags for debug and optimized mode
CXXFLAGS.g = @DEFS@ @CXXFLAGSG@ $(INCLUDE)
diff --git a/deal.II/configure b/deal.II/configure
index cffa47a084..6920c88e30 100755
--- a/deal.II/configure
+++ b/deal.II/configure
@@ -68,6 +68,8 @@
+
+
@@ -666,7 +668,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:670: checking host system type" >&5
+echo "configure:672: checking host system type" >&5
host_alias=$host
case "$host_alias" in
@@ -687,7 +689,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$host" 1>&6
echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:691: checking target system type" >&5
+echo "configure:693: checking target system type" >&5
target_alias=$target
case "$target_alias" in
@@ -705,7 +707,7 @@ target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$target" 1>&6
echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:709: checking build system type" >&5
+echo "configure:711: checking build system type" >&5
build_alias=$build
case "$build_alias" in
@@ -743,7 +745,7 @@ cross_compiling=$ac_cv_prog_cxx_cross
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:747: checking for $ac_word" >&5
+echo "configure:749: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -773,7 +775,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:777: checking for $ac_word" >&5
+echo "configure:779: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -824,7 +826,7 @@ fi
# Extract the first word of "cl", so it can be a program name with args.
set dummy cl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:828: checking for $ac_word" >&5
+echo "configure:830: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -856,7 +858,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:860: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:862: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -867,12 +869,12 @@ cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext << EOF
-#line 871 "configure"
+#line 873 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:876: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:878: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -898,12 +900,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:902: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:904: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:907: checking whether we are using GNU C" >&5
+echo "configure:909: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -912,7 +914,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:916: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:918: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -931,7 +933,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:935: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:937: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -965,7 +967,7 @@ fi
# Extract the first word of "$CC", so it can be a program name with args.
set dummy $CC; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:969: checking for $ac_word" >&5
+echo "configure:971: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1006,7 +1008,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1010: checking for $ac_word" >&5
+echo "configure:1012: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1038,7 +1040,7 @@ test -n "$CXX" || CXX="gcc"
echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1042: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+echo "configure:1044: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1049,12 +1051,12 @@ cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext << EOF
-#line 1053 "configure"
+#line 1055 "configure"
#include "confdefs.h"
int main(){return(0);}
EOF
-if { (eval echo configure:1058: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1060: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cxx_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -1080,12 +1082,12 @@ if test $ac_cv_prog_cxx_works = no; then
{ echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1084: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1086: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
cross_compiling=$ac_cv_prog_cxx_cross
echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
-echo "configure:1089: checking whether we are using GNU C++" >&5
+echo "configure:1091: checking whether we are using GNU C++" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1094,7 +1096,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1098: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1100: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gxx=yes
else
ac_cv_prog_gxx=no
@@ -1113,7 +1115,7 @@ ac_test_CXXFLAGS="${CXXFLAGS+set}"
ac_save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS=
echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:1117: checking whether ${CXX-g++} accepts -g" >&5
+echo "configure:1119: checking whether ${CXX-g++} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1144,11 +1146,62 @@ else
fi
fi
+for ac_declaration in \
+ ''\
+ '#include ' \
+ 'extern "C" void std::exit (int) throw (); using std::exit;' \
+ 'extern "C" void std::exit (int); using std::exit;' \
+ 'extern "C" void exit (int) throw ();' \
+ 'extern "C" void exit (int);' \
+ 'void exit (int);'
+do
+ cat > conftest.$ac_ext <
+$ac_declaration
+int main() {
+exit (42);
+; return 0; }
+EOF
+if { (eval echo configure:1168: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ :
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ continue
+fi
+rm -f conftest*
+ cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ break
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+fi
+rm -f conftest*
+done
+if test -n "$ac_declaration"; then
+ echo '#ifdef __cplusplus' >>confdefs.h
+ echo $ac_declaration >>confdefs.h
+ echo '#endif' >>confdefs.h
+fi
+
+
CXXFLAGS="$OLDCXXFLAGS"
# Extract the first word of "$CXX", so it can be a program name with args.
set dummy $CXX; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1152: checking for $ac_word" >&5
+echo "configure:1205: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_CXX'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1342,9 +1395,9 @@ cross_compiling=$ac_cv_prog_cxx_cross
CXXFLAGS="$CXXFLAGSG -Werror"
echo $ac_n "checking for std::advance warning""... $ac_c" 1>&6
-echo "configure:1346: checking for std::advance warning" >&5
+echo "configure:1399: checking for std::advance warning" >&5
cat > conftest.$ac_ext <
@@ -1358,7 +1411,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:1362: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1415: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""no" 1>&6
@@ -1441,12 +1494,12 @@ fi
if test "$GXX" = yes ; then
echo $ac_n "checking whether -ggdb works for long symbols""... $ac_c" 1>&6
-echo "configure:1445: checking whether -ggdb works for long symbols" >&5
+echo "configure:1498: checking whether -ggdb works for long symbols" >&5
case "$target" in
alpha*-osf*)
CXXFLAGS="-ggdb $CXXFLAGSG"
cat > conftest.$ac_ext <
@@ -1467,7 +1520,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:1471: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1524: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
CXXFLAGSG="-ggdb $CXXFLAGSG"
@@ -1558,7 +1611,7 @@ if test "$enablemultithreading" = yes ; then
if test "$GXX" = yes ; then
echo $ac_n "checking for platform specific thread flags""... $ac_c" 1>&6
-echo "configure:1562: checking for platform specific thread flags" >&5
+echo "configure:1615: checking for platform specific thread flags" >&5
for i in threads mt pthread pthreads mthreads Kthread kthread invalid_last_entry; do
CXXFLAGS="$CXXFLAGSG -$i"
@@ -1594,7 +1647,7 @@ echo "configure:1562: checking for platform specific thread flags" >&5
echo $ac_n "checking for platform specific multi-threading defines""... $ac_c" 1>&6
-echo "configure:1598: checking for platform specific multi-threading defines" >&5
+echo "configure:1651: checking for platform specific multi-threading defines" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CXXCPP $CPPFLAGS'
@@ -1603,7 +1656,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1674: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t"""not necessary"" 1>&6
@@ -1662,7 +1715,7 @@ fi
if test "$withmultithreading" != no ; then
echo $ac_n "checking for ACE""... $ac_c" 1>&6
-echo "configure:1666: checking for ACE" >&5
+echo "configure:1719: checking for ACE" >&5
if test -d "$withmultithreading" ; then
echo "$ac_t""found" 1>&6
else
@@ -1683,7 +1736,7 @@ fi
if test "$enablemultithreading" = yes ; then
if test "$GXX" = yes ; then
echo $ac_n "checking whether compilation with ACE disallows flags""... $ac_c" 1>&6
-echo "configure:1687: checking whether compilation with ACE disallows flags" >&5
+echo "configure:1740: checking whether compilation with ACE disallows flags" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CXXCPP $CPPFLAGS'
@@ -1693,7 +1746,7 @@ cross_compiling=$ac_cv_prog_cxx_cross
CXXFLAGS="-ansi -I$withmultithreading"
cat > conftest.$ac_ext <
@@ -1703,7 +1756,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:1707: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1760: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
deal_II_ace_remove_ansi="no"
@@ -1719,7 +1772,7 @@ fi
rm -f conftest*
CXXFLAGS="-pedantic -Werror -I$withmultithreading"
cat > conftest.$ac_ext <
@@ -1729,7 +1782,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:1733: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1786: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
deal_II_ace_remove_pedantic="no"
@@ -1816,7 +1869,7 @@ done
echo $ac_n "checking whether AssertThrow works with debug flags""... $ac_c" 1>&6
-echo "configure:1820: checking whether AssertThrow works with debug flags" >&5
+echo "configure:1873: checking whether AssertThrow works with debug flags" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CXXCPP $CPPFLAGS'
@@ -1826,7 +1879,7 @@ cross_compiling=$ac_cv_prog_cxx_cross
CXXFLAGS=$CXXFLAGSG
cat > conftest.$ac_ext <
@@ -1905,7 +1958,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:1909: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1962: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t"""yes"" 1>&6
@@ -1922,7 +1975,7 @@ fi
rm -f conftest*
echo $ac_n "checking whether AssertThrow works with optimized flags""... $ac_c" 1>&6
-echo "configure:1926: checking whether AssertThrow works with optimized flags" >&5
+echo "configure:1979: checking whether AssertThrow works with optimized flags" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CXXCPP $CPPFLAGS'
@@ -1932,7 +1985,7 @@ cross_compiling=$ac_cv_prog_cxx_cross
CXXFLAGS=$CXXFLAGSO
cat > conftest.$ac_ext <
@@ -2011,7 +2064,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:2015: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2068: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t"""yes"" 1>&6
@@ -2029,7 +2082,7 @@ rm -f conftest*
echo $ac_n "checking for std::vector bug""... $ac_c" 1>&6
-echo "configure:2033: checking for std::vector bug" >&5
+echo "configure:2086: checking for std::vector bug" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CXXCPP $CPPFLAGS'
@@ -2039,7 +2092,7 @@ cross_compiling=$ac_cv_prog_cxx_cross
CXXFLAGS="$CXXFLAGSG"
cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2116: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""no" 1>&6
@@ -2080,7 +2133,7 @@ rm -f conftest*
echo $ac_n "checking for std::iterator class""... $ac_c" 1>&6
-echo "configure:2084: checking for std::iterator class" >&5
+echo "configure:2137: checking for std::iterator class" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CXXCPP $CPPFLAGS'
@@ -2090,7 +2143,7 @@ cross_compiling=$ac_cv_prog_cxx_cross
CXXFLAGS="$CXXFLAGSG"
cat > conftest.$ac_ext <
@@ -2101,7 +2154,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:2105: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2158: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
@@ -2121,7 +2174,7 @@ fi
rm -f conftest*
echo $ac_n "checking for std::i/ostringstream classes""... $ac_c" 1>&6
-echo "configure:2125: checking for std::i/ostringstream classes" >&5
+echo "configure:2178: checking for std::i/ostringstream classes" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CXXCPP $CPPFLAGS'
@@ -2131,7 +2184,7 @@ cross_compiling=$ac_cv_prog_cxx_cross
CXXFLAGS="$CXXFLAGSG"
cat > conftest.$ac_ext <
@@ -2143,7 +2196,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:2147: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2200: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
@@ -2163,7 +2216,7 @@ fi
rm -f conftest*
echo $ac_n "checking for std::numeric_limits classes""... $ac_c" 1>&6
-echo "configure:2167: checking for std::numeric_limits classes" >&5
+echo "configure:2220: checking for std::numeric_limits classes" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CXXCPP $CPPFLAGS'
@@ -2173,7 +2226,7 @@ cross_compiling=$ac_cv_prog_cxx_cross
CXXFLAGS="$CXXFLAGSG"
cat > conftest.$ac_ext <
@@ -2184,7 +2237,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:2188: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2241: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
@@ -2204,7 +2257,7 @@ fi
rm -f conftest*
echo $ac_n "checking for header""... $ac_c" 1>&6
-echo "configure:2208: checking for header" >&5
+echo "configure:2261: checking for header" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CXXCPP $CPPFLAGS'
@@ -2214,7 +2267,7 @@ cross_compiling=$ac_cv_prog_cxx_cross
CXXFLAGS="$CXXFLAGSG"
cat > conftest.$ac_ext <
@@ -2225,7 +2278,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:2229: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2282: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
@@ -2245,7 +2298,7 @@ fi
rm -f conftest*
echo $ac_n "checking for header""... $ac_c" 1>&6
-echo "configure:2249: checking for header" >&5
+echo "configure:2302: checking for header" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CXXCPP $CPPFLAGS'
@@ -2255,7 +2308,7 @@ cross_compiling=$ac_cv_prog_cxx_cross
CXXFLAGS="$CXXFLAGSG"
cat > conftest.$ac_ext <
@@ -2266,7 +2319,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:2270: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2323: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
@@ -2290,7 +2343,7 @@ rm -f conftest*
echo $ac_n "checking whether lrand48 needs to be declared with -ansi""... $ac_c" 1>&6
-echo "configure:2294: checking whether lrand48 needs to be declared with -ansi" >&5
+echo "configure:2347: checking whether lrand48 needs to be declared with -ansi" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CXXCPP $CPPFLAGS'
@@ -2300,7 +2353,7 @@ cross_compiling=$ac_cv_prog_cxx_cross
CXXFLAGS="$CXXFLAGSG"
cat > conftest.$ac_ext <
@@ -2316,7 +2369,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:2320: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2373: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""no" 1>&6
@@ -2337,7 +2390,7 @@ rm -f conftest*
echo $ac_n "checking whether getrusage is properly declared""... $ac_c" 1>&6
-echo "configure:2341: checking whether getrusage is properly declared" >&5
+echo "configure:2394: checking whether getrusage is properly declared" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CXXCPP $CPPFLAGS'
@@ -2346,7 +2399,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <
@@ -2358,7 +2411,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:2362: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2415: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t"""yes"" 1>&6
@@ -2376,7 +2429,7 @@ fi
rm -f conftest*
echo $ac_n "checking whether isnan is declared with debug flags""... $ac_c" 1>&6
-echo "configure:2380: checking whether isnan is declared with debug flags" >&5
+echo "configure:2433: checking whether isnan is declared with debug flags" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CXXCPP $CPPFLAGS'
@@ -2387,7 +2440,7 @@ cross_compiling=$ac_cv_prog_cxx_cross
CXXFLAGS=$CXXFLAGSG
deal_II_isnan_flag=""
cat > conftest.$ac_ext <
@@ -2399,7 +2452,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:2403: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2456: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t"""yes"" 1>&6
@@ -2415,7 +2468,7 @@ rm -f conftest*
if test "x$deal_II_isnan_flag" = "x" ; then
cat > conftest.$ac_ext <
@@ -2427,7 +2480,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:2431: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2484: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t"""yes"" 1>&6
@@ -2447,7 +2500,7 @@ rm -f conftest*
for testflag in -D_ISOC99_SOURCE -D__EXTENSIONS__ ; do
CXXFLAGS="$CXXFLAGSG $testflag"
cat > conftest.$ac_ext <
@@ -2459,7 +2512,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:2463: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2516: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
deal_II_isnan_flag="-DHAVE_ISNAN $testflag"
@@ -2472,7 +2525,7 @@ fi
rm -f conftest*
cat > conftest.$ac_ext <
@@ -2484,7 +2537,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:2488: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2541: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
deal_II_isnan_flag="-DHAVE_UNDERSCORE_ISNAN $testflag"
@@ -2506,7 +2559,7 @@ rm -f conftest*
fi
echo $ac_n "checking whether isnan is declared with optimized flags""... $ac_c" 1>&6
-echo "configure:2510: checking whether isnan is declared with optimized flags" >&5
+echo "configure:2563: checking whether isnan is declared with optimized flags" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CXXCPP $CPPFLAGS'
@@ -2517,7 +2570,7 @@ cross_compiling=$ac_cv_prog_cxx_cross
CXXFLAGS=$CXXFLAGSO
deal_II_isnan_flag=""
cat > conftest.$ac_ext <
@@ -2529,7 +2582,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:2533: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2586: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t"""yes"" 1>&6
@@ -2545,7 +2598,7 @@ rm -f conftest*
if test "x$deal_II_isnan_flag" = "x" ; then
cat > conftest.$ac_ext <
@@ -2557,7 +2610,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:2561: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2614: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t"""yes"" 1>&6
@@ -2577,7 +2630,7 @@ rm -f conftest*
for testflag in -D_ISOC99_SOURCE -D__EXTENSIONS__ ; do
CXXFLAGS="$CXXFLAGSO $testflag"
cat > conftest.$ac_ext <
@@ -2589,7 +2642,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:2593: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2646: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
deal_II_isnan_flag="-DHAVE_ISNAN $testflag"
@@ -2602,7 +2655,7 @@ fi
rm -f conftest*
cat > conftest.$ac_ext <
@@ -2614,7 +2667,7 @@ int main() {
; return 0; }
EOF
-if { (eval echo configure:2618: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2671: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
deal_II_isnan_flag="-DHAVE_UNDERSCORE_ISNAN $testflag"
@@ -2645,9 +2698,9 @@ cross_compiling=$ac_cv_prog_cxx_cross
CXXFLAGS=$CXXFLAGSG
echo $ac_n "checking for rand_r""... $ac_c" 1>&6
-echo "configure:2649: checking for rand_r" >&5
+echo "configure:2702: checking for rand_r" >&5
cat > conftest.$ac_ext <
@@ -2659,7 +2712,7 @@ int i=rand_r(&i);
; return 0; }
EOF
-if { (eval echo configure:2663: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2716: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""found" 1>&6
@@ -2682,12 +2735,12 @@ rm -f conftest*
for ac_func in gethostname
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2686: checking for $ac_func" >&5
+echo "configure:2739: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2770: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2742,7 +2795,7 @@ done
# Extract the first word of "f77", so it can be a program name with args.
set dummy f77; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2746: checking for $ac_word" >&5
+echo "configure:2799: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_F77'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2778,7 +2831,7 @@ if test "x$F77" = "x" ; then
# Extract the first word of "g77", so it can be a program name with args.
set dummy g77; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2782: checking for $ac_word" >&5
+echo "configure:2835: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_F77'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2929,7 +2982,7 @@ fi
# Extract the first word of "perl", so it can be a program name with args.
set dummy perl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2933: checking for $ac_word" >&5
+echo "configure:2986: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2967,7 +3020,7 @@ fi
echo $ac_n "checking for HSL subroutines""... $ac_c" 1>&6
-echo "configure:2971: checking for HSL subroutines" >&5
+echo "configure:3024: checking for HSL subroutines" >&5
hsl_subroutines=""
if test -r contrib/hsl/source/ma27.f ; then
hsl_subroutines="$hsl_subroutines MA27"
@@ -3032,7 +3085,7 @@ else
fi
echo $ac_n "checking for kdoc""... $ac_c" 1>&6
-echo "configure:3036: checking for kdoc" >&5
+echo "configure:3089: checking for kdoc" >&5
if test "$kdocdir" != ${DEAL2_DIR}/contrib/kdoc/bin ; then
if test -r $kdocdir/kdoc ; then
echo "$ac_t""found" 1>&6
@@ -3068,7 +3121,7 @@ if test "$docxx" = to-be-determined ; then
# Extract the first word of ""doc++"", so it can be a program name with args.
set dummy "doc++"; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3072: checking for $ac_word" >&5
+echo "configure:3125: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_docxx'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3102,7 +3155,7 @@ fi
else
echo $ac_n "checking for doc++""... $ac_c" 1>&6
-echo "configure:3106: checking for doc++" >&5
+echo "configure:3159: checking for doc++" >&5
if test -x "$docxx" ; then
echo "$ac_t""yes" 1>&6
else
@@ -3116,6 +3169,170 @@ fi
+
+
+ac_safe=`echo "$TECHOME/lib/tecio.a" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $TECHOME/lib/tecio.a""... $ac_c" 1>&6
+echo "configure:3177: checking for $TECHOME/lib/tecio.a" >&5
+if eval "test \"`echo '$''{'ac_cv_file_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ { echo "configure: error: Cannot check for file existence when cross compiling" 1>&2; exit 1; }
+else
+ if test -r $TECHOME/lib/tecio.a; then
+ eval "ac_cv_file_$ac_safe=yes"
+ else
+ eval "ac_cv_file_$ac_safe=no"
+ fi
+fi
+fi
+if eval "test \"`echo '$ac_cv_file_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ TECPLOT_LIBRARY_PATH=$TECHOME/lib/tecio.a
+else
+ echo "$ac_t""no" 1>&6
+
+fi
+
+
+ac_safe=`echo "$TEC80HOME/lib/tecio.a" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $TEC80HOME/lib/tecio.a""... $ac_c" 1>&6
+echo "configure:3202: checking for $TEC80HOME/lib/tecio.a" >&5
+if eval "test \"`echo '$''{'ac_cv_file_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ { echo "configure: error: Cannot check for file existence when cross compiling" 1>&2; exit 1; }
+else
+ if test -r $TEC80HOME/lib/tecio.a; then
+ eval "ac_cv_file_$ac_safe=yes"
+ else
+ eval "ac_cv_file_$ac_safe=no"
+ fi
+fi
+fi
+if eval "test \"`echo '$ac_cv_file_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ TECPLOT_LIBRARY_PATH=$TEC80HOME/lib/tecio.a
+else
+ echo "$ac_t""no" 1>&6
+
+fi
+
+
+ac_safe=`echo "$TEC90HOME/lib/tecio.a" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $TEC90HOME/lib/tecio.a""... $ac_c" 1>&6
+echo "configure:3227: checking for $TEC90HOME/lib/tecio.a" >&5
+if eval "test \"`echo '$''{'ac_cv_file_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ { echo "configure: error: Cannot check for file existence when cross compiling" 1>&2; exit 1; }
+else
+ if test -r $TEC90HOME/lib/tecio.a; then
+ eval "ac_cv_file_$ac_safe=yes"
+ else
+ eval "ac_cv_file_$ac_safe=no"
+ fi
+fi
+fi
+if eval "test \"`echo '$ac_cv_file_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ TECPLOT_LIBRARY_PATH=$TEC90HOME/lib/tecio.a
+else
+ echo "$ac_t""no" 1>&6
+
+fi
+
+
+
+ac_safe=`echo "$TECHOME/include/TECIO.h" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $TECHOME/include/TECIO.h""... $ac_c" 1>&6
+echo "configure:3253: checking for $TECHOME/include/TECIO.h" >&5
+if eval "test \"`echo '$''{'ac_cv_file_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ { echo "configure: error: Cannot check for file existence when cross compiling" 1>&2; exit 1; }
+else
+ if test -r $TECHOME/include/TECIO.h; then
+ eval "ac_cv_file_$ac_safe=yes"
+ else
+ eval "ac_cv_file_$ac_safe=no"
+ fi
+fi
+fi
+if eval "test \"`echo '$ac_cv_file_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ TECPLOT_INCLUDE_PATH=$TECHOME/include
+else
+ echo "$ac_t""no" 1>&6
+
+fi
+
+
+ac_safe=`echo "$TEC80HOME/include/TECIO.h" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $TEC80HOME/include/TECIO.h""... $ac_c" 1>&6
+echo "configure:3278: checking for $TEC80HOME/include/TECIO.h" >&5
+if eval "test \"`echo '$''{'ac_cv_file_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ { echo "configure: error: Cannot check for file existence when cross compiling" 1>&2; exit 1; }
+else
+ if test -r $TEC80HOME/include/TECIO.h; then
+ eval "ac_cv_file_$ac_safe=yes"
+ else
+ eval "ac_cv_file_$ac_safe=no"
+ fi
+fi
+fi
+if eval "test \"`echo '$ac_cv_file_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ TECPLOT_INCLUDE_PATH=$TEC80HOME/include
+else
+ echo "$ac_t""no" 1>&6
+
+fi
+
+
+ac_safe=`echo "$TEC90HOME/include/TECIO.h" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $TEC90HOME/include/TECIO.h""... $ac_c" 1>&6
+echo "configure:3303: checking for $TEC90HOME/include/TECIO.h" >&5
+if eval "test \"`echo '$''{'ac_cv_file_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ { echo "configure: error: Cannot check for file existence when cross compiling" 1>&2; exit 1; }
+else
+ if test -r $TEC90HOME/include/TECIO.h; then
+ eval "ac_cv_file_$ac_safe=yes"
+ else
+ eval "ac_cv_file_$ac_safe=no"
+ fi
+fi
+fi
+if eval "test \"`echo '$ac_cv_file_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ TECPLOT_INCLUDE_PATH=$TEC90HOME/include
+else
+ echo "$ac_t""no" 1>&6
+
+fi
+
+
+ if test -r $TECPLOT_LIBRARY_PATH -a -r $TECPLOT_INCLUDE_PATH/TECIO.h ; then
+ cat >> confdefs.h <<\EOF
+#define DEAL_II_HAVE_TECPLOT 1
+EOF
+
+ fi
+
+
+
+
+
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CXXCPP $CPPFLAGS'
@@ -3125,16 +3342,16 @@ cross_compiling=$ac_cv_prog_cxx_cross
CXXFLAGS="$CXXFLAGSG"
echo $ac_n "checking for consistency of CXXFLAGSG flags""... $ac_c" 1>&6
-echo "configure:3129: checking for consistency of CXXFLAGSG flags" >&5
+echo "configure:3346: checking for consistency of CXXFLAGSG flags" >&5
cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3355: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
@@ -3152,16 +3369,16 @@ rm -f conftest*
CXXFLAGS="$CXXFLAGSO"
echo $ac_n "checking for consistency of CXXFLAGSO flags""... $ac_c" 1>&6
-echo "configure:3156: checking for consistency of CXXFLAGSO flags" >&5
+echo "configure:3373: checking for consistency of CXXFLAGSO flags" >&5
cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3382: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
@@ -3314,6 +3531,8 @@ s%@enablemultigrid@%$enablemultigrid%g
s%@kdocdir@%$kdocdir%g
s%@kdocversion@%$kdocversion%g
s%@docxx@%$docxx%g
+s%@TECPLOT_LIBRARY_PATH@%$TECPLOT_LIBRARY_PATH%g
+s%@TECPLOT_INCLUDE_PATH@%$TECPLOT_INCLUDE_PATH%g
s%@subdirs@%$subdirs%g
CEOF
diff --git a/deal.II/configure.in b/deal.II/configure.in
index d3579fbe62..b811cbdd75 100644
--- a/deal.II/configure.in
+++ b/deal.II/configure.in
@@ -956,6 +956,13 @@ AC_SUBST(docxx)
+dnl Find the Tecplot libraries and headers if available
+dnl
+DEAL_II_CONFIGURE_TECPLOT
+
+
+
+
dnl -------------------------------------------------------------
dnl Last check: test whether CXXFLAGS and F77FLAGS are ok
dnl -------------------------------------------------------------
diff --git a/deal.II/doc/development/Makefile b/deal.II/doc/development/Makefile
index ea6944d8c1..e7d96bac5f 100644
--- a/deal.II/doc/development/Makefile
+++ b/deal.II/doc/development/Makefile
@@ -50,6 +50,8 @@ makefiles.html: Makefile makefiles.1.html $D/common/Make.global_options makefile
@echo 'ACE_ROOT=$(ACE_ROOT)
' >> $@
@echo 'lib-ACE=$(lib-ACE)
' >> $@
@echo 'with-multithreading=$(with-multithreading)
' >> $@
+ @echo 'TECIO_INCLUDE=$(TECIO_INCLUDE)
' >> $@
+ @echo 'TECIO_LIBRARY=$(TECIO_LIBRARY)
' >> $@
@cat makefiles.2.html >> $@
diff --git a/deal.II/doc/development/makefiles.1.html b/deal.II/doc/development/makefiles.1.html
index 65f055dde8..246d7e2d76 100644
--- a/deal.II/doc/development/makefiles.1.html
+++ b/deal.II/doc/development/makefiles.1.html
@@ -180,7 +180,8 @@
LIBS
Additional libraries to be linked in, such as Fortran
- support or the ACE library when multithreading is enabled.
+ support, the ACE library when multithreading is enabled, or
+ Tecplot libraries when binary output is available.
@@ -379,8 +380,30 @@
your program shall use multithreading or not.
-
+ Variables associated with Tecplot binary support
+
+
+ If ./configure, detects a valid Tecplot API installation $(INCLUDE) and
+ $(LIBS) are augmented by the Tecplot API include and library paths, and
+ the following symbols are meaningful:
+
+
+ -
TECIO_INCLUDE
+ -
+ Path to the Tecplot API header files as found by ./configure
+
+
+
+
+ -
TECIO_LIBRARY
+ -
+ Path to the Tecplot API library
+
+
+
+
+
diff --git a/deal.II/doc/news/2002/c-3-3.html b/deal.II/doc/news/2002/c-3-3.html
index 80e3a6dee9..0ca59afb35 100644
--- a/deal.II/doc/news/2002/c-3-3.html
+++ b/deal.II/doc/news/2002/c-3-3.html
@@ -47,14 +47,28 @@ documentation, etc.
n
to be compliant wth the new class PolynomialSpace
.
- GK 2002/02/11)
+ (GK 2002/02/11)
New: The class PolynomialSpace
implements the space of polynomials at most a certain degree in
arbitrary space dimensions.
- GK 2002/02/11)
+ (GK 2002/02/11)
+
+
+ New: The function DataOutBase
::
+ write_tecplot_binary
has been added. This
+ function will write Tecplot binary files if the Tecplot API is detected
+ by ./configure. To use this feature be sure that the environment
+ variable TECHOME points to a valid Tecplot installation and that the files
+ $TECHOME/include/TECIO.h and $TECHOME/lib/tecio.a exist. The name of the
+ file to be written is specified through the DataOutBase
+ ::TecplotFlags
.
+ tecplot_binary_file_name
variable. If the API is not
+ available this code simply calls the existing ASCII output function.
+
+ (BK 2002/02/11)
@@ -83,7 +97,7 @@ documentation, etc.
-
New: Finite element family with complete polynomial spaces
for discontinuous Galerkin: FE_DGP
- GK 2002/02/11)
+ (GK 2002/02/11)
diff --git a/deal.II/doc/news/news.html b/deal.II/doc/news/news.html
index 22afc127ec..e04fee756e 100644
--- a/deal.II/doc/news/news.html
+++ b/deal.II/doc/news/news.html
@@ -29,6 +29,18 @@
+ -
+ 2002/02/11: New support for Tecplot binary output
+
+ -
+ Benjamin Shelton Kirk contributed binary
+ Tecplot support.
+ This feature can be used to create more efficient data files
+ in the Tecplot FEBLOCK finite element format. For more information
+ look here.
+
+
+
-
Changes between version 3.3 and the
main branch
diff --git a/deal.II/doc/readme.html b/deal.II/doc/readme.html
index a856643ddb..95d5597a14 100644
--- a/deal.II/doc/readme.html
+++ b/deal.II/doc/readme.html
@@ -158,7 +158,7 @@
GNUPLOT,
GMV
(general mesh viewer),
- Tecplot,
+ Tecplot (ASCII and binary),
Visualization Toolkit (Vtk),
AVS Explorer,
@@ -604,6 +604,14 @@
include these functions, see
this page.
+
+
-
+
+ Deal.II supports writing Tecplot
+ binary files directly. For this feature to work properly be sure that the
+ environment variable TECHOME points to a valid Tecplot installation and that
+ the files $TECHOME/include/TECIO.h and $TECHOME/lib/tecio.a exist.
+
--
2.39.5