Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t > Class Template Reference

The DiscretizationStencilSolverAssembler class defines an assembler for building the stencil solver. More...

Inheritance diagram for bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >:
Inheritance graph
[legend]
Collaboration diagram for bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >:
Collaboration graph
[legend]

Public Types

using assembly_options_type = typename assembly_type::AssemblyOptions
 
using assembly_type = typename solver_kernel_t::Assembler
 
using solver_kernel_type = solver_kernel_t
 
using stencil_type = stencil_t
 

Public Member Functions

template<typename stencil_container_t , typename... AssemblerKernelArgs>
 DiscretizationStencilSolverAssembler (const stencil_container_t *stencils, AssemblerKernelArgs &&... assemblerKernelArgs)
 
template<typename stencil_container_t , typename... AssemblerKernelArgs>
 DiscretizationStencilSolverAssembler (MPI_Comm communicator, bool partitioned, const stencil_container_t *stencils, AssemblerKernelArgs &&... assemblerKernelArgs)
 
int getBlockSize () const override
 
long getColCount () const override
 
long getColElementCount () const override
 
long getColGlobalCount () const override
 
long getColGlobalElementCount () const override
 
long getColGlobalElementOffset () const override
 
long getColGlobalOffset () const override
 
const MPI_Comm & getCommunicator () const override
 
long getMaxRowNZCount () const override
 
assembly_options_type getOptions () const override
 
virtual void getRowConstant (long rowIndex, bitpit::ConstProxyVector< double > *constant) const
 
long getRowCount () const override
 
void getRowData (long rowIndex, ConstProxyVector< long > *pattern, ConstProxyVector< double > *values) const override
 
long getRowElementCount () const override
 
long getRowGlobalCount () const override
 
long getRowGlobalElementCount () const override
 
long getRowGlobalElementOffset () const override
 
long getRowGlobalOffset () const override
 
long getRowNZCount (long rowIndex) const override
 
void getRowPattern (long rowIndex, ConstProxyVector< long > *pattern) const override
 
void getRowValues (long rowIndex, ConstProxyVector< double > *values) const override
 
bool isPartitioned () const override
 

Protected Types

using stencil_value_type = typename stencil_type::value_type
 
using stencil_weight_type = typename stencil_type::weight_type
 

Protected Member Functions

template<typename... AssemblerKernelArgs>
 DiscretizationStencilSolverAssembler (AssemblerKernelArgs &&... assemblerKernelArgs)
 
template<typename... AssemblerKernelArgs>
 DiscretizationStencilSolverAssembler (MPI_Comm communicator, bool partitioned, AssemblerKernelArgs &&... assemblerKernelArgs)
 
template<typename... AssemblerKernelArgs>
 DiscretizationStencilSolverAssembler (MPI_Comm communicator, bool partitioned, std::unique_ptr< DiscretizationStencilStorageInterface< stencil_t > > &&stencils, AssemblerKernelArgs &&... assemblerKernelArgs)
 
template<typename... AssemblerKernelArgs>
 DiscretizationStencilSolverAssembler (std::unique_ptr< DiscretizationStencilStorageInterface< stencil_t > > &&stencils, AssemblerKernelArgs &&... assemblerKernelArgs)
 
template<typename W = stencil_weight_type, typename std::enable_if< std::is_fundamental< W >::value >::type * = nullptr>
void getConstant (const stencil_t &stencil, bitpit::ConstProxyVector< double > *constant) const
 
template<typename W = stencil_weight_type, typename std::enable_if<!std::is_fundamental< W >::value >::type * = nullptr>
void getConstant (const stencil_t &stencil, bitpit::ConstProxyVector< double > *constant) const
 
void getPattern (const stencil_t &stencil, ConstProxyVector< long > *pattern) const
 
virtual const stencil_t & getRowStencil (long rowIndex) const
 
template<typename W = stencil_weight_type, typename std::enable_if< std::is_fundamental< W >::value >::type * = nullptr>
void getValues (const stencil_t &stencil, ConstProxyVector< double > *values) const
 
template<typename W = stencil_weight_type, typename std::enable_if<!std::is_fundamental< W >::value >::type * = nullptr>
void getValues (const stencil_t &stencil, ConstProxyVector< double > *values) const
 
template<typename W = stencil_weight_type, typename V = stencil_value_type, typename std::enable_if< std::is_fundamental< W >::value >::type * = nullptr>
void setBlockSize ()
 
template<typename W = stencil_weight_type, typename V = stencil_value_type, std::size_t D = std::tuple_size<W>::value, typename std::enable_if< std::is_same< std::array< V, D >, W >::value >::type * = nullptr>
void setBlockSize ()
 
template<typename W = stencil_weight_type, typename V = stencil_value_type, typename std::enable_if< std::is_same< std::vector< V >, W >::value >::type * = nullptr>
void setBlockSize ()
 
void setBlockSize (int blockSize)
 
void setMatrixSizes ()
 
void setMatrixSizes (long nRows, long nCols)
 
void setMaximumRowNZ ()
 
void setMaximumRowNZ (long maxRowNZ)
 
void setStencils (std::unique_ptr< DiscretizationStencilStorageInterface< stencil_t > > &&stencils)
 

Protected Attributes

int m_blockSize
 
long m_globalColOffset
 
long m_globalRowOffset
 
long m_maxRowNZ
 
long m_nCols
 
long m_nGlobalCols
 
long m_nGlobalRows
 
long m_nRows
 
std::unique_ptr< DiscretizationStencilStorageInterface< stencil_t > > m_stencils
 

Detailed Description

template<typename stencil_t, typename solver_kernel_t = SystemSolver>
class bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >

The DiscretizationStencilSolverAssembler class defines an assembler for building the stencil solver.

Definition at line 103 of file stencil_solver.hpp.

Member Typedef Documentation

◆ assembly_options_type

template<typename stencil_t , typename solver_kernel_t = SystemSolver>
using bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::assembly_options_type = typename assembly_type::AssemblyOptions

Definition at line 110 of file stencil_solver.hpp.

◆ assembly_type

template<typename stencil_t , typename solver_kernel_t = SystemSolver>
using bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::assembly_type = typename solver_kernel_t::Assembler

Definition at line 109 of file stencil_solver.hpp.

◆ solver_kernel_type

template<typename stencil_t , typename solver_kernel_t = SystemSolver>
using bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::solver_kernel_type = solver_kernel_t

Definition at line 108 of file stencil_solver.hpp.

◆ stencil_type

template<typename stencil_t , typename solver_kernel_t = SystemSolver>
using bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::stencil_type = stencil_t

Definition at line 106 of file stencil_solver.hpp.

◆ stencil_value_type

template<typename stencil_t , typename solver_kernel_t = SystemSolver>
using bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::stencil_value_type = typename stencil_type::value_type
protected

Definition at line 160 of file stencil_solver.hpp.

◆ stencil_weight_type

template<typename stencil_t , typename solver_kernel_t = SystemSolver>
using bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::stencil_weight_type = typename stencil_type::weight_type
protected

Definition at line 159 of file stencil_solver.hpp.

Constructor & Destructor Documentation

◆ DiscretizationStencilSolverAssembler() [1/6]

template<typename stencil_t , typename solver_kernel_t >
template<typename stencil_container_t , typename... AssemblerKernelArgs>
bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::DiscretizationStencilSolverAssembler ( const stencil_container_t * stencils,
AssemblerKernelArgs &&... assemblerKernelArgs )

Constructor.

Parameters
stencilsare the stencils
assemblerKernelArgsare the arguments that will be passed to the constructor of the assembler of the solver kernel

Definition at line 220 of file stencil_solver.tpp.

◆ DiscretizationStencilSolverAssembler() [2/6]

template<typename stencil_t , typename solver_kernel_t >
template<typename stencil_container_t , typename... AssemblerKernelArgs>
bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::DiscretizationStencilSolverAssembler ( MPI_Comm communicator,
bool partitioned,
const stencil_container_t * stencils,
AssemblerKernelArgs &&... assemblerKernelArgs )

Constructor.

Parameters
communicatoris the MPI communicator
partitionedcontrols if the matrix is partitioned
stencilsare the stencils
assemblerKernelArgsare the arguments that will be passed to the constructor of the assembler of the solver kernel

Definition at line 237 of file stencil_solver.tpp.

◆ DiscretizationStencilSolverAssembler() [3/6]

template<typename stencil_t , typename solver_kernel_t >
template<typename... AssemblerKernelArgs>
bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::DiscretizationStencilSolverAssembler ( std::unique_ptr< DiscretizationStencilStorageInterface< stencil_t > > && stencils,
AssemblerKernelArgs &&... assemblerKernelArgs )
protected

Constructor.

Parameters
stencilsare the stencils
assemblerKernelArgsare the arguments that will be passed to the constructor of the assembler of the solver kernel

Definition at line 273 of file stencil_solver.tpp.

◆ DiscretizationStencilSolverAssembler() [4/6]

template<typename stencil_t , typename solver_kernel_t >
template<typename... AssemblerKernelArgs>
bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::DiscretizationStencilSolverAssembler ( AssemblerKernelArgs &&... assemblerKernelArgs)
protected

Constructor.

Parameters
assemblerKernelArgsare the arguments that will be passed to the constructor of the assembler of the solver kernel

Definition at line 324 of file stencil_solver.tpp.

◆ DiscretizationStencilSolverAssembler() [5/6]

template<typename stencil_t , typename solver_kernel_t >
template<typename... AssemblerKernelArgs>
bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::DiscretizationStencilSolverAssembler ( MPI_Comm communicator,
bool partitioned,
std::unique_ptr< DiscretizationStencilStorageInterface< stencil_t > > && stencils,
AssemblerKernelArgs &&... assemblerKernelArgs )
protected

Constructor.

Parameters
communicatoris the MPI communicator
partitionedcontrols if the matrix is partitioned
stencilsare the stencils
assemblerKernelArgsare the arguments that will be passed to the constructor of the assembler of the solver kernel

Definition at line 290 of file stencil_solver.tpp.

◆ DiscretizationStencilSolverAssembler() [6/6]

template<typename stencil_t , typename solver_kernel_t >
template<typename... AssemblerKernelArgs>
bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::DiscretizationStencilSolverAssembler ( MPI_Comm communicator,
bool partitioned,
AssemblerKernelArgs &&... assemblerKernelArgs )
protected

Constructor.

Parameters
communicatoris the MPI communicator
partitionedcontrols if the matrix is partitioned
assemblerKernelArgsare the arguments that will be passed to the constructor of the assembler of the solver kernel

Definition at line 339 of file stencil_solver.tpp.

Member Function Documentation

◆ getBlockSize()

template<typename stencil_t , typename solver_kernel_t >
int bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getBlockSize ( ) const
override

Get the stencil block size.

Returns
The stencil block size.

Definition at line 592 of file stencil_solver.tpp.

◆ getColCount()

template<typename stencil_t , typename solver_kernel_t >
long bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getColCount ( ) const
override

Get the number of (block) columns handled by the assembler.

If the matrix is a block matrix (i.e., the block size is greater than one), this function will return the number of block columns, where a block column is defined as a group of blockSize matrix columns.

Returns
The number of (block) columns handled by the assembler.

Definition at line 622 of file stencil_solver.tpp.

◆ getColElementCount()

template<typename stencil_t , typename solver_kernel_t >
long bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getColElementCount ( ) const
override

Get the number of elements in the columns handled by the assembler.

This function will return the effective number of columns of the matrix that will be assembled.

Returns
The number of columns handled by the assembler.

Definition at line 652 of file stencil_solver.tpp.

◆ getColGlobalCount()

template<typename stencil_t , typename solver_kernel_t >
long bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getColGlobalCount ( ) const
override

Get number of global (block) columns handled by the assembler.

If the matrix is a block matrix (i.e., the block size is greater than one), this function will return the global number of block columns, where a block column is defined as a group of blockSize matrix columns.

Returns
The number of global (block) columns handled by the assembler.

Definition at line 685 of file stencil_solver.tpp.

◆ getColGlobalElementCount()

template<typename stencil_t , typename solver_kernel_t >
long bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getColGlobalElementCount ( ) const
override

Get the global number of columns handled by the assembler.

This function will return the effective global number of columns of the system matrix.

Returns
The global number of columns handled by the assembler.

Definition at line 715 of file stencil_solver.tpp.

◆ getColGlobalElementOffset()

template<typename stencil_t , typename solver_kernel_t >
long bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getColGlobalElementOffset ( ) const
override

Get global offset for the elements of the column.

This function will return the offset expressed in effective columns of the system matrix.

Returns
The global offset for the elements of the column.

Definition at line 769 of file stencil_solver.tpp.

◆ getColGlobalOffset()

template<typename stencil_t , typename solver_kernel_t >
long bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getColGlobalOffset ( ) const
override

Get global (block) column offset.

Returns
The global (block) column offset.

Definition at line 739 of file stencil_solver.tpp.

◆ getCommunicator()

template<typename stencil_t , typename solver_kernel_t >
const MPI_Comm & bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getCommunicator ( ) const
override

Gets the MPI communicator associated to the matrix.

Returns
The MPI communicator associated to the matrix.

Definition at line 378 of file stencil_solver.tpp.

◆ getConstant()

template<typename stencil_t , typename solver_kernel_t >
template<typename U , typename std::enable_if<!std::is_fundamental< U >::value >::type * >
void bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getConstant ( const stencil_t & stencil,
bitpit::ConstProxyVector< double > * constant ) const
protected

Get the constant associated with the specified stencil.

Parameters
stencilis the stencil
constantis the constant associated with the specified (block) row. If the block size is greater than one, values will be stored in a logically one-dimensional array

Definition at line 960 of file stencil_solver.tpp.

◆ getMaxRowNZCount()

template<typename stencil_t , typename solver_kernel_t >
long bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getMaxRowNZCount ( ) const
override

Get the maximum number of non-zero elements per row.

Returns
The maximum number of non-zero elements per row.

Definition at line 798 of file stencil_solver.tpp.

◆ getOptions()

template<typename stencil_t , typename solver_kernel_t >
DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::assembly_options_type bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getOptions ( ) const
override

Get the assembly options.

Returns
The assembly options that will be used.

Definition at line 390 of file stencil_solver.tpp.

◆ getPattern()

template<typename stencil_t , typename solver_kernel_t >
void bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getPattern ( const stencil_t & stencil,
ConstProxyVector< long > * pattern ) const
protected

Get the pattern of the specified stencil.

Parameters
stencilis the stencil
patternon output will contain the pattern of the specified stencil

Definition at line 831 of file stencil_solver.tpp.

◆ getRowConstant()

template<typename stencil_t , typename solver_kernel_t >
void bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getRowConstant ( long rowIndex,
bitpit::ConstProxyVector< double > * constant ) const
virtual

Get the constant associated with the specified row.

Parameters
rowIndexis the index of the row in the assembler
constantis the constant associated with the specified (block) row. If the block size is greater than one, values will be stored in a logically one-dimensional array

Definition at line 941 of file stencil_solver.tpp.

◆ getRowCount()

template<typename stencil_t , typename solver_kernel_t >
long bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getRowCount ( ) const
override

Get the number of (block) rows handled by the assembler.

If the matrix is a block matrix (i.e., the block size is greater than one), this function will return the number of block rows, where a block row is defined as a group of blockSize matrix rows.

Returns
The number of (block) rows handled by the assembler.

Definition at line 607 of file stencil_solver.tpp.

◆ getRowData()

template<typename stencil_t , typename solver_kernel_t >
void bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getRowData ( long rowIndex,
ConstProxyVector< long > * pattern,
ConstProxyVector< double > * values ) const
override

Get the data of the specified row.

Parameters
rowIndexis the index of the row in the assembler
patternon output will contain the values of the specified row
valueson output will contain the values of the specified (block) row. If the block size is greater than one, values will be stored in a logically two-dimensional array that uses a col-major order

Definition at line 920 of file stencil_solver.tpp.

◆ getRowElementCount()

template<typename stencil_t , typename solver_kernel_t >
long bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getRowElementCount ( ) const
override

Get the number of elements in the rows handled by the assembler.

This function will return the effective number of rows of the matrix that will be assembled.

Returns
The number of rows handled by the assembler.

Definition at line 636 of file stencil_solver.tpp.

◆ getRowGlobalCount()

template<typename stencil_t , typename solver_kernel_t >
long bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getRowGlobalCount ( ) const
override

Get number of global (block) rows handled by the assembler.

If the matrix is a block matrix (i.e., the block size is greater than one), this function will return the global number of block rows, where a block row is defined as a group of blockSize matrix rows.

Returns
The number of global rows handled by the assembler.

Definition at line 670 of file stencil_solver.tpp.

◆ getRowGlobalElementCount()

template<typename stencil_t , typename solver_kernel_t >
long bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getRowGlobalElementCount ( ) const
override

Get the number of global elements in the rows handled by the assembler.

This function will return the effective global number of rows of the system matrix.

Returns
The number of global elements in the rows handled by the assembler.

Definition at line 699 of file stencil_solver.tpp.

◆ getRowGlobalElementOffset()

template<typename stencil_t , typename solver_kernel_t >
long bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getRowGlobalElementOffset ( ) const
override

Get global offset for the elements of the row.

This function will return the offset expressed in effective rows of the system matrix.

Returns
The global offset for the elements of the row.

Definition at line 753 of file stencil_solver.tpp.

◆ getRowGlobalOffset()

template<typename stencil_t , typename solver_kernel_t >
long bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getRowGlobalOffset ( ) const
override

Get global (block) row offset.

Returns
The global (block) row offset.

Definition at line 728 of file stencil_solver.tpp.

◆ getRowNZCount()

template<typename stencil_t , typename solver_kernel_t >
long bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getRowNZCount ( long rowIndex) const
override

Get the number of non-zero elements in the specified row.

Parameters
rowIndexis the index of the row in the assembler
Returns
The number of non-zero elements in the specified row.

Definition at line 784 of file stencil_solver.tpp.

◆ getRowPattern()

template<typename stencil_t , typename solver_kernel_t >
void bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getRowPattern ( long rowIndex,
ConstProxyVector< long > * pattern ) const
override

Get the pattern of the specified row.

If the assembler is a block assembler (i.e., the block size is greater than one), this function will return the global ids of the block columns of the row, where a block column is defined as a group of blockSize assembler columns.

Parameters
rowIndexis the index of the row in the assembler
patternon output will contain the pattern of the specified row

Definition at line 815 of file stencil_solver.tpp.

◆ getRowStencil()

template<typename stencil_t , typename solver_kernel_t >
const stencil_t & bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getRowStencil ( long rowIndex) const
protectedvirtual

Get the stencil associated with the specified row.

Parameters
rowIndexis the index of the row in the assembler
Returns
The stencil associated with the specified row.

Definition at line 1002 of file stencil_solver.tpp.

◆ getRowValues()

template<typename stencil_t , typename solver_kernel_t >
void bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getRowValues ( long rowIndex,
ConstProxyVector< double > * values ) const
override

Get the values of the specified (block) row.

If the assembler is a block assembler (i.e., the block size is greater than one), this function will return the values of all the elements of a block row, where a block column is defined as a group of blockSize assembler columns. The values are returned as a row-oriented logically two-dimensional array of values.

Parameters
valueson output will contain the values of the specified (block) row. If the block size is greater than one, values will be stored in a logically two-dimensional array that uses a col-major order

Definition at line 853 of file stencil_solver.tpp.

◆ getValues()

template<typename stencil_t , typename solver_kernel_t >
template<typename U , typename std::enable_if<!std::is_fundamental< U >::value >::type * >
void bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::getValues ( const stencil_t & stencil,
ConstProxyVector< double > * values ) const
protected

Get the values of the specified stencil.

Parameters
stencilis the stencil
valueson output will contain the values of the specified (block) row. If the block size is greater than one, values will be stored in a logically two-dimensional array that uses a col-major order

Definition at line 872 of file stencil_solver.tpp.

◆ isPartitioned()

template<typename stencil_t , typename solver_kernel_t >
bool bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::isPartitioned ( ) const
override

Checks if the matrix is partitioned.

Returns
Returns true if the patch is partitioned, false otherwise.

Definition at line 367 of file stencil_solver.tpp.

◆ setBlockSize() [1/3]

template<typename stencil_t , typename solver_kernel_t >
template<typename W , typename V , typename std::enable_if< std::is_same< std::vector< V >, W >::value >::type * >
void bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::setBlockSize ( )
protected

Set block size.

Initialize block size.

The block size is set equal to the square root of the weight size; if the square root of the weight type is not an integer number, an exception is throw.

Block size is evaluated from the first weight. If the size of the other weights don't match the size of the first one, an exception is thrown only when bitpit is compiled in debug mode, otherwise the error is silently ignored.

Definition at line 404 of file stencil_solver.tpp.

◆ setBlockSize() [2/3]

template<typename stencil_t , typename solver_kernel_t >
template<typename W , typename V , std::size_t D, typename std::enable_if< std::is_same< std::array< V, D >, W >::value >::type * >
void bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::setBlockSize ( )
protected

Set block size.

Definition at line 414 of file stencil_solver.tpp.

◆ setBlockSize() [3/3]

template<typename stencil_t , typename solver_kernel_t >
void bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::setBlockSize ( int blockSize)
protected

Set block size.

Parameters
blockSizeis the block size

Definition at line 491 of file stencil_solver.tpp.

◆ setMatrixSizes() [1/2]

template<typename stencil_t , typename solver_kernel_t >
void bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::setMatrixSizes ( )
protected

Set matrix sizes.

Definition at line 511 of file stencil_solver.tpp.

◆ setMatrixSizes() [2/2]

template<typename stencil_t , typename solver_kernel_t >
void bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::setMatrixSizes ( long nRows,
long nCols )
protected

Set matrix sizes.

Parameters
nRowsare the rows of the matrix
nColsare the columns of the matrix

Definition at line 523 of file stencil_solver.tpp.

◆ setMaximumRowNZ() [1/2]

template<typename stencil_t , typename solver_kernel_t >
void bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::setMaximumRowNZ ( )
protected

Set the maximum number of non-zero element on a single row.

Definition at line 565 of file stencil_solver.tpp.

◆ setMaximumRowNZ() [2/2]

template<typename stencil_t , typename solver_kernel_t >
void bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::setMaximumRowNZ ( long maxRowNZ)
protected

Set the maximum number of non-zero element on a single row.

Parameters
maxRowNZis the maximum number of non-zero element on a single row

Definition at line 581 of file stencil_solver.tpp.

◆ setStencils()

template<typename stencil_t , typename solver_kernel_t >
void bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::setStencils ( std::unique_ptr< DiscretizationStencilStorageInterface< stencil_t > > && stencils)
protected

Set the stencils.

Parameters
stencilsare the stencils

Definition at line 502 of file stencil_solver.tpp.

Member Data Documentation

◆ m_blockSize

template<typename stencil_t , typename solver_kernel_t = SystemSolver>
int bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::m_blockSize
protected

Definition at line 175 of file stencil_solver.hpp.

◆ m_globalColOffset

template<typename stencil_t , typename solver_kernel_t = SystemSolver>
long bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::m_globalColOffset
protected

Definition at line 170 of file stencil_solver.hpp.

◆ m_globalRowOffset

template<typename stencil_t , typename solver_kernel_t = SystemSolver>
long bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::m_globalRowOffset
protected

Definition at line 169 of file stencil_solver.hpp.

◆ m_maxRowNZ

template<typename stencil_t , typename solver_kernel_t = SystemSolver>
long bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::m_maxRowNZ
protected

Definition at line 177 of file stencil_solver.hpp.

◆ m_nCols

template<typename stencil_t , typename solver_kernel_t = SystemSolver>
long bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::m_nCols
protected

Definition at line 163 of file stencil_solver.hpp.

◆ m_nGlobalCols

template<typename stencil_t , typename solver_kernel_t = SystemSolver>
long bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::m_nGlobalCols
protected

Definition at line 167 of file stencil_solver.hpp.

◆ m_nGlobalRows

template<typename stencil_t , typename solver_kernel_t = SystemSolver>
long bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::m_nGlobalRows
protected

Definition at line 166 of file stencil_solver.hpp.

◆ m_nRows

template<typename stencil_t , typename solver_kernel_t = SystemSolver>
long bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::m_nRows
protected

Definition at line 162 of file stencil_solver.hpp.

◆ m_stencils

template<typename stencil_t , typename solver_kernel_t = SystemSolver>
std::unique_ptr<DiscretizationStencilStorageInterface<stencil_t> > bitpit::DiscretizationStencilSolverAssembler< stencil_t, solver_kernel_t >::m_stencils
protected

Definition at line 173 of file stencil_solver.hpp.


The documentation for this class was generated from the following files:
--- layout: doxygen_footer ---