Neko 0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
field::field_t Type Reference
Collaboration diagram for field::field_t:

Public Member Functions

procedure, pass(thisfree (this)
 Deallocate a field f.
 
procedure, pass(thissize (this)
 Return the size of the field.
 
generic init (this, dof, fld_name)
 Initialise a field.
 
generic init (this, msh, space, fld_name)
 Initialise a field.
 
generic assignment (this, g)
 Assignemnt to current field.
 
generic assignment (this, a)
 Assignemnt to current field.
 
generic add (this, g)
 Add to current field.
 
generic add (this, a)
 Add to current field.
 

Public Attributes

real(kind=rp), dimension(:,:,:,:), allocatable x
 Field data.
 
type(space_t), pointer xh
 Function space \( X_h \).
 
type(mesh_t), pointer msh
 Mesh.
 
type(dofmap_t), pointer dof
 Dofmap.
 
logical internal_dofmap = .false.
 Does the field have an own dofmap.
 
character(len=80) name
 Name of the field.
 
type(c_ptr) x_d = C_NULL_PTR
 

Private Member Functions

procedure, pass(this), private init_common (this, fld_name)
 Initialize a field this.
 
procedure, pass(this), private init_external_dof (this, dof, fld_name)
 Initialize a field this on the mesh msh using an internal dofmap.
 
procedure, pass(this), private init_internal_dof (this, msh, space, fld_name)
 Initialize a field this on the mesh msh using an internal dofmap.
 
procedure, pass(this), private assign_field (this, g)
 Assignment \( this = G \).
 
procedure, pass(this), private assign_scalar (this, a)
 Assignment \( this = a \).
 
procedure, pass(this), private 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) \).
 
procedure, pass(this), private add_scalar (this, a)
 Add \( this(u_1, u_2, ... , u_n) = this(u_1, u_2, ... , u_n) + a \).
 

Detailed Description

Definition at line 46 of file field.f90.

Member Function/Subroutine Documentation

◆ add() [1/2]

generic field::field_t::add ( class(field_t), intent(inout this,
real(kind=rp), intent(in a 
)
Note
We don't overload operator(+), to avoid the extra assignemnt operator

Definition at line 76 of file field.f90.

◆ add() [2/2]

generic field::field_t::add ( class(field_t), intent(inout this,
type(field_t), intent(in g 
)
Note
We don't overload operator(+), to avoid the extra assignemnt operator

Definition at line 76 of file field.f90.

◆ add_field()

procedure, pass(this), private field::field_t::add_field ( class(field_t), intent(inout this,
type(field_t), intent(in g 
)
private
Note
Component wise

Definition at line 64 of file field.f90.

◆ add_scalar()

procedure, pass(this), private field::field_t::add_scalar ( class(field_t), intent(inout this,
real(kind=rp), intent(in a 
)
private

Definition at line 65 of file field.f90.

◆ assign_field()

procedure, pass(this), private field::field_t::assign_field ( class(field_t), intent(inout this,
type(field_t), intent(in g 
)
private
Note
this will be initialized if it has a different size than G or it's not allocated

Definition at line 62 of file field.f90.

◆ assign_scalar()

procedure, pass(this), private field::field_t::assign_scalar ( class(field_t), intent(inout this,
real(kind=rp), intent(in a 
)
private

Definition at line 63 of file field.f90.

◆ assignment() [1/2]

generic field::field_t::assignment ( class(field_t), intent(inout this,
real(kind=rp), intent(in a 
)

Definition at line 72 of file field.f90.

◆ assignment() [2/2]

generic field::field_t::assignment ( class(field_t), intent(inout this,
type(field_t), intent(in g 
)
Note
this will be initialized if it has a different size than G or it's not allocated

Definition at line 72 of file field.f90.

◆ free()

procedure, pass(this) field::field_t::free ( class(field_t), intent(inout this)

Definition at line 66 of file field.f90.

◆ init() [1/2]

generic field::field_t::init ( class(field_t), intent(inout this,
type(dofmap_t), intent(in), target  dof,
character(len=*), optional  fld_name 
)
Parameters
[in,out]thisField to be initialized
[in]dofExternal dofmap for the field
fld_nameName of the field

Definition at line 70 of file field.f90.

◆ init() [2/2]

generic field::field_t::init ( 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 
)
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 70 of file field.f90.

◆ init_common()

procedure, pass(this), private field::field_t::init_common ( class(field_t), intent(inout this,
character(len=*), optional  fld_name 
)
private
Parameters
[in,out]thisField to be initialized
fld_nameName of the field

Definition at line 57 of file field.f90.

◆ init_external_dof()

procedure, pass(this), private field::field_t::init_external_dof ( class(field_t), intent(inout this,
type(dofmap_t), intent(in), target  dof,
character(len=*), optional  fld_name 
)
private
Parameters
[in,out]thisField to be initialized
[in]dofExternal dofmap for the field
fld_nameName of the field

Definition at line 58 of file field.f90.

◆ init_internal_dof()

procedure, pass(this), private field::field_t::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 
)
private
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 60 of file field.f90.

◆ size()

procedure, pass(this) field::field_t::size ( class(field_t), intent(in this)

Definition at line 68 of file field.f90.

Member Data Documentation

◆ dof

type(dofmap_t), pointer field::field_t::dof

Definition at line 51 of file field.f90.

◆ internal_dofmap

logical field::field_t::internal_dofmap = .false.

Definition at line 53 of file field.f90.

◆ msh

type(mesh_t), pointer field::field_t::msh

Definition at line 50 of file field.f90.

◆ name

character(len=80) field::field_t::name

Definition at line 54 of file field.f90.

◆ x

real(kind=rp), dimension(:,:,:,:), allocatable field::field_t::x

Definition at line 47 of file field.f90.

◆ x_d

type(c_ptr) field::field_t::x_d = C_NULL_PTR

Definition at line 55 of file field.f90.

◆ xh

type(space_t), pointer field::field_t::xh

Definition at line 49 of file field.f90.


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