Advanced Multi-Physics (AMP)
On-Line Documentation
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
AMP::Discretization::simpleDOFManager Class Reference

A derived class to create a simple DOF_Manager. More...

#include <simpleDOF_Manager.h>

Inheritance diagram for AMP::Discretization::simpleDOFManager:
Inheritance graph
[legend]

Public Member Functions

size_t appendDOFs (const AMP::Mesh::MeshElementID &id, size_t *dofs, size_t index, size_t capacity) const override
 
virtual size_t beginDOF () const
 The first D.O.F. on this core.
 
std::string className () const override
 Return a string with the mesh class name.
 
virtual size_t endDOF () const
 One past the last D.O.F. on this core.
 
const AMP_MPIgetComm () const
 Get the comm for the DOFManger.
 
void getDOFs (const AMP::Mesh::MeshElementID &id, std::vector< size_t > &dofs) const
 Get the entry indices of DOFs given a mesh element ID.
 
void getDOFs (const std::vector< AMP::Mesh::MeshElementID > &ids, std::vector< size_t > &dofs) const
 Get the entry indices of DOFs given a mesh element ID.
 
void getDOFs (int N_ids, const AMP::Mesh::MeshElementID *ids, std::vector< size_t > &dofs) const
 Get the entry indices of DOFs given a mesh element ID.
 
int getDOFsPerPoint () const override
 Get the number of DOFs per element.
 
std::unique_ptr< AMP::Mesh::MeshElementgetElement (size_t dof) const override
 Get the mesh element for a DOF.
 
AMP::Mesh::MeshElementID getElementID (size_t dof) const override
 Get the mesh element ID for a DOF.
 
uint64_t getID () const
 Get a unique id hash.
 
AMP::Mesh::MeshIterator getIterator () const override
 Get an entry over the mesh elements associated with the DOFs.
 
virtual std::vector< size_t > getLocalSizes () const
 The local number of D.O.F on each rank.
 
std::shared_ptr< const AMP::Mesh::MeshgetMesh () const override
 Get the underlying mesh.
 
std::vector< size_t > getRemoteDOFs () const override
 Get the remote DOFs for a vector.
 
std::vector< size_t > getRowDOFs (const AMP::Mesh::MeshElementID &id) const
 Get the row DOFs given a mesh element.
 
virtual size_t getRowDOFs (const AMP::Mesh::MeshElementID &id, size_t *dofs, size_t N_alloc, bool sort=true) const
 Get the row DOFs given a mesh element.
 
size_t getRowDOFs (const AMP::Mesh::MeshElementID &id, size_t *dofs, size_t N_alloc, bool sort=true) const override
 Get the row DOFs given a mesh element.
 
virtual size_t numGlobalDOF () const
 The global number of D.O.F.
 
virtual size_t numLocalDOF () const
 The local number of D.O.F.
 
bool operator!= (const DOFManager &rhs) const
 Inverse of ==.
 
virtual bool operator== (const DOFManager &rhs) const
 Compares two DOFManager for equality.
 
void registerChildObjects (AMP::IO::RestartManager *manager) const override
 Register any child objects.
 
virtual void replaceRemoteDOFs (std::vector< size_t > &newRemote)
 
std::shared_ptr< AMP::Discretization::DOFManagershared_from_this ()
 
std::shared_ptr< const AMP::Discretization::DOFManagershared_from_this () const
 
 simpleDOFManager (int64_t, AMP::IO::RestartManager *)
 
 simpleDOFManager (std::shared_ptr< const AMP::Mesh::Mesh > mesh, const AMP::Mesh::MeshIterator &local, const AMP::Mesh::MeshIterator &ghost, AMP::Mesh::GeomType type, int DOFsPerElement)
 Create a new DOF manager object.
 
virtual std::shared_ptr< DOFManagersubset (const AMP::Mesh::MeshIterator &iterator, const AMP_MPI &comm)
 Subset the DOF Manager for a mesh element iterator.
 
virtual std::shared_ptr< DOFManagersubset (const AMP_MPI &comm)
 Subset the DOF Manager for a AMP_MPI communicator.
 
virtual std::shared_ptr< DOFManagersubset (const std::shared_ptr< const AMP::Mesh::Mesh > mesh, bool useMeshComm=true)
 Subset the DOF Manager for a mesh.
 
std::shared_ptr< DOFManagersubset (const std::shared_ptr< const AMP::Mesh::Mesh > mesh, bool useMeshComm=true) override
 Subset the DOF Manager for a mesh.
 
void writeRestart (int64_t) const override
 Write restart data to file.
 
virtual ~simpleDOFManager ()
 Destructor.
 

Static Public Member Functions

static std::shared_ptr< DOFManagercreate (const AMP::Mesh::MeshIterator &it, int DOFsPerElement)
 Create a new DOF manager object.
 
static std::shared_ptr< DOFManagercreate (std::shared_ptr< const AMP::Mesh::Mesh > mesh, AMP::Mesh::GeomType type, int gcw, int DOFsPerElement, bool split=true)
 Create a new DOF manager object.
 
static std::shared_ptr< DOFManagercreate (std::shared_ptr< const AMP::Mesh::Mesh > mesh, const AMP::Mesh::MeshIterator &ghost, const AMP::Mesh::MeshIterator &local, int DOFsPerElement)
 Create a new DOF manager object.
 

Protected Member Functions

std::vector< size_t > getRemoteDOF (const std::vector< AMP::Mesh::MeshElementID > &ids) const
 
void initialize ()
 
 simpleDOFManager ()=delete
 

Protected Attributes

std::vector< AMP::Mesh::MeshIDd_baseMeshIDs
 
size_t d_begin = 0
 The begining DOF, ending DOF and number of local DOFs for this processor.
 
AMP_MPI d_comm
 The comm for this DOFManager.
 
uint8_t d_DOFsPerElement = 0
 
size_t d_end = 0
 
AMP::Mesh::MeshIterator d_ghostIterator
 
size_t d_global = 0
 
bool d_isBaseMesh = false
 
std::vector< AMP::Mesh::MeshElementIDd_local_id
 
AMP::Mesh::MeshIterator d_localIterator
 
std::vector< size_t > d_localSize
 
std::shared_ptr< const AMP::Mesh::Meshd_mesh
 
AMP::Mesh::MeshID d_meshID
 
std::vector< size_t > d_remote_dof
 
std::vector< AMP::Mesh::MeshElementIDd_remote_id
 
std::vector< size_t > d_remoteDOFs
 The remote dofs (if cached)
 
AMP::Mesh::GeomType d_type = AMP::Mesh::GeomType::Nullity
 
std::shared_ptr< DOFManagerParametersparams
 The DOF manager parameters.
 
std::weak_ptr< AMP::Discretization::DOFManagerweak_ptr_
 

Detailed Description

A derived class to create a simple DOF_Manager.

This derived class implements a concrete DOF_Manager for creating Vectors over a mesh on a particular mesh entity. For example it can create a NodalVector over the entire Mesh. Note: this class will be replaced by a more complete Discretization interface.

Definition at line 21 of file simpleDOF_Manager.h.

Constructor & Destructor Documentation

◆ simpleDOFManager() [1/3]

AMP::Discretization::simpleDOFManager::simpleDOFManager ( std::shared_ptr< const AMP::Mesh::Mesh mesh,
const AMP::Mesh::MeshIterator local,
const AMP::Mesh::MeshIterator ghost,
AMP::Mesh::GeomType  type,
int  DOFsPerElement 
)

Create a new DOF manager object.

This is the standard constructor for creating a new DOF manager object.

Parameters
meshMesh over which we want to construct the DOF map
localLocal iterator
ghostGhost iterator
typeThe geometric entity type for the DOF map
DOFsPerElementThe desired number of DOFs per element

◆ ~simpleDOFManager()

virtual AMP::Discretization::simpleDOFManager::~simpleDOFManager ( )
virtual

Destructor.

◆ simpleDOFManager() [2/3]

AMP::Discretization::simpleDOFManager::simpleDOFManager ( int64_t  ,
AMP::IO::RestartManager  
)

◆ simpleDOFManager() [3/3]

AMP::Discretization::simpleDOFManager::simpleDOFManager ( )
protecteddelete

Member Function Documentation

◆ appendDOFs()

size_t AMP::Discretization::simpleDOFManager::appendDOFs ( const AMP::Mesh::MeshElementID id,
size_t *  dofs,
size_t  index,
size_t  capacity 
) const
overridevirtual

Reimplemented from AMP::Discretization::DOFManager.

◆ beginDOF()

virtual size_t AMP::Discretization::DOFManager::beginDOF ( ) const
virtualinherited

The first D.O.F. on this core.

Returns
The first D.O.F. on this core

◆ className()

std::string AMP::Discretization::simpleDOFManager::className ( ) const
inlineoverridevirtual

Return a string with the mesh class name.

Reimplemented from AMP::Discretization::DOFManager.

Definition at line 89 of file simpleDOF_Manager.h.

◆ create() [1/3]

static std::shared_ptr< DOFManager > AMP::Discretization::simpleDOFManager::create ( const AMP::Mesh::MeshIterator it,
int  DOFsPerElement 
)
static

Create a new DOF manager object.

This is will create a new simpleDOFManager from a mesh iterator on the local processor only (no remote DOFs).

Parameters
itThe iterator over the elements (no ghost cells)
DOFsPerElementThe desired number of DOFs pere element

◆ create() [2/3]

static std::shared_ptr< DOFManager > AMP::Discretization::simpleDOFManager::create ( std::shared_ptr< const AMP::Mesh::Mesh mesh,
AMP::Mesh::GeomType  type,
int  gcw,
int  DOFsPerElement,
bool  split = true 
)
static

Create a new DOF manager object.

This is the standard constructor for creating a new DOF manager object.

Parameters
meshMesh over which we want to construct the DOF map
typeThe geometric entity type for the DOF map
gcwThe desired ghost width
DOFsPerElementThe desired number of DOFs per element
splitDo we want to split the DOFManager by the meshes returning a multiDOFManager

◆ create() [3/3]

static std::shared_ptr< DOFManager > AMP::Discretization::simpleDOFManager::create ( std::shared_ptr< const AMP::Mesh::Mesh mesh,
const AMP::Mesh::MeshIterator ghost,
const AMP::Mesh::MeshIterator local,
int  DOFsPerElement 
)
static

Create a new DOF manager object.

This is will create a new simpleDOFManager from a mesh iterator

Parameters
meshMesh over which the iterators are defined
ghostGhost iterator
localLocal iterator
DOFsPerElementThe desired number of DOFs per element

◆ endDOF()

virtual size_t AMP::Discretization::DOFManager::endDOF ( ) const
virtualinherited

One past the last D.O.F. on this core.

Returns
One past the last D.O.F. on this core

◆ getComm()

const AMP_MPI & AMP::Discretization::DOFManager::getComm ( ) const
inlineinherited

Get the comm for the DOFManger.

Definition at line 168 of file DOF_Manager.h.

References AMP::Discretization::DOFManager::d_comm.

◆ getDOFs() [1/3]

void AMP::Discretization::DOFManager::getDOFs ( const AMP::Mesh::MeshElementID id,
std::vector< size_t > &  dofs 
) const
inherited

Get the entry indices of DOFs given a mesh element ID.

This will return a vector of pointers into a Vector that are associated with which.

Parameters
[in]idThe element ID to collect nodal objects for. Note: the mesh element may be any type (include a vertex).
[out]dofsThe entries in the vector associated with D.O.F.s

◆ getDOFs() [2/3]

void AMP::Discretization::DOFManager::getDOFs ( const std::vector< AMP::Mesh::MeshElementID > &  ids,
std::vector< size_t > &  dofs 
) const
inherited

Get the entry indices of DOFs given a mesh element ID.

This will return a vector of pointers into a Vector that are associated with which.

Parameters
[in]idsThe element IDs to collect nodal objects for. Note: the mesh element may be any type (include a vertex).
[out]dofsThe entries in the vector associated with D.O.F.s on the nodes

◆ getDOFs() [3/3]

void AMP::Discretization::DOFManager::getDOFs ( int  N_ids,
const AMP::Mesh::MeshElementID ids,
std::vector< size_t > &  dofs 
) const
inherited

Get the entry indices of DOFs given a mesh element ID.

This will return a vector of pointers into a Vector that are associated with which.

Parameters
[in]N_idsThe number of element ids
[in]idsThe element IDs to collect nodal objects for. Note: the mesh element may be any type (include a vertex).
[out]dofsThe entries in the vector associated with D.O.F.s on the nodes

◆ getDOFsPerPoint()

int AMP::Discretization::simpleDOFManager::getDOFsPerPoint ( ) const
overridevirtual

Get the number of DOFs per element.

This will return the number of DOFs per mesh element. If some DOFs are not associated with a mesh element or if all elements do not contain the same number of DOFs than this routine will return -1.

Reimplemented from AMP::Discretization::DOFManager.

◆ getElement()

std::unique_ptr< AMP::Mesh::MeshElement > AMP::Discretization::simpleDOFManager::getElement ( size_t  dof) const
overridevirtual

Get the mesh element for a DOF.

This will return the mesh element associated with a given DOF.

Parameters
[in]dofThe entry in the vector associated with DOF
Returns
The element for the given DOF.

Reimplemented from AMP::Discretization::DOFManager.

◆ getElementID()

AMP::Mesh::MeshElementID AMP::Discretization::simpleDOFManager::getElementID ( size_t  dof) const
overridevirtual

Get the mesh element ID for a DOF.

This will return the mesh element id associated with a given DOF.

Parameters
[in]dofThe entry in the vector associated with DOF
Returns
The element id for the given DOF.

Reimplemented from AMP::Discretization::DOFManager.

◆ getID()

uint64_t AMP::Discretization::DOFManager::getID ( ) const
inherited

Get a unique id hash.

◆ getIterator()

AMP::Mesh::MeshIterator AMP::Discretization::simpleDOFManager::getIterator ( ) const
overridevirtual

Get an entry over the mesh elements associated with the DOFs.

This will return an iterator over the mesh elements associated with the DOFs. Each element in the iterator will have 1 or more DOFs that are associated with that element. For eaxample, a NodalVectorDOF would have 3 DOFs stored at each node, and would return an iterator over all the nodes.

Reimplemented from AMP::Discretization::DOFManager.

◆ getLocalSizes()

virtual std::vector< size_t > AMP::Discretization::DOFManager::getLocalSizes ( ) const
virtualinherited

The local number of D.O.F on each rank.

Returns
The local number of D.O.F on each rank

Reimplemented in AMP::Discretization::multiDOFManager, and AMP::Discretization::subsetCommSelfDOFManager.

◆ getMesh()

std::shared_ptr< const AMP::Mesh::Mesh > AMP::Discretization::simpleDOFManager::getMesh ( ) const
overridevirtual

Get the underlying mesh.

This will return the mesh(es) that underly the DOF manager (if they exist)

Reimplemented from AMP::Discretization::DOFManager.

◆ getRemoteDOF()

std::vector< size_t > AMP::Discretization::simpleDOFManager::getRemoteDOF ( const std::vector< AMP::Mesh::MeshElementID > &  ids) const
protected

◆ getRemoteDOFs()

std::vector< size_t > AMP::Discretization::simpleDOFManager::getRemoteDOFs ( ) const
overridevirtual

Get the remote DOFs for a vector.

Reimplemented from AMP::Discretization::DOFManager.

◆ getRowDOFs() [1/3]

std::vector< size_t > AMP::Discretization::DOFManager::getRowDOFs ( const AMP::Mesh::MeshElementID id) const

Get the row DOFs given a mesh element.

◆ getRowDOFs() [2/3]

virtual size_t AMP::Discretization::DOFManager::getRowDOFs ( const AMP::Mesh::MeshElementID id,
size_t *  dofs,
size_t  N_alloc,
bool  sort = true 
) const
virtual

Get the row DOFs given a mesh element.

Reimplemented from AMP::Discretization::DOFManager.

◆ getRowDOFs() [3/3]

size_t AMP::Discretization::simpleDOFManager::getRowDOFs ( const AMP::Mesh::MeshElementID id,
size_t *  dofs,
size_t  N_alloc,
bool  sort = true 
) const
overridevirtual

Get the row DOFs given a mesh element.

Reimplemented from AMP::Discretization::DOFManager.

◆ initialize()

void AMP::Discretization::simpleDOFManager::initialize ( )
protected

◆ numGlobalDOF()

virtual size_t AMP::Discretization::DOFManager::numGlobalDOF ( ) const
virtualinherited

The global number of D.O.F.

Returns
The global number of D.O.F

◆ numLocalDOF()

virtual size_t AMP::Discretization::DOFManager::numLocalDOF ( ) const
virtualinherited

The local number of D.O.F.

Returns
The local number of D.O.F

◆ operator!=()

bool AMP::Discretization::DOFManager::operator!= ( const DOFManager rhs) const
inherited

Inverse of ==.

This function performs an equality check and negates it. Hence, it is not virtual

Parameters
rhsDOFManager to compare

◆ operator==()

virtual bool AMP::Discretization::DOFManager::operator== ( const DOFManager rhs) const
virtualinherited

Compares two DOFManager for equality.

This operation compares two DOF managers to see if they are equivalent

Parameters
rhsDOFManager to compare

◆ registerChildObjects()

void AMP::Discretization::simpleDOFManager::registerChildObjects ( AMP::IO::RestartManager manager) const
overridevirtual

Register any child objects.

This function will register child objects with the manager

Parameters
managerRestart manager

Reimplemented from AMP::Discretization::DOFManager.

◆ replaceRemoteDOFs()

virtual void AMP::Discretization::DOFManager::replaceRemoteDOFs ( std::vector< size_t > &  newRemote)
inlinevirtualinherited

Definition at line 174 of file DOF_Manager.h.

References AMP::Discretization::DOFManager::d_remoteDOFs.

◆ shared_from_this() [1/2]

std::shared_ptr< AMP::Discretization::DOFManager > AMP::enable_shared_from_this< AMP::Discretization::DOFManager >::shared_from_this ( )
inlineinherited

Definition at line 28 of file enable_shared_from_this.h.

◆ shared_from_this() [2/2]

std::shared_ptr< const AMP::Discretization::DOFManager > AMP::enable_shared_from_this< AMP::Discretization::DOFManager >::shared_from_this ( ) const
inlineinherited

Definition at line 46 of file enable_shared_from_this.h.

◆ subset() [1/4]

virtual std::shared_ptr< DOFManager > AMP::Discretization::DOFManager::subset ( const AMP::Mesh::MeshIterator iterator,
const AMP_MPI comm 
)
virtual

Subset the DOF Manager for a mesh element iterator.

This will subset a DOF manager for a given mesh element iterator. The resulting DOFManager will exist on the privided comm.

Parameters
[in]iteratorThe mesh iterator for the subset
[in]commThe desired comm

Reimplemented from AMP::Discretization::DOFManager.

◆ subset() [2/4]

virtual std::shared_ptr< DOFManager > AMP::Discretization::DOFManager::subset ( const AMP_MPI comm)
virtual

Subset the DOF Manager for a AMP_MPI communicator.

This will subset a DOF manager for a given communicator.

Parameters
[in]commThe communicator to use to subset

Reimplemented from AMP::Discretization::DOFManager.

◆ subset() [3/4]

virtual std::shared_ptr< DOFManager > AMP::Discretization::DOFManager::subset ( const std::shared_ptr< const AMP::Mesh::Mesh mesh,
bool  useMeshComm = true 
)
virtual

Subset the DOF Manager for a mesh.

This will subset a DOF manager for a particular mesh. The resulting DOFManager can exist on either the comm of the parent DOF manager, or the comm of the mesh (default).

Parameters
[in]meshThe mesh to use to subset
[in]useMeshCommDo we want to use the mesh comm for the new DOFManager. Note: if this is true, any processors that do not contain the mesh will return NULL.

Reimplemented from AMP::Discretization::DOFManager.

◆ subset() [4/4]

std::shared_ptr< DOFManager > AMP::Discretization::simpleDOFManager::subset ( const std::shared_ptr< const AMP::Mesh::Mesh mesh,
bool  useMeshComm = true 
)
overridevirtual

Subset the DOF Manager for a mesh.

This will subset a DOF manager for a particular mesh. The resulting DOFManager can exist on either the comm of the parent DOF manager, or the comm of the mesh (default).

Parameters
[in]meshThe mesh to use to subset
[in]useMeshCommDo we want to use the mesh comm for the new DOFManager. Note: if this is true, any processors that do not contain the mesh will return NULL.

Reimplemented from AMP::Discretization::DOFManager.

◆ writeRestart()

void AMP::Discretization::simpleDOFManager::writeRestart ( int64_t  fid) const
overridevirtual

Write restart data to file.

This function will write the mesh to an HDF5 file

Parameters
fidFile identifier to write

Reimplemented from AMP::Discretization::DOFManager.

Member Data Documentation

◆ d_baseMeshIDs

std::vector<AMP::Mesh::MeshID> AMP::Discretization::simpleDOFManager::d_baseMeshIDs
protected

Definition at line 183 of file simpleDOF_Manager.h.

◆ d_begin

size_t AMP::Discretization::DOFManager::d_begin = 0
protectedinherited

The begining DOF, ending DOF and number of local DOFs for this processor.

Definition at line 260 of file DOF_Manager.h.

Referenced by AMP::Discretization::subsetCommSelfDOFManager::getLocalSizes().

◆ d_comm

AMP_MPI AMP::Discretization::DOFManager::d_comm
protectedinherited

The comm for this DOFManager.

Definition at line 267 of file DOF_Manager.h.

Referenced by AMP::Discretization::DOFManager::getComm().

◆ d_DOFsPerElement

uint8_t AMP::Discretization::simpleDOFManager::d_DOFsPerElement = 0
protected

Definition at line 180 of file simpleDOF_Manager.h.

◆ d_end

size_t AMP::Discretization::DOFManager::d_end = 0
protectedinherited

◆ d_ghostIterator

AMP::Mesh::MeshIterator AMP::Discretization::simpleDOFManager::d_ghostIterator
protected

Definition at line 185 of file simpleDOF_Manager.h.

◆ d_global

size_t AMP::Discretization::DOFManager::d_global = 0
protectedinherited

Definition at line 260 of file DOF_Manager.h.

◆ d_isBaseMesh

bool AMP::Discretization::simpleDOFManager::d_isBaseMesh = false
protected

Definition at line 178 of file simpleDOF_Manager.h.

◆ d_local_id

std::vector<AMP::Mesh::MeshElementID> AMP::Discretization::simpleDOFManager::d_local_id
protected

Definition at line 186 of file simpleDOF_Manager.h.

◆ d_localIterator

AMP::Mesh::MeshIterator AMP::Discretization::simpleDOFManager::d_localIterator
protected

Definition at line 184 of file simpleDOF_Manager.h.

◆ d_localSize

std::vector<size_t> AMP::Discretization::DOFManager::d_localSize
mutableprotectedinherited

Definition at line 261 of file DOF_Manager.h.

◆ d_mesh

std::shared_ptr<const AMP::Mesh::Mesh> AMP::Discretization::simpleDOFManager::d_mesh
protected

Definition at line 181 of file simpleDOF_Manager.h.

◆ d_meshID

AMP::Mesh::MeshID AMP::Discretization::simpleDOFManager::d_meshID
protected

Definition at line 182 of file simpleDOF_Manager.h.

◆ d_remote_dof

std::vector<size_t> AMP::Discretization::simpleDOFManager::d_remote_dof
protected

Definition at line 188 of file simpleDOF_Manager.h.

◆ d_remote_id

std::vector<AMP::Mesh::MeshElementID> AMP::Discretization::simpleDOFManager::d_remote_id
protected

Definition at line 187 of file simpleDOF_Manager.h.

◆ d_remoteDOFs

std::vector<size_t> AMP::Discretization::DOFManager::d_remoteDOFs
protectedinherited

The remote dofs (if cached)

Definition at line 264 of file DOF_Manager.h.

Referenced by AMP::Discretization::DOFManager::replaceRemoteDOFs().

◆ d_type

AMP::Mesh::GeomType AMP::Discretization::simpleDOFManager::d_type = AMP::Mesh::GeomType::Nullity
protected

Definition at line 179 of file simpleDOF_Manager.h.

◆ params

std::shared_ptr<DOFManagerParameters> AMP::Discretization::DOFManager::params
protectedinherited

The DOF manager parameters.

Definition at line 257 of file DOF_Manager.h.

◆ weak_ptr_

std::weak_ptr<AMP::Discretization::DOFManager > AMP::enable_shared_from_this< AMP::Discretization::DOFManager >::weak_ptr_
mutableprotectedinherited

Definition at line 69 of file enable_shared_from_this.h.


The documentation for this class was generated from the following file:



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:42.
Comments on this page