Neko 1.99.1
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
matrix::matrix_t Type Reference
Collaboration diagram for matrix::matrix_t:

Public Member Functions

procedure, pass(m) init (m, nrows, ncols)
 Initialise a matrix of size nrows*ncols.
 
procedure, pass(m) free (m)
 Deallocate a matrix.
 
procedure, pass(m) size (m)
 Returns the number of entries in the matrix.
 
procedure, pass(m) copy_from (m, memdir, sync)
 Copy between host and device.
 
procedure, pass(m) get_nrows (m)
 Returns the number of rows in the matrix.
 
procedure, pass(m) get_ncols (m)
 Returns the number of columns in the matrix.
 
procedure, pass(m) matrix_assign_matrix (m, w)
 Assignment \( m = w \).
 
procedure, pass(m) matrix_assign_scalar (m, s)
 Assignment \( m = s \).
 
procedure, pass(m) inverse (m, bcknd)
 Inverse a matrix.
 
procedure, pass(m) inverse_on_host (m)
 
generic assignment (m, w)
 Assignment \( m = w \).
 
generic assignment (m, s)
 Assignment \( m = s \).
 

Public Attributes

real(kind=rp), dimension(:,:), allocatable x
 Matrix entries.
 
type(c_ptr) x_d = C_NULL_PTR
 Device pointer.
 

Private Member Functions

procedure, pass, private alloc (m, nrows, ncols)
 Allocate a matrix of size nrows*ncols.
 

Private Attributes

integer, private nrows = 0
 Number of matrix rows.
 
integer, private ncols = 0
 Number of matrix columns.
 
integer, private n = 0
 Total size nows*ncols.
 

Detailed Description

Definition at line 47 of file matrix.f90.

Member Function/Subroutine Documentation

◆ alloc()

procedure, pass, private matrix::matrix_t::alloc ( class(matrix_t), intent(inout m,
integer, intent(in nrows,
integer, intent(in ncols 
)
private
Parameters
nrowsNumber of rows.
ncolsNumber of columns.

Definition at line 78 of file matrix.f90.

◆ assignment() [1/2]

generic matrix::matrix_t::assignment ( class(matrix_t), intent(inout m,
real(kind=rp), intent(in s 
)

Definition at line 74 of file matrix.f90.

◆ assignment() [2/2]

generic matrix::matrix_t::assignment ( class(matrix_t), intent(inout m,
type(matrix_t), intent(in w 
)

Definition at line 74 of file matrix.f90.

Here is the call graph for this function:

◆ copy_from()

procedure, pass(m) matrix::matrix_t::copy_from ( class(matrix_t), intent(inout m,
integer, intent(in memdir,
logical, intent(in sync 
)
Parameters
mmatrix to copy to/from device/host @memdir direction to copy (HOST_TO_DEVICE or DEVICE_TO_HOST) @sync whether the memcopy to be blocking or not

Definition at line 61 of file matrix.f90.

◆ free()

procedure, pass(m) matrix::matrix_t::free ( class(matrix_t), intent(inout m)

Definition at line 57 of file matrix.f90.

◆ get_ncols()

procedure, pass(m) matrix::matrix_t::get_ncols ( class(matrix_t), intent(in m)

Definition at line 65 of file matrix.f90.

◆ get_nrows()

procedure, pass(m) matrix::matrix_t::get_nrows ( class(matrix_t), intent(in m)

Definition at line 63 of file matrix.f90.

◆ init()

procedure, pass(m) matrix::matrix_t::init ( class(matrix_t), intent(inout m,
integer, intent(in nrows,
integer, intent(in ncols 
)
Parameters
nrowsNumber of rows.
ncolsNumber of columns.

Definition at line 55 of file matrix.f90.

◆ inverse()

procedure, pass(m) matrix::matrix_t::inverse ( class(matrix_t), intent(inout m,
integer, optional  bcknd 
)

Definition at line 71 of file matrix.f90.

◆ inverse_on_host()

procedure, pass(m) matrix::matrix_t::inverse_on_host ( class(matrix_t), intent(inout m)

Definition at line 72 of file matrix.f90.

◆ matrix_assign_matrix()

procedure, pass(m) matrix::matrix_t::matrix_assign_matrix ( class(matrix_t), intent(inout m,
type(matrix_t), intent(in w 
)

Definition at line 67 of file matrix.f90.

◆ matrix_assign_scalar()

procedure, pass(m) matrix::matrix_t::matrix_assign_scalar ( class(matrix_t), intent(inout m,
real(kind=rp), intent(in s 
)

Definition at line 69 of file matrix.f90.

◆ size()

procedure, pass(m) matrix::matrix_t::size ( class(matrix_t), intent(in m)

Definition at line 59 of file matrix.f90.

Member Data Documentation

◆ n

integer, private matrix::matrix_t::n = 0
private

Definition at line 52 of file matrix.f90.

◆ ncols

integer, private matrix::matrix_t::ncols = 0
private

Definition at line 51 of file matrix.f90.

◆ nrows

integer, private matrix::matrix_t::nrows = 0
private

Definition at line 50 of file matrix.f90.

◆ x

real(kind=rp), dimension(:,:), allocatable matrix::matrix_t::x

Definition at line 48 of file matrix.f90.

◆ x_d

type(c_ptr) matrix::matrix_t::x_d = C_NULL_PTR

Definition at line 49 of file matrix.f90.


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