Globals Library 1.0
|
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) | |
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
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:
[in] | lun_err | -> integer. Logical unit for error msg. |
[in] | ntdens | -> integer. Dimension of Tdens-variables |
[in] | npot | -> integer. Dimension of Pot-variables |
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:
[in] | lun_err | -> integer. I/O logical unit |
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:
[in] | lun_out | -> integer. I/O logical unit |
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
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)
integer dmkodedata::odedata::ntimes |
Number of time frames.
real(kind=double), dimension(:), allocatable dmkodedata::odedata::times |
time frames
integer dmkodedata::odedata::npot |
Nmber of variables for Pot-variables.
logical dmkodedata::odedata::dirichlet_exists = .False. |
True/False flag for existence of optimal potential array
integer dmkodedata::odedata::ndir =0 |
Dirichelet quantities Number of Dirichlet nodes.
integer, dimension(:,:), allocatable dmkodedata::odedata::dirichlet_nodes |
Dimension= ndir Dirichlet node indeces ( in subgrid )
real(kind=double), dimension(:,:), allocatable dmkodedata::odedata::dirichlet_values |
Dimension = ndir Dirichlet values at nodes ( in subgrid )
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 )
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 )
real(kind=double), dimension(:), allocatable dmkodedata::odedata::tdens0 |
Initial data for transport dnsity Dimension (ntdens=gridncell)
real(kind=double), dimension(:), allocatable dmkodedata::odedata::pot0 |
Initial data for transport dnsity Dimension (npot=grid_potnnode)
real(kind=double), dimension(:), allocatable dmkodedata::odedata::pflux |
Pflux power Contiains 1 real with pflux power.
real(kind=double), dimension(:), allocatable dmkodedata::odedata::decay |
Time decay Contiains 1 real with pflux power.
real(kind=double), dimension(:), allocatable dmkodedata::odedata::pmass |
Pmass power Contiains 1 real with pflux power.
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)
logical dmkodedata::odedata::penalty_exists = .False. |
real(kind=double), dimension(:), allocatable dmkodedata::odedata::penalty_factor |
Scaling factor for penalty Contiains 1 real with pflux power.
real(kind=double), dimension(:,:), allocatable dmkodedata::odedata::penalty_weight |
Optional weight $\Wpenalty$ of penalty decay Give by adding penalty $\Wpenalty|\Tdens -\Penalty|^2.
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.
real(kind=double), dimension(:,:), allocatable dmkodedata::odedata::kappa |
Dimension = ntdens Spatial decay Contiains ntria-array with spatial decay
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.
logical dmkodedata::odedata::opt_tdens_exists = .False. |
real(kind=double), dimension(:,:), allocatable dmkodedata::odedata::opt_tdens |
Reference solution for Tdens Dimension (ntdens=gridncell)
logical dmkodedata::odedata::opt_pot_exists = .False. |
True/False flag for existence of optdens array.
real(kind=double), dimension(:,:), allocatable dmkodedata::odedata::opt_pot |
Reference solution for Tdens Dimension (ntdens=gridncell)