{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.BIABtCRD/b1/deal.ii_9.6.2-1_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.BIABtCRD/b2/deal.ii_9.6.2-1_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,5 +1,5 @@\n \n c3cb8d6fbd174b99fca2cd86d0aa1290 911235168 debug optional libdeal.ii-9.6.2-dbgsym_9.6.2-1_amd64.deb\n 906eec581ce4fced957b64baa65d7e5f 86038904 libs optional libdeal.ii-9.6.2_9.6.2-1_amd64.deb\n 5c5cdd5936a7aa36389e0c807550f8d6 2258108 libdevel optional libdeal.ii-dev_9.6.2-1_amd64.deb\n- 94271f3d802a6ad5b0ae8128ade49e78 286235660 doc optional libdeal.ii-doc_9.6.2-1_all.deb\n+ 37b302494fb08286e2ad986c98137d28 286234440 doc optional libdeal.ii-doc_9.6.2-1_all.deb\n"}, {"source1": "libdeal.ii-doc_9.6.2-1_all.deb", "source2": "libdeal.ii-doc_9.6.2-1_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2025-01-02 15:59:49.000000 debian-binary\n--rw-r--r-- 0 0 0 270612 2025-01-02 15:59:49.000000 control.tar.xz\n--rw-r--r-- 0 0 0 285964856 2025-01-02 15:59:49.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 270544 2025-01-02 15:59:49.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 285963704 2025-01-02 15:59:49.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -8973,19 +8973,19 @@\n -rw-r--r-- 0 root (0) root (0) 276457 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_14.js\n -rw-r--r-- 0 root (0) root (0) 12134 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_15.js\n -rw-r--r-- 0 root (0) root (0) 4673 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_16.js\n -rw-r--r-- 0 root (0) root (0) 125362 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_17.js\n -rw-r--r-- 0 root (0) root (0) 258057 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_18.js\n -rw-r--r-- 0 root (0) root (0) 157301 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_19.js\n -rw-r--r-- 0 root (0) root (0) 220616 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_1a.js\n--rw-r--r-- 0 root (0) root (0) 289315 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_1b.js\n+-rw-r--r-- 0 root (0) root (0) 289804 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_1b.js\n -rw-r--r-- 0 root (0) root (0) 40894 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_1c.js\n -rw-r--r-- 0 root (0) root (0) 235387 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_1d.js\n--rw-r--r-- 0 root (0) root (0) 465583 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_1e.js\n--rw-r--r-- 0 root (0) root (0) 259941 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_1f.js\n+-rw-r--r-- 0 root (0) root (0) 464546 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_1e.js\n+-rw-r--r-- 0 root (0) root (0) 260240 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_1f.js\n -rw-r--r-- 0 root (0) root (0) 3645 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_2.js\n -rw-r--r-- 0 root (0) root (0) 56423 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_20.js\n -rw-r--r-- 0 root (0) root (0) 167601 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_21.js\n -rw-r--r-- 0 root (0) root (0) 36152 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_22.js\n -rw-r--r-- 0 root (0) root (0) 3907 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_23.js\n -rw-r--r-- 0 root (0) root (0) 269 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_24.js\n -rw-r--r-- 0 root (0) root (0) 4076 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_25.js\n@@ -8997,15 +8997,15 @@\n -rw-r--r-- 0 root (0) root (0) 1892 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_7.js\n -rw-r--r-- 0 root (0) root (0) 2888 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_8.js\n -rw-r--r-- 0 root (0) root (0) 3088 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_9.js\n -rw-r--r-- 0 root (0) root (0) 7437 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_a.js\n -rw-r--r-- 0 root (0) root (0) 350 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_b.js\n -rw-r--r-- 0 root (0) root (0) 258512 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_c.js\n -rw-r--r-- 0 root (0) root (0) 107860 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_d.js\n--rw-r--r-- 0 root (0) root (0) 417992 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_e.js\n+-rw-r--r-- 0 root (0) root (0) 418156 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_e.js\n -rw-r--r-- 0 root (0) root (0) 200058 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/all_f.js\n -rw-r--r-- 0 root (0) root (0) 43245 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/classes_0.js\n -rw-r--r-- 0 root (0) root (0) 9809 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/classes_1.js\n -rw-r--r-- 0 root (0) root (0) 5320 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/classes_10.js\n -rw-r--r-- 0 root (0) root (0) 13686 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/classes_11.js\n -rw-r--r-- 0 root (0) root (0) 59275 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/classes_12.js\n -rw-r--r-- 0 root (0) root (0) 38047 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/search/classes_13.js\n@@ -11603,15 +11603,15 @@\n -rw-r--r-- 0 root (0) root (0) 4917 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/transformations_8cc.html\n -rw-r--r-- 0 root (0) root (0) 9185 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/transformations_8cc_source.html\n -rw-r--r-- 0 root (0) root (0) 44728 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/transformations_8h.html\n -rw-r--r-- 0 root (0) root (0) 164520 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/transformations_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 6365 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/tria__accessor_8cc.html\n -rw-r--r-- 0 root (0) root (0) 659755 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/tria__accessor_8cc_source.html\n -rw-r--r-- 0 root (0) root (0) 18086 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/tria__accessor_8h.html\n--rw-r--r-- 0 root (0) root (0) 440325 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/tria__accessor_8h_source.html\n+-rw-r--r-- 0 root (0) root (0) 439890 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/tria__accessor_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 7132 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/tria__base_8cc.html\n -rw-r--r-- 0 root (0) root (0) 162457 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/tria__base_8cc_source.html\n -rw-r--r-- 0 root (0) root (0) 7664 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/tria__base_8h.html\n -rw-r--r-- 0 root (0) root (0) 48418 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/tria__base_8h_source.html\n -rw-r--r-- 0 root (0) root (0) 16689 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/tria__description_8cc.html\n -rw-r--r-- 0 root (0) root (0) 233874 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/tria__description_8cc_source.html\n -rw-r--r-- 0 root (0) root (0) 16061 2025-01-02 15:59:49.000000 ./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/tria__description_8h.html\n"}, {"source1": "./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/classDataOutFaces.html", "source2": "./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/classDataOutFaces.html", "unified_diff": "@@ -325,15 +325,15 @@\n class DataOutFaces< dim, spacedim >
This class generates output from faces of a triangulation. It might be used to generate output only for the surface of the triangulation (this is the default of this class), or for all faces of active cells, as specified in the constructor. The output of this class is a set of patches (as defined by the class DataOutBase::Patch()), one for each face for which output is to be generated. These patches can then be written in several graphical data formats by the functions of the underlying classes.
\nThe interface of this class is copied from the DataOut class. Furthermore, they share the common parent class DataOut_DoFData. See the reference of these two classes for a discussion of the interface.
\nThe sequence of faces to generate patches from is generated in the same way as in the DataOut class; see there for a description of the respective interface. The functions generating the sequence of faces which shall be used to generate output, are called first_face() and next_face().
\nSince we need to initialize objects of type FEValues with the faces generated from these functions, it is not sufficient that they only return face iterators. Rather, we need a pair of cell and the number of the face, as the values of finite element fields need not necessarily be unique on a face (think of discontinuous finite elements, where the value of the finite element field depend on the direction from which you approach a face, thus it is necessary to use a pair of cell and face, rather than only a face iterator). Therefore, this class defines an alias
which creates a type FaceDescriptor
that is an abbreviation for a pair of cell iterator and face number. The functions first_face
and next_face
operate on objects of this type.
Extending this class might, for example, be useful if you only want output from certain portions of the boundary, e.g. as indicated by the boundary indicator of the respective faces. However, it is also conceivable that one generates patches not from boundary faces, but from interior faces that are selected due to other criteria; one application might be to use only those faces where one component of the solution attains a certain value, in order to display the values of other solution components on these faces. Other applications certainly exist, for which the author is not imaginative enough.
\n-Definition at line 108 of file data_out_faces.h.
\nSame as above, except that the additional first parameter defines a mapping that is to be used in the generation of output. If n_subdivisions>1
, the points interior of subdivided patches which originate from cells at the boundary of the domain can be computed using the mapping, i.e. a higher order mapping leads to a representation of a curved boundary by using more subdivisions.
Even for non-curved cells the mapping argument can be used for the Eulerian mappings (see class MappingQ1Eulerian) where a mapping is used not only to determine the position of points interior to a cell, but also of the vertices. It offers an opportunity to watch the solution on a deformed triangulation on which the computation was actually carried out, even if the mesh is internally stored in its undeformed configuration and the deformation is only tracked by an additional vector that holds the deformation of each vertex.
\n-mapping
argument should be replaced by a hp::MappingCollection in case of a DoFHandler with hp-capabilities. mapping
argument should be replaced by a hp::MappingCollection in case of a DoFHandler with hp-capabilities. Definition at line 345 of file data_out_faces.cc.
\n \nDefinition at line 87 of file fe_rt_bubbles.h.
\nBase class used to declare the operations needed by a concrete class implementing prolongation and restriction of vectors in the multigrid context. This class is abstract and has no implementation of these operations.
\nThere are several derived classes, reflecting the fact that vector types and numbering of the fine-grid discretization and of the multi-level implementation are independent.
\nIf you use multigrid for a single PDE or for your complete system of equations, you will use MGTransferPrebuilt together with Multigrid. The vector types used on the fine grid as well as for the multilevel operations may be Vector or BlockVector. In both cases, MGTransferPrebuilt will operate on all components of the solution.
\nFor mixed systems, it may be required to do multigrid only for a single component or for some components. The classes MGTransferSelect and MGTransferBlock handle these cases.
\nMGTransferSelect is used if you use multigrid (on Vector objects) for a single component, possibly grouped using mg_target_component
.
The class MGTransferBlock handles the case where your multigrid method operates on BlockVector objects. These can contain all or a consecutive set of the blocks of the complete system. Since most smoothers cannot operate on block structures, it is not clear whether this case is really useful. Therefore, a tested implementation of this case will be supplied when needed.
\n \n \nAssemble local matrices into level matrices without using block structure.
\n-Assemble local residuals into global residuals.
\nThe global residuals are expected as an FEVectors object. The local residuals are block vectors.
\nDepending on whether the BlockInfo object was initialize with BlockInfo::initialize_local(), the comprehensive or block data model is used locally.
\nIn the block model, each of the blocks of the local vectors corresponds to the restriction of a single block of the system to this cell (see GlossBlock). Thus, the size of this local block is the number of degrees of freedom of the corresponding base element of the FESystem.
\n-Definition at line 110 of file assembler.h.
\nA local integrator object, which can be used to simplify the call of loop(). Instead of providing the three local integration functions separately, we bundle them as virtual functions in this class.
\nAdditionally, since we cannot have a virtual null function, we provide flags, which allow us to indicate, whether we want to integrate on boundary and interior faces. These flags are true by default, but can be modified by applications to speed up the loop.
\nIf a function is not overloaded in a derived class, but its usage flag is true, the function will cause an exception ExcPureFunction.
\n-Definition at line 59 of file local_integrator.h.
\nThe names of the input vectors. If this vector is nonempty, it can be used by application programs to automatically select and verify the input vectors used for integration.
\nDefinition at line 132 of file local_integrator.h.
\n \nThe names of the results produced. If this vector is nonempty, it can be used by application programs to automatically assign names to output values and/or verify the names of vectors.
\nDefinition at line 146 of file local_integrator.h.
\n \nConstructor. This constructor is deprecated and ignores the MPI communicator argument. Use the other constructor instead.
\n-\n+\n \nDefinition at line 368 of file petsc_solver.cc.
\n \nConstructor. This constructor is deprecated and ignores the MPI communicator argument. Use the other constructor instead.
\n-\n+\n \nDefinition at line 439 of file petsc_solver.cc.
\n \nConstructor. This constructor is deprecated and ignores the MPI communicator argument. Use the other constructor instead.
\n-\n+\n \nDefinition at line 341 of file petsc_solver.cc.
\n \nConstructor. This constructor is deprecated and ignores the MPI communicator argument. Use the other constructor instead.
\n-\n+\n \nDefinition at line 466 of file petsc_solver.cc.
\n \nConstructor. This constructor is deprecated and ignores the MPI communicator argument. Use the other constructor instead.
\n-\n+\n \nDefinition at line 547 of file petsc_solver.cc.
\n \nConstructor. This constructor is deprecated and ignores the MPI communicator argument. Use the other constructor instead.
\n-\n+\n \nDefinition at line 314 of file petsc_solver.cc.
\n \nConstructor. This constructor is deprecated and ignores the MPI communicator argument. Use the other constructor instead.
\n-\n+\n \nDefinition at line 404 of file petsc_solver.cc.
\n \nConstructor. This constructor is deprecated and ignores the MPI communicator argument. Use the other constructor instead.
\n-\n+\n \nDefinition at line 575 of file petsc_solver.cc.
\n \nConstructor. This constructor is deprecated and ignores the MPI communicator argument. Use the other constructor instead.
\n-\n+\n \nDefinition at line 610 of file petsc_solver.cc.
\n \nConstructor. This constructor is deprecated and ignores the MPI communicator argument. Use the other constructor instead.
\n-\n+\n \nDefinition at line 264 of file petsc_solver.cc.
\n \nConstructor. This constructor is deprecated and ignores the MPI communicator argument. Use the other constructor instead.
\n-\n+\n \nDefinition at line 520 of file petsc_solver.cc.
\n \nConstructor. This constructor is deprecated and ignores the MPI communicator argument. Use the other constructor instead.
\n-\n+\n \nDefinition at line 493 of file petsc_solver.cc.
\n \nConstructor. This constructor is deprecated and ignores the MPI communicator argument. Use the other constructor instead.
\n-\n+\n \nDefinition at line 650 of file petsc_solver.cc.
\n \nstd::function<void(const real_type t, VectorType &y)> PETScWrappers::TimeStepper< VectorType, PMatrixType, AMatrixType >::distribute | \n
update_constrained_components
, but is deprecated. Use update_constrained_components
instead. update_constrained_components
, but is deprecated. Use update_constrained_components
instead. Definition at line 621 of file petsc_ts.h.
\n \nstd::function<void(const real_type t, const unsigned int step, const VectorType &y, bool &resize)> PETScWrappers::TimeStepper< VectorType, PMatrixType, AMatrixType >::decide_for_coarsening_and_refinement | \n
decide_and_prepare_for_remeshing
except that it returns the decision whether or not to stop operations via the last reference argument of the function object instead of a plain return value. This callback is deprecated. Use decide_and_prepare_for_remeshing
instead. decide_and_prepare_for_remeshing
except that it returns the decision whether or not to stop operations via the last reference argument of the function object instead of a plain return value. This callback is deprecated. Use decide_and_prepare_for_remeshing
instead. Definition at line 656 of file petsc_ts.h.
\n \nstd::function<void(const std::vector<VectorType> &all_in, std::vector<VectorType> &all_out)> PETScWrappers::TimeStepper< VectorType, PMatrixType, AMatrixType >::interpolate | \n
transfer_solution_vectors_to_new_mesh
, but is deprecated. Use transfer_solution_vectors_to_new_mesh
instead. transfer_solution_vectors_to_new_mesh
, but is deprecated. Use transfer_solution_vectors_to_new_mesh
instead. Definition at line 688 of file petsc_ts.h.
\n \nFill a vector with all tensor elements.
\nThis function unrolls all tensor entries into a single, linearly numbered vector. As usual in C++, the rightmost index of the tensor marches fastest.
\n-const Point<spacedim> PolarManifold< dim, spacedim >::center | \n
The center of the spherical coordinate system.
\n-Definition at line 150 of file manifold_lib.h.
\n \nDetermine the orientation of the current entity described by its vertices vertices_1
relative to an entity described by vertices_0
. The two arrays given as arguments can be arrays of global vertex indices or local vertex indices, arrays of vertex locations, or arrays of any other objects identifying the vertices and the order in which they are encountered in a cell.
The size of the arrays, i.e., the template argument N
, must be equal to or larger than the number of vertices of the current entity. If it is larger, only those elements of the input and output arrays are read from or written to that correspond to valid vertex indices.
Definition at line 3183 of file reference_cell.h.
\n \nInverse function of compute_orientation(): Given a set of vertex-associated objects (such as vertex indices, locations, etc.) and a desired orientation permutation, return the permuted vertex information.
\nThe size of the input and output arrays, i.e., the template argument N
, must be equal to or larger than the number of vertices of the current entity. If it is larger, only those elements of the input and output arrays are read from or written to that correspond to valid vertex indices.
Definition at line 3259 of file reference_cell.h.
\n \nstd::function<VectorType &()> SUNDIALS::KINSOL< VectorType >::get_solution_scaling | \n
A function object that users may supply and that is intended to return a vector whose components are the weights used by KINSOL to compute the vector norm of the solution. The implementation of this function is optional, and it is used only if implemented.
\n-The intent for this scaling factor is for problems in which the different components of a solution have vastly different numerical magnitudes – typically because they have different physical units and represent different things. For example, if one were to solve a nonlinear Stokes problem, the solution vector has components that correspond to velocities and other components that correspond to pressures. These have different physical units and depending on which units one chooses, they may have roughly comparable numerical sizes or maybe they don't. To give just one example, in simulations of flow in the Earth's interior, one has velocities on the order of maybe ten centimeters per year, and pressures up to around 100 GPa. If one expresses this in SI units, this corresponds to velocities of around \\(0.000,000,003=3 \\times 10^{-9}\\) m/s, and pressures around \\(10^9 \\text{kg}/\\text{m}/\\text{s}^2\\), i.e., vastly different. In such cases, computing the \\(l_2\\) norm of a solution-type vector (e.g., the difference between the previous and the current solution) makes no sense because the norm will either be dominated by the velocity components or the pressure components. The scaling vector this function returns is intended to provide each component of the solution with a scaling factor that is generally chosen as the inverse of a \"typical velocity\" or \"typical pressure\" so that upon multiplication of a vector component by the corresponding scaling vector component, one obtains a number that is of order of magnitude of one (i.e., a reasonably small multiple of one times the typical velocity/pressure). The KINSOL manual states this as follows: \"The user should supply values \\_form#2670,\n-which are diagonal elements of the scaling matrix such that \\_form#2686 has\n+
The intent for this scaling factor is for problems in which the different components of a solution have vastly different numerical magnitudes – typically because they have different physical units and represent different things. For example, if one were to solve a nonlinear Stokes problem, the solution vector has components that correspond to velocities and other components that correspond to pressures. These have different physical units and depending on which units one chooses, they may have roughly comparable numerical sizes or maybe they don't. To give just one example, in simulations of flow in the Earth's interior, one has velocities on the order of maybe ten centimeters per year, and pressures up to around 100 GPa. If one expresses this in SI units, this corresponds to velocities of around \\(0.000,000,003=3 \\times 10^{-9}\\) m/s, and pressures around \\(10^9 \\text{kg}/\\text{m}/\\text{s}^2\\), i.e., vastly different. In such cases, computing the \\(l_2\\) norm of a solution-type vector (e.g., the difference between the previous and the current solution) makes no sense because the norm will either be dominated by the velocity components or the pressure components. The scaling vector this function returns is intended to provide each component of the solution with a scaling factor that is generally chosen as the inverse of a \"typical velocity\" or \"typical pressure\" so that upon multiplication of a vector component by the corresponding scaling vector component, one obtains a number that is of order of magnitude of one (i.e., a reasonably small multiple of one times the typical velocity/pressure). The KINSOL manual states this as follows: \"The user should supply values \\_form#2594,\n+which are diagonal elements of the scaling matrix such that \\_form#2610 has\n all components roughly the same magnitude when \\_form#304 is close to a\n solution\".
\nIf no function is provided to a KINSOL object, then this is interpreted as implicitly saying that all of these scaling factors should be considered as one.
\nDefinition at line 651 of file kinsol.h.
\n \n"}, {"source1": "./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/classSphericalManifold.html", "source2": "./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/classSphericalManifold.html", "unified_diff": "@@ -1344,15 +1344,15 @@\nconst Point<spacedim> SphericalManifold< dim, spacedim >::center | \n
The center of the spherical coordinate system.
\n-Definition at line 356 of file manifold_lib.h.
\n \nReturn a pointer to the first element of the underlying storage.
\n-Return a const pointer to the first element of the underlying storage.
\n-Return a pointer to the element past the end of the underlying storage.
\n-Return a const pointer to the element past the end of the underlying storage.
\n-Fill a vector with all tensor elements.
\nThis function unrolls all tensor entries into a single, linearly numbered vector. As usual in C++, the rightmost index of the tensor marches fastest.
\n-Deprecated constructor.
\n-Definition at line 9399 of file data_out_base.cc.
\n \nDeprecated constructor.
\n-Definition at line 9418 of file data_out_base.cc.
\n \nDeprecated constructor.
\n-Definition at line 9455 of file data_out_base.cc.
\n \nGet the XDMF content associated with this entry. If the entry is not valid, this returns an empty string.
\n-Definition at line 9555 of file data_out_base.cc.
\n \nSame as the function above.
\n-Implemented in parallel::fullydistributed::Triangulation< dim, spacedim >, parallel::distributed::Triangulation< dim, spacedim >, and parallel::distributed::Triangulation< 1, spacedim >.
\n \nLoad the refinement information saved with save() back in. The mesh must contain the same coarse mesh that was used in save() before calling this function.
\nYou do not need to load with the same number of MPI processes that you saved with. Rather, if a mesh is loaded with a different number of MPI processes than used at the time of saving, the mesh is repartitioned so that the number of cells is balanced among all processes. Individual repartitioning with non-identical weights for each cell, e.g., based on the number of dofs or particles per cell, needs to be invoked manually by calling repartition() afterwards.
\nCell-based data that was saved with DistributedTriangulationBase::DataTransfer::register_data_attach() can be read in with DistributedTriangulationBase::DataTransfer::notify_ready_to_unpack() after calling load().
\n-Implements parallel::DistributedTriangulationBase< dim, spacedim >.
\n \n \n \nstd::map
instead. std::map
instead. ShortPRM
instead of ShortText
. PRM
instead of Text
. decide_and_prepare_for_remeshing
except that it returns the decision whether or not to stop operations via the last reference argument of the function object instead of a plain return value. This callback is deprecated. Use decide_and_prepare_for_remeshing
instead. decide_and_prepare_for_remeshing
except that it returns the decision whether or not to stop operations via the last reference argument of the function object instead of a plain return value. This callback is deprecated. Use decide_and_prepare_for_remeshing
instead. update_constrained_components
, but is deprecated. Use update_constrained_components
instead. update_constrained_components
, but is deprecated. Use update_constrained_components
instead. transfer_solution_vectors_to_new_mesh
, but is deprecated. Use transfer_solution_vectors_to_new_mesh
instead. transfer_solution_vectors_to_new_mesh
, but is deprecated. Use transfer_solution_vectors_to_new_mesh
instead. vtu
: .vtu
svg
: .svg
deal_II_intermediate
: .d2
. Definition at line 2496 of file data_out_base.cc.
\n \nIf the library is configured to use multithreading, this function works in parallel.
\nweight:
an optional weight for the computation of the mass matrix. If no weight is given, it is set to one. In case you want to specify component_mapping
and use the default argument for the coefficient you have to specify the (unused) coefficient argument as (const Function <spacedim,number> *const)nullptr
.component_mapping:
if the components in boundary_functions
and dof
do not coincide, this vector allows them to be remapped. If the vector is not empty, it has to have one entry for each component in dof
. This entry is the component number in boundary_functions
that should be used for this component in dof
. By default, no remapping is applied.Definition at line 164 of file mpi.cc.
\n \n \n \n \nThe same trick with the mixed system does not work here, because we would end up with both Dirichlet and Neumann boundary conditions for \\(u\\), but none for \\(v\\).
\nThe solution to this conundrum arrived with the Discontinuous Galerkin method wave in the 1990s and early 2000s: In much the same way as one can use discontinuous shape functions for the Laplace equation by penalizing the size of the discontinuity to obtain a scheme for an equation that has one derivative on each shape function, we can use a scheme that uses continuous (but not \\(C^1\\) continuous) shape functions and penalize the jump in the derivative to obtain a scheme for an equation that has two derivatives on each shape function. In analogy to the Interior Penalty (IP) method for the Laplace equation, this scheme for the biharmonic equation is typically called the \\(C^0\\) IP (or C0IP) method, since it uses \\(C^0\\) (continuous but not continuously differentiable) shape functions with an interior penalty formulation.
\nIt is worth noting that the C0IP method is not the only one that has been developed for the biharmonic equation. step-82 shows an alternative method.
\nWe base this program on the \\(C^0\\) IP method presented by Susanne Brenner and Li-Yeng Sung in the paper \"C \\_form#5270 Interior Penalty Method\n+
We base this program on the \\(C^0\\) IP method presented by Susanne Brenner and Li-Yeng Sung in the paper \"C \\_form#5515 Interior Penalty Method\n for Linear Fourth Order Boundary Value Problems on polygonal\n domains\" [Brenner2005] where the method is derived for the biharmonic equation with \"clamped\" boundary conditions.
\nAs mentioned, this method relies on the use of \\(C^0\\) Lagrange finite elements where the \\(C^1\\) continuity requirement is relaxed and has been replaced with interior penalty techniques. To derive this method, we consider a \\(C^0\\) shape function \\(v_h\\) which vanishes on \\(\\partial\\Omega\\). We introduce notation \\( \\mathbb{F} \\) as the set of all faces of \\(\\mathbb{T}\\), \\( \\mathbb{F}^b \\) as the set of boundary faces, and \\( \\mathbb{F}^i \\) as the set of interior faces for use further down below. Since the higher order derivatives of \\(v_h\\) have two values on each interface \\(e\\in \\mathbb{F}\\) (shared by the two cells \\(K_{+},K_{-} \\in \\mathbb{T}\\)), we cope with this discontinuity by defining the following single-valued functions on \\(e\\):
\n \\begin{align*}\n \\jump{\\frac{\\partial^k v_h}{\\partial \\mathbf n^k}}\n &=\n \\frac{\\partial^k v_h|_{K_+}}{\\partial \\mathbf n^k} \\bigg |_e\n"}, {"source1": "./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/step_58.html", "source2": "./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/step_58.html", "unified_diff": "@@ -566,16 +566,16 @@\n \\left(\\psi^{(n,2)}+\\psi^{(n,1)}\\right)\\right]\n +\n V \\left[\\frac 12 \\left(\\psi^{(n,2)}+\\psi^{(n,1)}\\right)\\right] = 0.\n \\end{align*}\n
\nHere, the \"previous\" solution \\(\\psi^{(n,1)}\\) (or the \"initial\n condition\" for this part of the time step) is the output of the first phase rotation half-step; the output of the current step will be denoted by \\(\\psi^{(n,2)}\\). \\(k_{n+1}=t_{n+1}-t_n\\) is the length of the time step. (One could argue whether \\(\\psi^{(n,1)}\\) and \\(\\psi^{(n,1)}\\) live at time step \\(n\\) or \\(n+1\\) and what their upper indices should be. This is a philosophical discussion without practical impact, and one might think of \\(\\psi^{(n,1)}\\) as something like \\(\\psi^{(n+\\tfrac 13)}\\), and \\(\\psi^{(n,2)}\\) as \\(\\psi^{(n+\\tfrac 23)}\\) if that helps clarify things – though, again \\(n+\\frac 13\\) is not to be understood as \"one third time step after\n- \\_form#432\" but more like \"we've already done one third of the work necessary\n-for time step \\_form#3209\".)
\n+ \\_form#396\" but more like \"we've already done one third of the work necessary\n+for time step \\_form#3264\".)\nIf we multiply the whole equation with \\(k_{n+1}\\) and sort terms with the unknown \\(\\psi^{(n+1,2)}\\) to the left and those with the known \\(\\psi^{(n,2)}\\) to the right, then we obtain the following (spatial) partial differential equation that needs to be solved in each time step:
\n \\begin{align*}\n -i\\psi^{(n,2)}\n -\n \\frac 14 k_{n+1} \\Delta \\psi^{(n,2)}\n +\n \\frac 12 k_{n+1} V \\psi^{(n,2)}\n"}, {"source1": "./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/structDataOutBase_1_1VtkFlags.html", "source2": "./usr/share/doc/libdeal.ii-doc/html/doxygen/deal.II/structDataOutBase_1_1VtkFlags.html", "unified_diff": "@@ -183,15 +183,15 @@\n
using DataOutBase::VtkFlags::ZlibCompressionLevel = DataOutBase::CompressionLevel | \n
A data type providing the different possible zlib compression levels. These map directly to constants defined by zlib.
\n-Definition at line 1166 of file data_out_base.h.
\n \nA data type providing the different possible zlib compression levels. These map directly to constants defined by zlib.
\n-Definition at line 1166 of file data_out_base.h.
\n \nA data type providing the different possible zlib compression levels. These map directly to constants defined by zlib.
\n-Definition at line 1166 of file data_out_base.h.
\n \nmapping
argument should be replaced by a hp::MappingCollection in case of a DoFHandler with hp-capabilities. mapping
argument should be replaced by a hp::MappingCollection in case of a DoFHandler with hp-capabilities. The 3d version exhibits some numerical instabilities, in particular for higher order
\n \nelide_zero_values
is currently ignored. elide_zero_values
is currently ignored. elide_zero_values
is currently ignored.