Neko  0.8.1
A portable framework for high-order spectral element flow simulations
field Module Reference

Defines a field. More...

Data Types

type  field_t
 
type  field_ptr_t
 field_ptr_t, To easily obtain a pointer to a field More...
 

Functions/Subroutines

subroutine field_init_internal_dof (this, msh, space, fld_name)
 Initialize a field this on the mesh msh using an internal dofmap. More...
 
subroutine field_init_external_dof (this, dof, fld_name)
 Initialize a field this on the mesh msh using an internal dofmap. More...
 
subroutine field_init_common (this, fld_name)
 Initialize a field this. More...
 
subroutine field_free (this)
 Deallocate a field f. More...
 
subroutine field_assign_field (this, g)
 Assignment \( this = G \). More...
 
subroutine field_assign_scalar (this, a)
 Assignment \( this = a \). More...
 
subroutine field_add_field (this, g)
 Add \( this(u_1, u_2, ... , u_n) = this(u_1, u_2, ... , u_n) + G(u_1, u_2, ... , u_n) \). More...
 
subroutine field_add_scalar (this, a)
 Add \( this(u_1, u_2, ... , u_n) = this(u_1, u_2, ... , u_n) + a \). More...
 
pure integer function field_size (this)
 Return the size of the field based on the underlying dofmap. More...
 

Detailed Description

Defines a field.

Function/Subroutine Documentation

◆ field_add_field()

subroutine field::field_add_field ( class(field_t), intent(inout)  this,
type(field_t), intent(in)  g 
)
private

Add \( this(u_1, u_2, ... , u_n) = this(u_1, u_2, ... , u_n) + G(u_1, u_2, ... , u_n) \).

Note
Component wise

Definition at line 247 of file field.f90.

◆ field_add_scalar()

subroutine field::field_add_scalar ( class(field_t), intent(inout)  this,
real(kind=rp), intent(in)  a 
)
private

Add \( this(u_1, u_2, ... , u_n) = this(u_1, u_2, ... , u_n) + a \).

Definition at line 262 of file field.f90.

◆ field_assign_field()

subroutine field::field_assign_field ( class(field_t), intent(inout)  this,
type(field_t), intent(in)  g 
)
private

Assignment \( this = G \).

Note
this will be initialized if it has a different size than G or it's not allocated

Definition at line 185 of file field.f90.

◆ field_assign_scalar()

subroutine field::field_assign_scalar ( class(field_t), intent(inout)  this,
real(kind=rp), intent(in)  a 
)
private

Assignment \( this = a \).

Definition at line 223 of file field.f90.

◆ field_free()

subroutine field::field_free ( class(field_t), intent(inout)  this)
private

Deallocate a field f.

Definition at line 160 of file field.f90.

◆ field_init_common()

subroutine field::field_init_common ( class(field_t), intent(inout)  this,
character(len=*), optional  fld_name 
)
private

Initialize a field this.

Parameters
[in,out]thisField to be initialized
fld_nameName of the field

Definition at line 131 of file field.f90.

◆ field_init_external_dof()

subroutine field::field_init_external_dof ( class(field_t), intent(inout)  this,
type(dofmap_t), intent(in), target  dof,
character(len=*), optional  fld_name 
)
private

Initialize a field this on the mesh msh using an internal dofmap.

Parameters
[in,out]thisField to be initialized
[in]dofExternal dofmap for the field
fld_nameName of the field

Definition at line 111 of file field.f90.

◆ field_init_internal_dof()

subroutine field::field_init_internal_dof ( class(field_t), intent(inout)  this,
type(mesh_t), intent(in), target  msh,
type(space_t), intent(in), target  space,
character(len=*), optional  fld_name 
)

Initialize a field this on the mesh msh using an internal dofmap.

Parameters
[in,out]thisField to be initialized
[in]mshunderlying mesh of the field
[in]spaceFunction space for the field
fld_nameName of the field

Definition at line 87 of file field.f90.

◆ field_size()

pure integer function field::field_size ( class(field_t), intent(in)  this)
private

Return the size of the field based on the underlying dofmap.

Definition at line 275 of file field.f90.