Commit 9392ea5a authored by GILLES Sebastien's avatar GILLES Sebastien
Browse files

#1211 Fix Doxygen documentation so that latex compilation works fine.

The purpose is not to provide the LaTeX documentation per se: with the dot graphs the document is unwieldy and huge (almost 5000 pages at the time of this writing...) but to fix possible issues than were left unseen in the html documentation (for instance putting \code blocks in a param description is a bad idea that create a compilation issue with LaTeX).
parent 4c3a935b
......@@ -766,20 +766,7 @@ WARN_LOGFILE = "warnings.txt"
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.
INPUT = ../../Sources/Utilities \
../../Sources/ThirdParty \
../../Sources/Core \
../../Sources/Geometry \
../../Sources/FiniteElement \
../../Sources/Parameters \
../../Sources/Operators \
../../Sources/ParameterInstances \
../../Sources/OperatorInstances \
../../Sources/FormulationSolver \
../../Sources/Model \
../../Sources/PostProcessing \
../../Sources/Test \
../../Sources/ModelInstances \
INPUT = ../../Sources \
../../README.md
# This tag can be used to specify the character encoding of the source files
......@@ -1533,7 +1520,7 @@ SEARCHENGINE = YES
# The default value is: NO.
# This tag requires that the tag SEARCHENGINE is set to YES.
SERVER_BASED_SEARCH = NO
SERVER_BASED_SEARCH = YES
# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
# script for searching. Instead the search results are written to an XML file
......@@ -1560,7 +1547,7 @@ EXTERNAL_SEARCH = NO
# Searching" for details.
# This tag requires that the tag SEARCHENGINE is set to YES.
SEARCHENGINE_URL =
SEARCHENGINE_URL = doxysearch
# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
# search data is written to a file for indexing by an external tool. With the
......@@ -1576,7 +1563,7 @@ SEARCHDATA_FILE = searchdata.xml
# projects and redirect the results back to the right project.
# This tag requires that the tag SEARCHENGINE is set to YES.
EXTERNAL_SEARCH_ID =
EXTERNAL_SEARCH_ID = MoReFEM
# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
# projects other than the one defined by this configuration file, but that are
......@@ -1595,7 +1582,7 @@ EXTRA_SEARCH_MAPPINGS =
# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
# The default value is: YES.
GENERATE_LATEX = NO
GENERATE_LATEX = YES
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
......
......@@ -44,7 +44,8 @@ namespace MoReFEM
* an exception and hence allow the program to stop properly.
*
* \tparam AdditionalCommandLineArgumentsT If not std::false_type, this class must include a static method with
* prototype
* prototype:
*
* \code
* static void AdditionalCommandLineArgumentsT::Add(TCLAP::CmdLine& command);
* \endcode
......
......@@ -49,7 +49,8 @@ namespace MoReFEM
/*!
* \brief Returns the requested numbering subset from \a object when T is a pointer or smart pointer.
*
* \param[in] pointer Pointer or pointer-like to an object that must define a method with prototype
* \param[in] pointer Pointer or pointer-like to an object that must define a method with prototype:
*
* \code
* const NumberingSubset& GetNumberingSubset() const;
* \endcode
......@@ -70,7 +71,8 @@ namespace MoReFEM
* \brief Returns the requested numbering subset from \a object when T is <b>not</b> a pointer or smart
* pointer.
*
* \param[in] object Object that must define a method with prototype
* \param[in] object Object that must define a method with prototype:
*
* \code
* const NumberingSubset& GetNumberingSubset() const;
* \endcode
......@@ -92,6 +94,7 @@ namespace MoReFEM
*
* \param[in] pointer Pointer or pointer-like to an object that must define methods with following
* prototypes:
*
* \code
* const NumberingSubset& GetRowNumberingSubset() const;
* const NumberingSubset& GetColNumberingSubset() const;
......@@ -114,6 +117,7 @@ namespace MoReFEM
* pointer.
*
* \param[in] object Object that must define methods with following prototypes:
*
* \code
* const NumberingSubset& GetRowNumberingSubset() const;
* const NumberingSubset& GetColNumberingSubset() const;
......
......@@ -195,14 +195,17 @@ namespace MoReFEM
* finite element associated to a quadrangle:
* \param[in] orientation Index which gives away the orientation chosen. See \a OrientedEdge for more
* details.
*
* 3-----------2
* | |
* | | Edges: { { 0, 1 } },
* | | { { 1, 2 } },
* | | { { 3, 2 } },
* | | { { 0, 3 } }
* 0-----------1
\verbatim
3-----------2
| |
| | Edges: { { 0, 1 } },
| | { { 1, 2 } },
| | { { 3, 2 } },
| | { { 0, 3 } }
0-----------1
\endverbatim
*
* \return The LocalNode objects associated to this edge (its internal index is the one computed
* within current class).
......
......@@ -116,13 +116,13 @@ namespace MoReFEM
* Let's illustrate this by an example:
*
* \verbatim
* LightweightDomainList1 = {
*
* mesh_label_list = { 0, 1, 1, 2, 3, 2, 3 },
* domain_index_list = { 3, 4, 5, 6 },
* number_in_domain_list = { 2, 3, 1, 1 }
* } -- LightweightDomainList1
* \endverbatim
LightweightDomainList1 = {
mesh_label_list = { 0, 1, 1, 2, 3, 2, 3 },
domain_index_list = { 3, 4, 5, 6 },
number_in_domain_list = { 2, 3, 1, 1 }
} -- LightweightDomainList1
\endverbatim
*
* Means that:
* - Domain 3 is composed of \a MeshLabel 0 and 1.
......
......@@ -121,8 +121,8 @@ namespace MoReFEM
LocalMatrix& GetNonCstJacobian() noexcept;
/*!
* \brief Non constant accessor to the values of the first derivates of the shape function, updated
* along  jacobian_.
* \brief Non constant accessor to the values of the first derivates of the shape function,
* updated along \a jacobian_.
*
* Likewise, it should not be accessed publicly.
*
......
......@@ -44,7 +44,7 @@ namespace MoReFEM
* \endcode
*
* or to be a template parameter to MoReFEM::RefGeomEltNS::Hexahedron20 class (current class is in an
* additional layer of namespace:
* additional layer of namespace):
*
* \code
* MoReFEM::RefGeomEltNS::Traits::Hexahedron20
......
......@@ -48,7 +48,7 @@ namespace MoReFEM
* \endcode
*
* or to be a template parameter to MoReFEM::RefGeomEltNS::Hexahedron27 class (current class is in an
* additional layer of namespace:
* additional layer of namespace):
*
* \code
* MoReFEM::RefGeomEltNS::Traits::Hexahedron27
......
......@@ -44,7 +44,7 @@ namespace MoReFEM
* \endcode
*
* or to be a template parameter to MoReFEM::RefGeomEltNS::Hexahedron8 class (current class is in an
* additional layer of namespace:
* additional layer of namespace):
*
* \code
* MoReFEM::RefGeomEltNS::Traits::Hexahedron8
......
......@@ -45,7 +45,7 @@ namespace MoReFEM
* \endcode
*
* or to be a template parameter to MoReFEM::RefGeomEltNS::Point1 class (current class is in an
* additional layer of namespace:
* additional layer of namespace):
*
* \code
* MoReFEM::RefGeomEltNS::Traits::Point1
......
......@@ -45,7 +45,7 @@ namespace MoReFEM
* \endcode
*
* or to be a template parameter to MoReFEM::RefGeomEltNS::Quadrangle4 class (current class is in an
* additional layer of namespace:
* additional layer of namespace):
*
* \code
* MoReFEM::RefGeomEltNS::Traits::Quadrangle4
......
......@@ -45,7 +45,7 @@ namespace MoReFEM
* \endcode
*
* or to be a template parameter to MoReFEM::RefGeomEltNS::Quadrangle8 class (current class is in an
* additional layer of namespace:
* additional layer of namespace):
*
* \code
* MoReFEM::RefGeomEltNS::Traits::Quadrangle8
......
......@@ -44,7 +44,7 @@ namespace MoReFEM
* \endcode
*
* or to be a template parameter to MoReFEM::RefGeomEltNS::Quadrangle9 class (current class is in an
* additional layer of namespace:
* additional layer of namespace):
*
* \code
* MoReFEM::RefGeomEltNS::Traits::Quadrangle9
......
......@@ -47,7 +47,7 @@ namespace MoReFEM
* \endcode
*
* or to be a template parameter to MoReFEM::RefGeomEltNS::Segment2 class (current class is in an
* additional layer of namespace:
* additional layer of namespace):
*
* \code
* MoReFEM::RefGeomEltNS::Traits::Segment2
......
......@@ -45,7 +45,7 @@ namespace MoReFEM
* \endcode
*
* or to be a template parameter to MoReFEM::RefGeomEltNS::Segment3 class (current class is in an
* additional layer of namespace:
* additional layer of namespace):
*
* \code
* MoReFEM::RefGeomEltNS::Traits::Segment3
......
......@@ -47,7 +47,7 @@ namespace MoReFEM
* \endcode
*
* or to be a template parameter to MoReFEM::RefGeomEltNS::Tetrahedron10 class (current class is in an
* additional layer of namespace:
* additional layer of namespace):
*
* \code
* MoReFEM::RefGeomEltNS::Traits::Tetrahedron10
......
......@@ -44,7 +44,7 @@ namespace MoReFEM
* \endcode
*
* or to be a template parameter to MoReFEM::RefGeomEltNS::Tetrahedron4 class (current class is in an
* additional layer of namespace:
* additional layer of namespace):
*
* \code
* MoReFEM::RefGeomEltNS::Traits::Tetrahedron4
......
......@@ -46,7 +46,7 @@ namespace MoReFEM
* \endcode
*
* or to be a template parameter to MoReFEM::RefGeomEltNS::Triangle3 class (current class is in an
* additional layer of namespace:
* additional layer of namespace):
*
* \code
* MoReFEM::RefGeomEltNS::Traits::Triangle3
......
......@@ -44,7 +44,7 @@ namespace MoReFEM
* \endcode
*
* or to be a template parameter to MoReFEM::RefGeomEltNS::Triangle6 class (current class is in an
* additional layer of namespace:
* additional layer of namespace):
*
* \code
* MoReFEM::RefGeomEltNS::Traits::Triangle6
......
......@@ -204,7 +204,7 @@ namespace MoReFEM
* \param[in] index Index of the sought \a Parameter. To make the code more readable, use the enum class:
* \code
* decltype(auto) nsr_param = GetNonCstParameter(EnumUnderlyingType(parameter_index::nsr));
* \endcode
\endcode
*
* \return Reference to the required \a Parameter.
*/
......@@ -217,7 +217,7 @@ namespace MoReFEM
* \param[in] index Index of the sought \a Parameter. To make the code more readable, use the enum class:
* \code
* decltype(auto) nsr_param = GetParameter(EnumUnderlyingType(parameter_index::nsr));
* \endcode
\endcode
*
* \return Constant reference to the required \a Parameter.
*/
......
......@@ -212,7 +212,9 @@ namespace MoReFEM
*
* \copydoc doxygen_hide_operator_do_allocate_gradient_felt_phi_arg
* \param[in] args Variadic arguments that will be perfect-forwarded to the constructor of each
* LocalVariationalOperator. For instance Force needs the definition of the force applied, so its prototype will be:
* LocalVariationalOperator. For instance Force needs the definition of the force applied, so its
* prototype will be:
*
* \code
* Force(const InputParameterDataT& input_parameter_data,
* const FEltSpace& felt_space,
......
......@@ -170,6 +170,7 @@ namespace MoReFEM
*
*
* \tparam UpdateFunctorT The expected prototype of the update_functor functor is:
*
* \code
* [](storage_value_type& value_to_modify) -> void
* \endcode
......
......@@ -180,7 +180,7 @@ namespace MoReFEM
/// \name Accessors
///@{
//! Constant accessor to the value of TimeManager::NtimesModified() at the last Update() call.
//! Constant accessor to the value of \a TimeManager::NtimesModified() at the last \a Update() call.
unsigned int GetNtimesModifiedAtLastUpdate() const noexcept;
///@}
......
......@@ -97,12 +97,13 @@ namespace MoReFEM
* through Matrix::ViewBinary() method.
* \param[in] freefem_numbering_informations_file Freefem proceeds to an ad hoc renumbering
* for shape functions other than P1; we need this information to map MoReFEM dofs to Freefem's.
*
* So we just need a file which gives the following information:
* \verbatim
* 10 14 9 12
* 10 9 6 5
* ...
* \endverbatim
10 14 9 12
10 9 6 5
...
\endverbatim
* where each line provide the list of dofs for the geometric element that share the line number
* Dofs on vertex come first, then on edges, then on faces.
* See #936 discussion for more details (and for the informations from Freefem's author).
......
......@@ -345,7 +345,7 @@ namespace MoReFEM
*
* Formula is:
* \verbatim
* m3 = m1^T * m2.
m3 = m1^T * m2.
* \endverbatim
*
* \copydetails doxygen_hide_matmatmult_warning
......@@ -421,9 +421,9 @@ namespace MoReFEM
*
* \warning Unfortunately a simple test with P = I leads to error
* \verbatim
* [0]PETSC ERROR: Nonconforming object sizes
* [0]PETSC ERROR: Expected fill=-2 must be >= 1.0
* \endverbatim
[0;39m[0;49m[0]PETSC ERROR: Nonconforming object sizes
[0]PETSC ERROR: Expected fill=-2 must be >= 1.0
\endverbatim
* The reason is that PETSC_DEFAULT may not be supported (I've asked Petsc developers); but even with
* hand-tailored fill it doesn't seem to work...
* So unfortunately I have to advise instead MatMatMult followed by MatTransposeMatMult instead...
......
......@@ -745,10 +745,10 @@ namespace MoReFEM
*
* \attention Petsc man page mentions performance issues with this one.
* \verbatim
* per-processor memory bandwidth
* interprocessor latency
* work load inbalance that causes certain processes to arrive much earlier than others
* \endverbatim
per-processor memory bandwidth
interprocessor latency
work load inbalance that causes certain processes to arrive much earlier than others
\endverbatim
*
* \note This function may work for parallel vectors; no need to reduce the result obtained on each process
* (on the contrary you would compute number of proc * dot_product...).
......
......@@ -25,8 +25,20 @@ namespace MoReFEM
namespace Wrappers
{
// Forward declaration.
// ============================
//! \cond IGNORE_BLOCK_IN_DOXYGEN
// Forward declarations.
// ============================
class Mpi;
// ============================
// End of forward declarations.
//! \endcond IGNORE_BLOCK_IN_DOXYGEN
// ============================
namespace Petsc
......@@ -61,7 +73,7 @@ namespace MoReFEM
/*!
* \class doxygen_hide_petsc_file_mode
*
* \param[in] file_mode From http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Viewer/PetscViewerBinaryOpen.html#PetscViewerBinaryOpen :
* \param[in] file_mode Same modes as in Petsc documentation, i.e.:
* - FILE_MODE_WRITE - create new file for binary output.
* - FILE_MODE_READ - open existing file for binary input.
* - FILE_MODE_APPEND - open existing file for binary output.
......@@ -112,8 +124,6 @@ namespace MoReFEM
};
} // namespace Petsc
......@@ -126,5 +136,4 @@ namespace MoReFEM
/// @} // addtogroup ThirdPartyGroup
#endif // MOREFEM_x_THIRD_PARTY_x_WRAPPERS_x_PETSC_x_VIEWER_HPP_
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment