BSpline Finite Element Exterior Calculus
Loading...
Searching...
No Matches
m_tensorprod_basis Module Reference

Module containing the tensor product of three 1D B-spline spaces, toghether with the corresponding tensorproduct functions. More...

Data Types

interface  actv_interval_inds
 Determine the active intervals on the subdomain. More...
 
interface  evaluate
 Evaluate a tensor product B-spline (function) at a given point. More...
 
interface  get_petsc
 Convert a tensor product function to a PETSc vector. More...
 
interface  size
 Get the size of the tensor product B-spline space (i.e., the number of linearly independent tensor product basis functions) More...
 
type  tensorprodfun
 The tensor product function which is represented by a linear combination of the basis functions from a tensor product space. More...
 
interface  tensorprodspace
 The tensor product of three B-spline spaces. More...
 

Functions/Subroutines

pure subroutine, public linear_to_cartesian (this, l, i, j, k)
 Convert the linear index to the cartesian indices.
 
pure subroutine, public cartesian_to_linear (this, l, i, j, k, is_on_my_responsible_subdomain)
 Convert the cartesian indices to the linear index.
 

Detailed Description

Module containing the tensor product of three 1D B-spline spaces, toghether with the corresponding tensorproduct functions.

This module provides:

  • TensorProdSpace: the tensor product of three BSplineSpace objects
  • TensorProdFun: the tensor product function which is represented by a linear combination of the basis functions from a tensor product space

Function/Subroutine Documentation

◆ cartesian_to_linear()

pure subroutine, public m_tensorprod_basis::cartesian_to_linear ( type(tensorprodspace), intent(in) this,
integer, intent(out) l,
integer, intent(in) i,
integer, intent(in) j,
integer, intent(in) k,
logical, intent(in), optional is_on_my_responsible_subdomain )

Convert the cartesian indices to the linear index.

Parameters
[in]thisTensor product of B-spline spaces
[out]lLinear index
[in]iIndex in x-direction
[in]jIndex in y-direction
[in]kIndex in z-direction
[out]is_on_my_responsible_subdomain_(optional)_ Whether the given indices are on the responsible subdomain (default: false)

◆ linear_to_cartesian()

pure subroutine, public m_tensorprod_basis::linear_to_cartesian ( type(tensorprodspace), intent(in) this,
integer, intent(in) l,
integer, intent(out) i,
integer, intent(out) j,
integer, intent(out) k )

Convert the linear index to the cartesian indices.

Parameters
[in]thisTensor product of B-spline spaces
[in]lLinear index
[out]iIndex in x-direction
[out]jIndex in y-direction
[out]kIndex in z-direction