]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Don't make GrowingVectorMemory objects 'static'. 4963/head
authorWolfgang Bangerth <bangerth@colostate.edu>
Fri, 25 Aug 2017 19:34:35 +0000 (13:34 -0600)
committerWolfgang Bangerth <bangerth@colostate.edu>
Mon, 28 Aug 2017 17:24:49 +0000 (11:24 -0600)
include/deal.II/lac/block_linear_operator.h
include/deal.II/lac/constrained_linear_operator.h
include/deal.II/lac/linear_operator.h
include/deal.II/lac/packaged_operation.h
source/lac/trilinos_sparse_matrix.cc

index 2fcc737cf5bd7fa6cd1043b4efb490bd23d7ff5a..b3a67fee9468d79fab39a0d8c7bc81cf2fef6ddd 100644 (file)
@@ -758,7 +758,7 @@ block_forward_substitution(const BlockLinearOperator<Range, Domain, BlockPayload
     if (m == 0)
       return;
 
-    static GrowingVectorMemory<typename Range::BlockType> vector_memory;
+    GrowingVectorMemory<typename Range::BlockType> vector_memory;
     typename VectorMemory<typename Range::BlockType>::Pointer tmp (vector_memory);
 
     diagonal_inverse.block(0, 0).vmult_add(v.block(0), u.block(0));
@@ -865,7 +865,7 @@ block_back_substitution(const BlockLinearOperator<Range, Domain, BlockPayload> &
            ExcDimensionMismatch(diagonal_inverse.n_block_cols(), m));
     Assert(v.n_blocks() == m, ExcDimensionMismatch(v.n_blocks(), m));
     Assert(u.n_blocks() == m, ExcDimensionMismatch(u.n_blocks(), m));
-    static GrowingVectorMemory<typename Range::BlockType> vector_memory;
+    GrowingVectorMemory<typename Range::BlockType> vector_memory;
     typename VectorMemory<typename Range::BlockType>::Pointer tmp (vector_memory);
 
     if (m == 0)
index 5d4c70ba12cda9781d8f1ee11083e358e1165813..0c4d38a883ec14aaf2e0b1655d913ae7a14d4fec 100644 (file)
@@ -317,7 +317,7 @@ constrained_right_hand_side(const ConstraintMatrix &constraint_matrix,
       distribute_constraints_linear_operator(constraint_matrix, linop);
     const auto Ct = transpose_operator(C);
 
-    static GrowingVectorMemory<Domain> vector_memory;
+    GrowingVectorMemory<Domain> vector_memory;
     typename VectorMemory<Domain>::Pointer k (vector_memory);
     linop.reinit_domain_vector(*k, /*bool fast=*/ false);
     constraint_matrix.distribute(*k);
index afa127380223e1271e40549120ca3479a07728eb..a897d037dcf323df4f47ffef08225e89ec514cc3 100644 (file)
@@ -580,7 +580,7 @@ operator*(const LinearOperator<Range, Intermediate, Payload> &first_op,
 
       return_op.vmult = [first_op, second_op](Range &v, const Domain &u)
       {
-        static GrowingVectorMemory<Intermediate> vector_memory;
+        GrowingVectorMemory<Intermediate> vector_memory;
 
         typename VectorMemory<Intermediate>::Pointer i (vector_memory);
         second_op.reinit_range_vector(*i, /*bool omit_zeroing_entries =*/ true);
@@ -590,7 +590,7 @@ operator*(const LinearOperator<Range, Intermediate, Payload> &first_op,
 
       return_op.vmult_add = [first_op, second_op](Range &v, const Domain &u)
       {
-        static GrowingVectorMemory<Intermediate> vector_memory;
+        GrowingVectorMemory<Intermediate> vector_memory;
 
         typename VectorMemory<Intermediate>::Pointer i (vector_memory);
         second_op.reinit_range_vector(*i, /*bool omit_zeroing_entries =*/ true);
@@ -600,7 +600,7 @@ operator*(const LinearOperator<Range, Intermediate, Payload> &first_op,
 
       return_op.Tvmult = [first_op, second_op](Domain &v, const Range &u)
       {
-        static GrowingVectorMemory<Intermediate> vector_memory;
+        GrowingVectorMemory<Intermediate> vector_memory;
 
         typename VectorMemory<Intermediate>::Pointer i (vector_memory);
         first_op.reinit_domain_vector(*i, /*bool omit_zeroing_entries =*/ true);
@@ -610,7 +610,7 @@ operator*(const LinearOperator<Range, Intermediate, Payload> &first_op,
 
       return_op.Tvmult_add = [first_op, second_op](Domain &v, const Range &u)
       {
-        static GrowingVectorMemory<Intermediate> vector_memory;
+        GrowingVectorMemory<Intermediate> vector_memory;
 
         typename VectorMemory<Intermediate>::Pointer i (vector_memory);
         first_op.reinit_domain_vector(*i, /*bool omit_zeroing_entries =*/ true);
@@ -695,7 +695,7 @@ inverse_operator(const LinearOperator<Range, Domain, Payload> &op,
   return_op.vmult_add =
     [op, &solver, &preconditioner](Range &v, const Domain &u)
   {
-    static GrowingVectorMemory<Range> vector_memory;
+    GrowingVectorMemory<Range> vector_memory;
 
     typename VectorMemory<Range>::Pointer v2 (vector_memory);
     op.reinit_range_vector(*v2, /*bool omit_zeroing_entries =*/ false);
@@ -712,7 +712,7 @@ inverse_operator(const LinearOperator<Range, Domain, Payload> &op,
   return_op.Tvmult_add =
     [op, &solver, &preconditioner](Range &v, const Domain &u)
   {
-    static GrowingVectorMemory<Range> vector_memory;
+    GrowingVectorMemory<Range> vector_memory;
 
     typename VectorMemory<Range>::Pointer v2 (vector_memory);
     op.reinit_range_vector(*v2, /*bool omit_zeroing_entries =*/ false);
@@ -1033,7 +1033,7 @@ namespace
   void apply_with_intermediate_storage(Function function, Range &v,
                                        const Domain &u, bool add)
   {
-    static GrowingVectorMemory<Range> vector_memory;
+    GrowingVectorMemory<Range> vector_memory;
 
     typename VectorMemory<Range>::Pointer i (vector_memory);
     i->reinit(v, /*bool omit_zeroing_entries =*/true);
index e801def071c4f662549b9e7609e4599c58d4ed96..053a6c9da4225dcd8221c8d25b491ee4826e4bcb 100644 (file)
@@ -748,7 +748,7 @@ operator*(const LinearOperator<Range, Domain, Payload> &op,
 
   return_comp.apply = [op, comp](Domain &v)
   {
-    static GrowingVectorMemory<Range> vector_memory;
+    GrowingVectorMemory<Range> vector_memory;
 
     typename VectorMemory<Range>::Pointer i (vector_memory);
     op.reinit_domain_vector(*i, /*bool omit_zeroing_entries =*/ true);
@@ -759,7 +759,7 @@ operator*(const LinearOperator<Range, Domain, Payload> &op,
 
   return_comp.apply_add = [op, comp](Domain &v)
   {
-    static GrowingVectorMemory<Range> vector_memory;
+    GrowingVectorMemory<Range> vector_memory;
 
     typename VectorMemory<Range>::Pointer i (vector_memory);
     op.reinit_range_vector(*i, /*bool omit_zeroing_entries =*/ true);
@@ -794,7 +794,7 @@ operator*(const PackagedOperation<Range> &comp,
 
   return_comp.apply = [op, comp](Domain &v)
   {
-    static GrowingVectorMemory<Range> vector_memory;
+    GrowingVectorMemory<Range> vector_memory;
 
     typename VectorMemory<Range>::Pointer i (vector_memory);
     op.reinit_range_vector(*i, /*bool omit_zeroing_entries =*/ true);
@@ -805,7 +805,7 @@ operator*(const PackagedOperation<Range> &comp,
 
   return_comp.apply_add = [op, comp](Domain &v)
   {
-    static GrowingVectorMemory<Range> vector_memory;
+    GrowingVectorMemory<Range> vector_memory;
 
     typename VectorMemory<Range>::Pointer i (vector_memory);
     op.reinit_range_vector(*i, /*bool omit_zeroing_entries =*/ true);
index 1808b8b8f9bdf63f0d5ef97a01b080f9d22ed102..3a4e0086759a307027a6d486b94c52e72f23096e 100644 (file)
@@ -2972,7 +2972,7 @@ namespace TrilinosWrappers
         {
           // Duplicated from LinearOperator::operator*
           // TODO: Template the constructor on GrowingVectorMemory vector type?
-          static GrowingVectorMemory<GVMVectorType> vector_memory;
+          GrowingVectorMemory<GVMVectorType> vector_memory;
           GVMVectorType *i = vector_memory.alloc();
 
           // Initialize intermediate vector
@@ -3006,7 +3006,7 @@ namespace TrilinosWrappers
         {
           // Duplicated from LinearOperator::operator*
           // TODO: Template the constructor on GrowingVectorMemory vector type?
-          static GrowingVectorMemory<GVMVectorType> vector_memory;
+          GrowingVectorMemory<GVMVectorType> vector_memory;
           GVMVectorType *i = vector_memory.alloc();
 
           // These operators may themselves be transposed or not, so we let them
@@ -3051,7 +3051,7 @@ namespace TrilinosWrappers
         {
           // Duplicated from LinearOperator::operator*
           // TODO: Template the constructor on GrowingVectorMemory vector type?
-          static GrowingVectorMemory<GVMVectorType> vector_memory;
+          GrowingVectorMemory<GVMVectorType> vector_memory;
           GVMVectorType *i = vector_memory.alloc();
 
           // Initialize intermediate vector
@@ -3085,7 +3085,7 @@ namespace TrilinosWrappers
         {
           // Duplicated from LinearOperator::operator*
           // TODO: Template the constructor on GrowingVectorMemory vector type?
-          static GrowingVectorMemory<GVMVectorType> vector_memory;
+          GrowingVectorMemory<GVMVectorType> vector_memory;
           GVMVectorType *i = vector_memory.alloc();
 
           // These operators may themselves be transposed or not, so we let them
@@ -3149,7 +3149,7 @@ namespace TrilinosWrappers
         {
           // Duplicated from LinearOperator::operator*
           // TODO: Template the constructor on GrowingVectorMemory vector type?
-          static GrowingVectorMemory<GVMVectorType> vector_memory;
+          GrowingVectorMemory<GVMVectorType> vector_memory;
           GVMVectorType *i = vector_memory.alloc();
 
           // Initialize intermediate vector
@@ -3181,7 +3181,7 @@ namespace TrilinosWrappers
         {
           // Duplicated from LinearOperator::operator*
           // TODO: Template the constructor on GrowingVectorMemory vector type?
-          static GrowingVectorMemory<GVMVectorType> vector_memory;
+          GrowingVectorMemory<GVMVectorType> vector_memory;
           GVMVectorType *i = vector_memory.alloc();
 
           // These operators may themselves be transposed or not, so we let them
@@ -3223,7 +3223,7 @@ namespace TrilinosWrappers
         {
           // Duplicated from LinearOperator::operator*
           // TODO: Template the constructor on GrowingVectorMemory vector type?
-          static GrowingVectorMemory<GVMVectorType> vector_memory;
+          GrowingVectorMemory<GVMVectorType> vector_memory;
           GVMVectorType *i = vector_memory.alloc();
 
           // Initialize intermediate vector
@@ -3255,7 +3255,7 @@ namespace TrilinosWrappers
         {
           // Duplicated from LinearOperator::operator*
           // TODO: Template the constructor on GrowingVectorMemory vector type?
-          static GrowingVectorMemory<GVMVectorType> vector_memory;
+          GrowingVectorMemory<GVMVectorType> vector_memory;
           GVMVectorType *i = vector_memory.alloc();
 
           // These operators may themselves be transposed or not, so we let them

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.