The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
Loading...
Searching...
No Matches
Data Types | Functions/Subroutines
fem_composite Module Reference

Detailed Description

Classes and infrastructure for composite FE representations.

Authors
Chris Hansen
Date
April 2014

Data Types

interface  ml_fe_base_pop
 Needs docs. More...
 
interface  ml_fe_base_push
 Needs docs. More...
 
type  oft_fem_comp_ptr
 Composite FE type pointer container. More...
 
type  oft_fem_comp_type
 Composite FE type. More...
 
type  oft_ml_fe_comp_vecspace
 Needs docs. More...
 
type  oft_ml_fem_comp_type
 Multi-level composite FE type. More...
 

Functions/Subroutines

subroutine fem_comp_delete (self)
 Needs docs.
 
subroutine fem_mat_add_local (self, mat, mloc, iloc, tlocks)
 Add local contributions to full matrix in a thread-safe way.
 
subroutine fem_mat_create (self, new, mask)
 Needs docs.
 
subroutine fem_mat_destroy_local (self, mloc)
 Needs docs.
 
subroutine fem_mat_setup_local (self, mloc, mask)
 Needs docs.
 
subroutine fem_mat_zero_local (self, mloc)
 Needs docs.
 
subroutine fem_mat_zero_local_rows (self, mloc, flag, irow)
 Needs docs.
 
subroutine fem_vec_create (self, new, cache, native)
 Create weight vector for FE representation.
 
subroutine fem_vec_load (self, source, filename, path, err_flag)
 Load a Lagrange scalar field from a HDF5 restart file.
 
subroutine fem_vec_save (self, source, filename, path, append)
 Save a Lagrange scalar field to a HDF5 restart file.
 
subroutine ml_fe_vecspace_create (self, new, level, cache, native)
 Needs docs.
 
subroutine ml_fe_vecspace_inject (self, afine, acors)
 Interpolate a coarse level Lagrange scalar field to the next finest level.
 
subroutine ml_fe_vecspace_interp (self, acors, afine)
 Interpolate a coarse level Lagrange scalar field to the next finest level.
 
subroutine ml_fem_build_interp (self, minlev)
 Needs docs.
 
subroutine ml_fem_comp_delete (self)
 Needs docs.
 
subroutine ml_fem_set_level (self, level, propogate)
 Set the current level for a ML Compsite-FE structure.
 
subroutine ml_fem_setup (self)
 Needs docs.
 
subroutine ml_fem_vec_create (self, new, level, cache, native)
 Create weight vector for FE representation.
 

Function/Subroutine Documentation

◆ fem_comp_delete()

subroutine fem_comp_delete ( class(oft_fem_comp_type), intent(inout)  self)

Needs docs.

◆ fem_mat_add_local()

subroutine fem_mat_add_local ( class(oft_fem_comp_type), intent(inout)  self,
class(oft_matrix), intent(inout)  mat,
type(oft_local_mat), dimension(:,:), intent(in)  mloc,
type(oft_1d_int), dimension(:), intent(in)  iloc,
integer(kind=omp_lock_kind), dimension(:), intent(inout)  tlocks 
)

Add local contributions to full matrix in a thread-safe way.

Parameters
[in,out]matFull matrix
[in]mlocLocal matrix
[in]ilocLocal FE entries
[in,out]tlocksOpenMP row thread locks

◆ fem_mat_create()

subroutine fem_mat_create ( class(oft_fem_comp_type), intent(inout)  self,
class(oft_matrix), intent(out), pointer  new,
integer(i4), dimension(:,:), intent(in), optional  mask 
)

Needs docs.

◆ fem_mat_destroy_local()

subroutine fem_mat_destroy_local ( class(oft_fem_comp_type), intent(inout)  self,
type(oft_local_mat), dimension(:,:), intent(inout)  mloc 
)

Needs docs.

◆ fem_mat_setup_local()

subroutine fem_mat_setup_local ( class(oft_fem_comp_type), intent(inout)  self,
type(oft_local_mat), dimension(:,:), intent(inout)  mloc,
integer(i4), dimension(:,:), intent(in), optional  mask 
)

Needs docs.

◆ fem_mat_zero_local()

subroutine fem_mat_zero_local ( class(oft_fem_comp_type), intent(inout)  self,
type(oft_local_mat), dimension(:,:), intent(inout)  mloc 
)

Needs docs.

◆ fem_mat_zero_local_rows()

subroutine fem_mat_zero_local_rows ( class(oft_fem_comp_type), intent(inout)  self,
type(oft_local_mat), dimension(:,:), intent(inout)  mloc,
logical, dimension(:), intent(in)  flag,
integer(i4), intent(in)  irow 
)

Needs docs.

◆ fem_vec_create()

subroutine fem_vec_create ( class(oft_fem_comp_type), intent(inout)  self,
class(oft_vector), intent(out), pointer  new,
logical, intent(in), optional  cache,
logical, intent(in), optional  native 
)

Create weight vector for FE representation.

Parameters
[out]newVector to create
[in]cacheAllow caching (optional)
[in]nativeForce native representation (optional)

◆ fem_vec_load()

subroutine fem_vec_load ( class(oft_fem_comp_type), intent(inout)  self,
class(oft_vector), intent(inout), target  source,
character(len=*), intent(in)  filename,
character(len=*), intent(in)  path,
integer(i4), intent(out), optional  err_flag 
)

Load a Lagrange scalar field from a HDF5 restart file.

Parameters
[in,out]sourceDestination field
[in]filenameName of source file
[in]pathield path in file
[out]err_flagError flag

◆ fem_vec_save()

subroutine fem_vec_save ( class(oft_fem_comp_type), intent(inout)  self,
class(oft_vector), intent(inout), target  source,
character(len=*), intent(in)  filename,
character(len=*), intent(in)  path,
logical, intent(in), optional  append 
)

Save a Lagrange scalar field to a HDF5 restart file.

Parameters
[in,out]sourceSource field
[in]filenameName of destination file
[in]pathField label in file
[in]appendAppend to file instead of creating?

◆ ml_fe_vecspace_create()

subroutine ml_fe_vecspace_create ( class(oft_ml_fe_comp_vecspace), intent(inout)  self,
class(oft_vector), intent(out), pointer  new,
integer(i4), intent(in), optional  level,
logical, intent(in), optional  cache,
logical, intent(in), optional  native 
)

Needs docs.

◆ ml_fe_vecspace_inject()

subroutine ml_fe_vecspace_inject ( class(oft_ml_fe_comp_vecspace), intent(inout)  self,
class(oft_vector), intent(inout)  afine,
class(oft_vector), intent(inout)  acors 
)

Interpolate a coarse level Lagrange scalar field to the next finest level.

Note
The global Lagrange level in incremented by one in this subroutine
Parameters
[in,out]afineFine vector from interpolation
[in,out]acorsVector to interpolate

◆ ml_fe_vecspace_interp()

subroutine ml_fe_vecspace_interp ( class(oft_ml_fe_comp_vecspace), intent(inout)  self,
class(oft_vector), intent(inout)  acors,
class(oft_vector), intent(inout)  afine 
)

Interpolate a coarse level Lagrange scalar field to the next finest level.

Note
The global Lagrange level in incremented by one in this subroutine
Parameters
[in,out]acorsVector to interpolate
[in,out]afineFine vector from interpolation

◆ ml_fem_build_interp()

subroutine ml_fem_build_interp ( class(oft_ml_fem_comp_type), intent(inout)  self,
integer(i4), intent(in), optional  minlev 
)

Needs docs.

◆ ml_fem_comp_delete()

subroutine ml_fem_comp_delete ( class(oft_ml_fem_comp_type), intent(inout)  self)

Needs docs.

◆ ml_fem_set_level()

subroutine ml_fem_set_level ( class(oft_ml_fem_comp_type), intent(inout)  self,
integer(i4), intent(in)  level,
logical, intent(in), optional  propogate 
)

Set the current level for a ML Compsite-FE structure.

Parameters
[in]levelDesired level

◆ ml_fem_setup()

subroutine ml_fem_setup ( class(oft_ml_fem_comp_type), intent(inout)  self)

Needs docs.

◆ ml_fem_vec_create()

subroutine ml_fem_vec_create ( class(oft_ml_fem_comp_type), intent(inout)  self,
class(oft_vector), intent(out), pointer  new,
integer(i4), intent(in), optional  level,
logical, intent(in), optional  cache,
logical, intent(in), optional  native 
)

Create weight vector for FE representation.

Parameters
[out]newVector to create
[in]levelFE level for init (optional)
[in]cacheAllow caching (optional)
[in]nativeForce native representation (optional)