|
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)