atl_legpolyvar_module Module

Definition of a spatial function based on a polynomial description.

This module provides a variable that can be used to describe a function with a Legendre series, as found in single elements of the solver. The Legendre modes are read from a file in restart format, but only a single polynomial can be considered (not a mesh).


Uses

Used by

  • module~~atl_legpolyvar_module~~UsedByGraph module~atl_legpolyvar_module atl_legpolyvar_module module~atl_varsys_module atl_varSys_module module~atl_varsys_module->module~atl_legpolyvar_module

Contents


Derived Types

type, private :: atl_legpolyvar_type

Configuration for a legpolyvar.

Read more…

Components

TypeVisibilityAttributesNameInitial
integer, private :: poly_space

Polynomial space of the multidimensional polynomial (Q or P)

integer, private :: nDims

Dimensionality of the polynomial (needs to be between 1 and 3).

Read more…
integer, private :: degree

Maximal polynomial degree in the polynomial series.

integer, private :: iComp

State component in the given file for the data to read.

Read more…
real(kind=rk), private :: origin(3)

Position of the origin corner for the box, the Legendre polynomials are to live in.

real(kind=rk), private :: extent

Extent of the box the Legendre polynomial series is defined in.

character(len=pathLen), private :: filename

Name of the file to read the polynomial coefficients from.

Read more…

type, private :: polydata_type

Components

TypeVisibilityAttributesNameInitial
integer, private :: degree

Maximal polynomial degree in the polynomial series.

real(kind=rk), private :: origin(3)

Position of the origin corner for the box, the Legendre polynomials are to live in.

real(kind=rk), private :: extent

Extent of the box the Legendre polynomial series is defined in.

real(kind=rk), private, allocatable:: modes(:)

Legendre modes.


Subroutines

public subroutine atl_legpolyvar_load(L, parent, legpolyvar)

Load the definition of a Legendre polynomial variable from a Lua script.

Arguments

TypeIntentOptionalAttributesName
type(flu_State) :: L

Lua script to load the polyvar definition from.

integer, intent(in) :: parent

Parent table in the Lua script to read the variable data from.

type(atl_legpolyvar_type), intent(out) :: legpolyvar

Resulting Legendre polynomial description to fill.

public subroutine atl_legpolyvar_append(var, varsys, pos, solverData_evalElem)

Arguments

TypeIntentOptionalAttributesName
class(tem_variable_type), intent(in) :: var

Data describing the variable to append (needs to be a legpolyvar).

type(tem_varSys_type), intent(inout) :: varsys

Variable system to append the variable to.

integer, intent(out), optional :: pos

Position of the appended variable in the system.

type(tem_varSys_solverData_evalElem_type), intent(in), optional :: solverData_evalElem

A setter to allow the caller to define a routine for the construction of an element representation.

private subroutine read_legpolyvar_modes(legpolyvar, modes)

Arguments

TypeIntentOptionalAttributesName
type(atl_legpolyvar_type), intent(in) :: legpolyvar
real(kind=rk), intent(out), allocatable:: modes(:)