Globals Library 1.0
Loading...
Searching...
No Matches
dmkodedata::odedata Type Reference

Public Member Functions

procedure, pass, public init (this, lun_err, ntdens, npot)
 Static constructor (public for type OdeData)
 
procedure, pass, public kill (this, lun_err)
 Static destructor (public for type OdeData)
 
procedure, pass, public info (this, lun_out)
 Info procedure (public for type OdeData)
 
procedure, pass, public shift (this)
 Shift second slot into the second (public for type OdeData)
 

Public Attributes

integer id_ode
 Identifier of ODE 1 : PP (Physarum Policephalum dynamic) 2 : GF (Gradient Flow dynamic in Tdens variable) 3 : GF2 (Gradient Flow dynamic in Gfvar variable)
 
integer ntimes
 Number of time frames.
 
real(kind=double), dimension(:), allocatable times
 time frames
 
integer ntdens
 
integer npot
 Nmber of variables for Pot-variables.
 
logical dirichlet_exists = .False.
 
integer ndir =0
 Dirichelet quantities Number of Dirichlet nodes.
 
integer, dimension(:,:), allocatable dirichlet_nodes
 Dimension= ndir Dirichlet node indeces ( in subgrid )
 
real(kind=double), dimension(:,:), allocatable dirichlet_values
 Dimension = ndir Dirichlet values at nodes ( in subgrid )
 
real(kind=double), dimension(:), allocatable lambda
 
real(kind=double), dimension(:), allocatable lasso
 Lasso relaxation (stiff(tdens) + lasso mass_matrix) pot = rhs ( continouos ) (stiff(tdens) + lasso Id ) pot = rhs ( discrete )
 
real(kind=double), dimension(:), allocatable tdens0
 
real(kind=double), dimension(:), allocatable pot0
 Initial data for transport dnsity Dimension (npot=grid_potnnode)
 
real(kind=double), dimension(:), allocatable pflux
 Pflux power Contiains 1 real with pflux power.
 
real(kind=double), dimension(:), allocatable decay
 Time decay Contiains 1 real with pflux power.
 
real(kind=double), dimension(:), allocatable pmass
 Pmass power Contiains 1 real with pflux power.
 
real(kind=double), dimension(:), allocatable pode
 ODE expoent for norm of grad pflux : PP (Physarum Policephalum dynamic) 2.0 : GF (Gradient Flow dynamic in Tdens variable) 2.0 : GF2 (Gradient Flow dynamic in Gfvar variable)
 
logical penalty_exists = .False.
 
real(kind=double), dimension(:), allocatable penalty_factor
 Scaling factor for penalty Contiains 1 real with pflux power.
 
real(kind=double), dimension(:,:), allocatable penalty_weight
 Optional weight $\Wpenalty$ of penalty decay Give by adding penalty $\Wpenalty|\Tdens -\Penalty|^2.
 
real(kind=double), dimension(:,:), allocatable penalty
 Dimension = ntdens Optional penalty $\geq 0$ given by adding $\Wpenalty|\Tdens -\Penalty|^2 in the minimization problem.
 
real(kind=double), dimension(:,:), allocatable kappa
 
real(kind=double), dimension(:,:), allocatable rhs_integrated
 Dimension = npot Rhs in the linear system arising from equation $-\div(\Tdens \Grad \Pot ) = \Forcing$ Completed with proper boundary condition.
 
logical opt_tdens_exists = .False.
 
real(kind=double), dimension(:,:), allocatable opt_tdens
 Reference solution for Tdens Dimension (ntdens=gridncell)
 
logical opt_pot_exists = .False.
 True/False flag for existence of optdens array.
 
real(kind=double), dimension(:,:), allocatable opt_pot
 Reference solution for Tdens Dimension (ntdens=gridncell)
 

Detailed Description


Structure variable containg the time varing quantities (pflux, pmass, decay, kappa, rhs_integrated) and fix in time quanties (tdens0) the ODE \begin{gather} \Div(\Tdens \Grad \Pot) = \Forcing \quad -\Tdens \Grad \Pot \cdot \n_{\partial \Domain} = \Bdflux \ \Tdens'=|\Tdens \Grad \Pot(\Tdens)|^\Pflux-kappa*decay*\Tdens^{\Pmass} \ \Tdens(tzero) = \Tdens0 \end{gather} It may contains the optional quantities forcing, boundary_flux, optdens(fix initialized and used

only if the correspondet input files exis

Member Function/Subroutine Documentation

◆ init()

procedure, pass, public dmkodedata::odedata::init ( class(odedata), intent(inout) this,
integer, intent(in) lun_err,
integer, intent(in) ntdens,
integer, intent(in) npot )

Static constructor (public for type OdeData)


Static constructor. (procedure public for type OdeInp) Instantiate (allocate if necessary) and initialize variables of type OdeInp

usage: call 'var'init(lun_err,ntdens,npot)

where:

Parameters
[in]lun_err-> integer. Logical unit for error msg.
[in]ntdens-> integer. Dimension of Tdens-variables
[in]npot-> integer. Dimension of Pot-variables

◆ kill()

procedure, pass, public dmkodedata::odedata::kill ( class(odedata), intent(inout) this,
integer, intent(in) lun_err )

Static destructor (public for type OdeData)


Static desconstructor. (procedure public for type OdeInp) Free memory

usage: call 'var'kill(lun_err)

where:

Parameters
[in]lun_err-> integer. I/O logical unit

◆ info()

procedure, pass, public dmkodedata::odedata::info ( class(odedata), intent(inout) this,
integer, intent(in) lun_out )

Info procedure (public for type OdeData)


Information procedure (procedure public for type OdeData)

usage: call 'var'info(lun_out)

where:

Parameters
[in]lun_out-> integer. I/O logical unit

◆ shift()

procedure, pass, public dmkodedata::odedata::shift ( class(odedata), intent(inout) this)

Shift second slot into the second (public for type OdeData)


Shift data from second to first time

Member Data Documentation

◆ id_ode

integer dmkodedata::odedata::id_ode

Identifier of ODE 1 : PP (Physarum Policephalum dynamic) 2 : GF (Gradient Flow dynamic in Tdens variable) 3 : GF2 (Gradient Flow dynamic in Gfvar variable)

◆ ntimes

integer dmkodedata::odedata::ntimes

Number of time frames.

◆ times

real(kind=double), dimension(:), allocatable dmkodedata::odedata::times

time frames

◆ ntdens

integer dmkodedata::odedata::ntdens

Mandatory Input data

Nmber of variables for Tdens-variables

◆ npot

integer dmkodedata::odedata::npot

Nmber of variables for Pot-variables.

◆ dirichlet_exists

logical dmkodedata::odedata::dirichlet_exists = .False.

True/False flag for existence of optimal potential array

◆ ndir

integer dmkodedata::odedata::ndir =0

Dirichelet quantities Number of Dirichlet nodes.

◆ dirichlet_nodes

integer, dimension(:,:), allocatable dmkodedata::odedata::dirichlet_nodes

Dimension= ndir Dirichlet node indeces ( in subgrid )

◆ dirichlet_values

real(kind=double), dimension(:,:), allocatable dmkodedata::odedata::dirichlet_values

Dimension = ndir Dirichlet values at nodes ( in subgrid )

◆ lambda

real(kind=double), dimension(:), allocatable dmkodedata::odedata::lambda

Lift of tdens in elliptic equation -div(\tdens + lasso \grad \pot) = rhs ( continouos ) ( A ( diag(\tdens) + lambda Id )A pot ) \pot = rhs ( discrete )

◆ lasso

real(kind=double), dimension(:), allocatable dmkodedata::odedata::lasso

Lasso relaxation (stiff(tdens) + lasso mass_matrix) pot = rhs ( continouos ) (stiff(tdens) + lasso Id ) pot = rhs ( discrete )

◆ tdens0

real(kind=double), dimension(:), allocatable dmkodedata::odedata::tdens0

Initial data for transport dnsity Dimension (ntdens=gridncell)

◆ pot0

real(kind=double), dimension(:), allocatable dmkodedata::odedata::pot0

Initial data for transport dnsity Dimension (npot=grid_potnnode)

◆ pflux

real(kind=double), dimension(:), allocatable dmkodedata::odedata::pflux

Pflux power Contiains 1 real with pflux power.

◆ decay

real(kind=double), dimension(:), allocatable dmkodedata::odedata::decay

Time decay Contiains 1 real with pflux power.

◆ pmass

real(kind=double), dimension(:), allocatable dmkodedata::odedata::pmass

Pmass power Contiains 1 real with pflux power.

◆ pode

real(kind=double), dimension(:), allocatable dmkodedata::odedata::pode

ODE expoent for norm of grad pflux : PP (Physarum Policephalum dynamic) 2.0 : GF (Gradient Flow dynamic in Tdens variable) 2.0 : GF2 (Gradient Flow dynamic in Gfvar variable)

◆ penalty_exists

logical dmkodedata::odedata::penalty_exists = .False.

Penalization

True/False flag for existence penalization

◆ penalty_factor

real(kind=double), dimension(:), allocatable dmkodedata::odedata::penalty_factor

Scaling factor for penalty Contiains 1 real with pflux power.

◆ penalty_weight

real(kind=double), dimension(:,:), allocatable dmkodedata::odedata::penalty_weight

Optional weight $\Wpenalty$ of penalty decay Give by adding penalty $\Wpenalty|\Tdens -\Penalty|^2.

◆ penalty

real(kind=double), dimension(:,:), allocatable dmkodedata::odedata::penalty

Dimension = ntdens Optional penalty $\geq 0$ given by adding $\Wpenalty|\Tdens -\Penalty|^2 in the minimization problem.

◆ kappa

real(kind=double), dimension(:,:), allocatable dmkodedata::odedata::kappa

Dimension = ntdens Spatial decay Contiains ntria-array with spatial decay

◆ rhs_integrated

real(kind=double), dimension(:,:), allocatable dmkodedata::odedata::rhs_integrated

Dimension = npot Rhs in the linear system arising from equation $-\div(\Tdens \Grad \Pot ) = \Forcing$ Completed with proper boundary condition.

◆ opt_tdens_exists

logical dmkodedata::odedata::opt_tdens_exists = .False.

Reference solution to compute errors

True/False flag for existence of optdens array

◆ opt_tdens

real(kind=double), dimension(:,:), allocatable dmkodedata::odedata::opt_tdens

Reference solution for Tdens Dimension (ntdens=gridncell)

◆ opt_pot_exists

logical dmkodedata::odedata::opt_pot_exists = .False.

True/False flag for existence of optdens array.

◆ opt_pot

real(kind=double), dimension(:,:), allocatable dmkodedata::odedata::opt_pot

Reference solution for Tdens Dimension (ntdens=gridncell)


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