From 866061cd6c151ffc0af00907fb7291f6c73df5e3 Mon Sep 17 00:00:00 2001 From: guido Date: Sun, 18 Jun 2006 19:32:03 +0000 Subject: [PATCH] add parameter for subdivisions git-svn-id: https://svn.dealii.org/trunk@13272 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/base/include/base/data_out_base.h | 15 +++++++++++++++ deal.II/base/source/data_out_base.cc | 11 ++++++++++- deal.II/deal.II/include/numerics/data_out.h | 11 +++++++++-- deal.II/deal.II/include/numerics/data_out_faces.h | 2 +- .../deal.II/include/numerics/data_out_rotation.h | 2 +- deal.II/deal.II/include/numerics/data_out_stack.h | 2 +- deal.II/deal.II/source/numerics/data_out.cc | 6 +++++- deal.II/deal.II/source/numerics/data_out_faces.cc | 6 +++++- .../deal.II/source/numerics/data_out_rotation.cc | 11 ++++++++--- deal.II/deal.II/source/numerics/data_out_stack.cc | 6 +++++- deal.II/doc/news/changes.html | 10 ++++++++++ 11 files changed, 70 insertions(+), 12 deletions(-) diff --git a/deal.II/base/include/base/data_out_base.h b/deal.II/base/include/base/data_out_base.h index 155269e659..385eb01f6e 100644 --- a/deal.II/base/include/base/data_out_base.h +++ b/deal.II/base/include/base/data_out_base.h @@ -2388,6 +2388,11 @@ class DataOutInterface : private DataOutBase using DataOutBase::deal_II_intermediate; using DataOutBase::parse_output_format; using DataOutBase::get_output_format_names; + + /** + * Constructor. + */ + DataOutInterface (); /** * Destructor. Does nothing, but is @@ -2658,6 +2663,16 @@ class DataOutInterface : private DataOutBase */ virtual std::vector get_dataset_names () const = 0; + /** + * The default number of + * subdivisions for patches. This + * is filled by parse_parameters() + * and should be obeyed by + * build_patches() in derived + * classes. + */ + unsigned int default_subdivisions; + private: /** * Standard output format. Use diff --git a/deal.II/base/source/data_out_base.cc b/deal.II/base/source/data_out_base.cc index 02381662f0..265f02374d 100644 --- a/deal.II/base/source/data_out_base.cc +++ b/deal.II/base/source/data_out_base.cc @@ -3497,6 +3497,12 @@ DataOutBase::write_gmv_reorder_data_vectors (const std::vector +DataOutInterface::DataOutInterface () + : default_subdivisions(1) +{} + + template DataOutInterface::~DataOutInterface () {} @@ -3767,6 +3773,8 @@ DataOutInterface::declare_parameters (ParameterHandler &prm) prm.declare_entry ("Output format", "gnuplot", Patterns::Selection (get_output_format_names ()), "A name for the output format to be used"); + prm.declare_entry("Subdivisions", "1", Patterns::Integer(), + "Number of subdivisions of each mesh cell"); prm.enter_subsection ("DX output parameters"); DXFlags::declare_parameters (prm); @@ -3814,7 +3822,8 @@ DataOutInterface::parse_parameters (ParameterHandler &prm) { const std::string& output_name = prm.get ("Output format"); default_fmt = parse_output_format (output_name); - + default_subdivisions = prm.get_integer ("Subdivisions"); + prm.enter_subsection ("DX output parameters"); dx_flags.parse_parameters (prm); prm.leave_subsection (); diff --git a/deal.II/deal.II/include/numerics/data_out.h b/deal.II/deal.II/include/numerics/data_out.h index 6daea8bc2c..378083901a 100644 --- a/deal.II/deal.II/include/numerics/data_out.h +++ b/deal.II/deal.II/include/numerics/data_out.h @@ -883,6 +883,13 @@ class DataOut : public DataOut_DoFData * documentation of this class * for further information. * + * The default value 0 + * of n_subdivisions + * indicates that the value + * stored in + * DataOutInterface::default_subdivisions + * is to be used. + * * The function supports * multithreading, if deal.II is * compiled in multithreading @@ -891,7 +898,7 @@ class DataOut : public DataOut_DoFData * the patches is set to * multithread_info.n_default_threads. */ - virtual void build_patches (const unsigned int n_subdivisions = 1, + virtual void build_patches (const unsigned int n_subdivisions = 0, const unsigned int n_threads = multithread_info.n_default_threads); /** @@ -930,7 +937,7 @@ class DataOut : public DataOut_DoFData * deformation of each vertex. */ virtual void build_patches (const Mapping &mapping, - const unsigned int n_subdivisions = 1, + const unsigned int n_subdivisions = 0, const unsigned int n_threads = multithread_info.n_default_threads); /** diff --git a/deal.II/deal.II/include/numerics/data_out_faces.h b/deal.II/deal.II/include/numerics/data_out_faces.h index bf7b8fb150..4fc41b5358 100644 --- a/deal.II/deal.II/include/numerics/data_out_faces.h +++ b/deal.II/deal.II/include/numerics/data_out_faces.h @@ -109,7 +109,7 @@ class DataOutFaces : public DataOut_DoFDatamultithread_info.n_default_threads. */ virtual void - build_patches (const unsigned int n_subdivisions = 1, + build_patches (const unsigned int n_subdivisions = 0, const unsigned int n_threads = multithread_info.n_default_threads); /** diff --git a/deal.II/deal.II/include/numerics/data_out_rotation.h b/deal.II/deal.II/include/numerics/data_out_rotation.h index ba036f17c5..9385c6c5a1 100644 --- a/deal.II/deal.II/include/numerics/data_out_rotation.h +++ b/deal.II/deal.II/include/numerics/data_out_rotation.h @@ -118,7 +118,7 @@ class DataOutRotation : public DataOut_DoFData * multithread_info.n_default_threads. */ virtual void build_patches (const unsigned int n_patches_per_circle, - const unsigned int n_subdivisions = 1, + const unsigned int n_subdivisions = 0, const unsigned int n_threads = multithread_info.n_default_threads); /** diff --git a/deal.II/deal.II/include/numerics/data_out_stack.h b/deal.II/deal.II/include/numerics/data_out_stack.h index 9250f6e31b..3bfaa4e8bf 100644 --- a/deal.II/deal.II/include/numerics/data_out_stack.h +++ b/deal.II/deal.II/include/numerics/data_out_stack.h @@ -265,7 +265,7 @@ class DataOutStack : public DataOutInterface * is always the same as the one is space * direction for technical reasons. */ - void build_patches (const unsigned int n_subdivisions = 1); + void build_patches (const unsigned int n_subdivisions = 0); /** * Release all data that is no diff --git a/deal.II/deal.II/source/numerics/data_out.cc b/deal.II/deal.II/source/numerics/data_out.cc index 28344091d1..1620a513cd 100644 --- a/deal.II/deal.II/source/numerics/data_out.cc +++ b/deal.II/deal.II/source/numerics/data_out.cc @@ -563,9 +563,13 @@ void DataOut::build_patches (const unsigned int n_subdivisions, template void DataOut::build_patches (const Mapping &mapping, - const unsigned int n_subdivisions, + const unsigned int nnnn_subdivisions, const unsigned int n_threads_) { + unsigned int n_subdivisions = (nnnn_subdivisions != 0) + ? nnnn_subdivisions + : this->default_subdivisions; + Assert (n_subdivisions >= 1, ExcInvalidNumberOfSubdivisions(n_subdivisions)); diff --git a/deal.II/deal.II/source/numerics/data_out_faces.cc b/deal.II/deal.II/source/numerics/data_out_faces.cc index 5e2903ffb9..1b85abb56b 100644 --- a/deal.II/deal.II/source/numerics/data_out_faces.cc +++ b/deal.II/deal.II/source/numerics/data_out_faces.cc @@ -150,9 +150,13 @@ void DataOutFaces::build_some_patches (Data &data) template -void DataOutFaces::build_patches (const unsigned int n_subdivisions, +void DataOutFaces::build_patches (const unsigned int nnnn_subdivisions, const unsigned int n_threads_) { + unsigned int n_subdivisions = (nnnn_subdivisions != 0) + ? nnnn_subdivisions + : this->default_subdivisions; + Assert (n_subdivisions >= 1, ExcInvalidNumberOfSubdivisions(n_subdivisions)); diff --git a/deal.II/deal.II/source/numerics/data_out_rotation.cc b/deal.II/deal.II/source/numerics/data_out_rotation.cc index b1c602e120..aec4a9626f 100644 --- a/deal.II/deal.II/source/numerics/data_out_rotation.cc +++ b/deal.II/deal.II/source/numerics/data_out_rotation.cc @@ -317,14 +317,19 @@ void DataOutRotation::build_some_patches (Data&) template -void DataOutRotation::build_patches (const unsigned int n_patches_per_circle, - const unsigned int n_subdivisions, - const unsigned int n_threads_) +void DataOutRotation::build_patches ( + const unsigned int n_patches_per_circle, + const unsigned int nnnn_subdivisions, + const unsigned int n_threads_) { // Check consistency of redundant // template parameter Assert (dim==DH::dimension, ExcDimensionMismatch(dim, DH::dimension)); + unsigned int n_subdivisions = (nnnn_subdivisions != 0) + ? nnnn_subdivisions + : this->default_subdivisions; + Assert (n_subdivisions >= 1, ExcInvalidNumberOfSubdivisions(n_subdivisions)); diff --git a/deal.II/deal.II/source/numerics/data_out_stack.cc b/deal.II/deal.II/source/numerics/data_out_stack.cc index a07d616250..6767b332ea 100644 --- a/deal.II/deal.II/source/numerics/data_out_stack.cc +++ b/deal.II/deal.II/source/numerics/data_out_stack.cc @@ -229,10 +229,14 @@ void DataOutStack::add_data_vector (const Vector &vec, template -void DataOutStack::build_patches (const unsigned int n_subdivisions) +void DataOutStack::build_patches (const unsigned int nnnn_subdivisions) { // this is mostly copied from the // DataOut class + unsigned int n_subdivisions = (nnnn_subdivisions != 0) + ? nnnn_subdivisions + : this->default_subdivisions; + Assert (n_subdivisions >= 1, ExcInvalidNumberOfSubdivisions(n_subdivisions)); Assert (dof_handler != 0, ExcNoDoFHandlerSelected()); diff --git a/deal.II/doc/news/changes.html b/deal.II/doc/news/changes.html index 97045cf775..3bf7e142b3 100644 --- a/deal.II/doc/news/changes.html +++ b/deal.II/doc/news/changes.html @@ -44,6 +44,7 @@ inconvenience this causes.
    +
  1. Changed: Lower dimensional objects have been removed from the hierachical structure of levels in +

  2. Changed: The default number of subdivisions in the build_patches functions of the DataOut classes is + now part of the parameters red by parse_parameters. This default value is used + whenever patches with zero subdivisions are being built. +
    + (GK 2006/06/18) +

    +
  3. New: a configuration parameter --with-boost has been introduced, allowing the selection of a previously installed boost library instead of the contibuted. -- 2.39.5