]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
add parameter for subdivisions
authorguido <guido@0785d39b-7218-0410-832d-ea1e28bc413d>
Sun, 18 Jun 2006 19:32:03 +0000 (19:32 +0000)
committerguido <guido@0785d39b-7218-0410-832d-ea1e28bc413d>
Sun, 18 Jun 2006 19:32:03 +0000 (19:32 +0000)
git-svn-id: https://svn.dealii.org/trunk@13272 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/base/include/base/data_out_base.h
deal.II/base/source/data_out_base.cc
deal.II/deal.II/include/numerics/data_out.h
deal.II/deal.II/include/numerics/data_out_faces.h
deal.II/deal.II/include/numerics/data_out_rotation.h
deal.II/deal.II/include/numerics/data_out_stack.h
deal.II/deal.II/source/numerics/data_out.cc
deal.II/deal.II/source/numerics/data_out_faces.cc
deal.II/deal.II/source/numerics/data_out_rotation.cc
deal.II/deal.II/source/numerics/data_out_stack.cc
deal.II/doc/news/changes.html

index 155269e6594ade52e347c2f2f36289bd3a1050d6..385eb01f6ebfbb4bea85cc96a79fd31a427ec79a 100644 (file)
@@ -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<std::string> 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
index 02381662f08fd80691e31a6365a82309a1818377..265f02374dbaf650c976e0617038ce3127218858 100644 (file)
@@ -3497,6 +3497,12 @@ DataOutBase::write_gmv_reorder_data_vectors (const std::vector<Patch<dim,spacedi
 /* --------------------------- class DataOutInterface ---------------------- */
 
 
+template <int dim, int spacedim>
+DataOutInterface<dim,spacedim>::DataOutInterface ()
+               : default_subdivisions(1)
+{}
+
+
 template <int dim, int spacedim>
 DataOutInterface<dim,spacedim>::~DataOutInterface ()
 {}
@@ -3767,6 +3773,8 @@ DataOutInterface<dim,spacedim>::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<dim,spacedim>::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 ();
index 6daea8bc2c4515c3d5f1bb913d483d60f1a9d7ee..378083901ac901bfcf22f6cdd964cbd1a541f136 100644 (file)
@@ -883,6 +883,13 @@ class DataOut : public DataOut_DoFData<DH, DH::dimension>
                                      * documentation of this class
                                      * for further information.
                                      *
+                                     * The default value <tt>0</tt>
+                                     * of <tt>n_subdivisions</tt>
+                                     * 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<DH, DH::dimension>
                                      * the patches is set to
                                      * <tt>multithread_info.n_default_threads</tt>.
                                      */
-    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<DH, DH::dimension>
                                      * deformation of each vertex.
                                      */
     virtual void build_patches (const Mapping<DH::dimension> &mapping,
-                               const unsigned int n_subdivisions = 1,
+                               const unsigned int n_subdivisions = 0,
                                const unsigned int n_threads      = multithread_info.n_default_threads);
     
                                     /**
index bf7b8fb1507dd1693ae3ec84180e9b3ac9afeef5..4fc41b5358ec23dadb76f77c12adbfde8738b937 100644 (file)
@@ -109,7 +109,7 @@ class DataOutFaces : public DataOut_DoFData<DH,DH::dimension-1,
                                      * <tt>multithread_info.n_default_threads</tt>.
                                      */
     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);
 
                                     /**
index ba036f17c5408447c1afd9125db039f253ee15fe..9385c6c5a1286c728e4e88cc61736fe004e607c7 100644 (file)
@@ -118,7 +118,7 @@ class DataOutRotation : public DataOut_DoFData<DH,DH::dimension+1>
                                      * <tt>multithread_info.n_default_threads</tt>.
                                      */
     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);
 
                                     /**
index 9250f6e31b8f45c7921d1286788c77db3d7c6436..3bfaa4e8bf3291980f5b03ac0a5270b89667c2f9 100644 (file)
@@ -265,7 +265,7 @@ class DataOutStack : public DataOutInterface<dim+1>
                                      * 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
index 28344091d193f921106fce2be760fefe5eb77733..1620a513cded50295c46541a305dbed71c97d991 100644 (file)
@@ -563,9 +563,13 @@ void DataOut<dim,DH>::build_patches (const unsigned int n_subdivisions,
 
 template <int dim, class DH>
 void DataOut<dim,DH>::build_patches (const Mapping<DH::dimension> &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));
 
index 5e2903ffb91f91d65faa51587a589ca971b7fbe2..1b85abb56b7e7f2392b68616aa82e1877f7db3f5 100644 (file)
@@ -150,9 +150,13 @@ void DataOutFaces<dim,DH>::build_some_patches (Data &data)
 
 
 template <int dim, class DH>
-void DataOutFaces<dim,DH>::build_patches (const unsigned int n_subdivisions,
+void DataOutFaces<dim,DH>::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));
 
index b1c602e120df96247d95329492a36c235170d46d..aec4a9626f776204972bcf91b806312bc63ef9cc 100644 (file)
@@ -317,14 +317,19 @@ void DataOutRotation<dim,DH>::build_some_patches (Data&)
 
 
 template <int dim, class DH>
-void DataOutRotation<dim,DH>::build_patches (const unsigned int n_patches_per_circle,
-                                            const unsigned int n_subdivisions,
-                                            const unsigned int n_threads_) 
+void DataOutRotation<dim,DH>::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));
 
index a07d616250dd9ca8aded3cb520e776983f17c429..6767b332eaac002efca3ea4a9da777dd836cbe2b 100644 (file)
@@ -229,10 +229,14 @@ void DataOutStack<dim,DH>::add_data_vector (const Vector<number> &vec,
 
 
 template <int dim, class DH>
-void DataOutStack<dim,DH>::build_patches (const unsigned int n_subdivisions) 
+void DataOutStack<dim,DH>::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());
index 97045cf77525f9ce2100d4cf11daa202845932ac..3bf7e142b39afd7c32215c369428abb4d7cf44b8 100644 (file)
@@ -44,6 +44,7 @@ inconvenience this causes.
 
 
 <ol>
+
   <li> <p>
        Changed: Lower dimensional objects have been removed from the
        hierachical structure of levels in <code
@@ -192,6 +193,15 @@ inconvenience this causes.
 
 <ol>
 
+  <li> <p> Changed: The default number of subdivisions in the <code
+       class="member">build_patches</code> functions of the DataOut classes is
+       now part of the parameters red by <code
+       class="member">parse_parameters</code>. This default value is used
+       whenever patches with zero subdivisions are being built.
+       <br>
+       (GK 2006/06/18)
+       </p>
+
   <li> <p>New: a configuration parameter <tt>--with-boost</tt> has been
        introduced, allowing the selection of a previously installed boost
        library instead of the contibuted.

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.