Derived types and procedures to compute the breakage term for 1D PBEs.
Initialize breakterm
object.
where is the moment of conserved upon breakage. For example,
if denotes particle mass or volume, then , whereas if denotes
particle radius or diameter, then .
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grid1), | intent(in) | :: | grid |
|
||
procedure(bfnc_t) | :: | b |
breakage frequency function, |
|||
procedure(dfnc_t) | :: | d |
daughter distribution function, |
|||
integer, | intent(in), | optional | :: | moment |
moment of conserved during breakage (default=1) |
|
logical, | intent(in), | optional | :: | update_b |
if |
|
logical, | intent(in), | optional | :: | update_d |
if |
|
character(len=*), | intent(in), | optional | :: | name |
name (default="break-term") |
Breakage frequency for 1D system
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | x |
internal coordinate of particle |
||
real(kind=rk), | intent(in) | :: | y(:) |
environment vector |
Daughter distribution for 1D system
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | xd |
internal coordinate of daughter particle |
||
real(kind=rk), | intent(in) | :: | xo |
internal coordinate of original particle |
||
real(kind=rk), | intent(in) | :: | y(:) |
environment vector |
Breakage term class.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=:), | public, | allocatable | :: | name |
object name |
||
character(len=:), | public, | allocatable | :: | msg |
error message |
||
integer, | public | :: | ierr | = | 0 |
error code |
|
logical, | public | :: | inited | = | .false. |
initialization flag |
|
type(grid1), | public, | pointer | :: | grid | => | null() |
pointer to grid object |
real(kind=rk), | public, | allocatable | :: | udot(:) |
net rate of change, |
||
integer, | public | :: | moment | = | 1 |
moment of conserved during aggregation/breakage |
|
real(kind=rk), | public, | allocatable | :: | udot_birth(:) |
rate of birth |
||
real(kind=rk), | public, | allocatable | :: | udot_death(:) |
rate of death |
private function breakterm_init (grid, b, d, moment, update_b, update_d, name) | Initialize |
procedure, public, pass(self) :: set_name | |
procedure, public, pass(self) :: error_msg | |
procedure, public, pass(self) :: check_inited | |
procedure, public, pass(self) :: set_grid | |
procedure, public, pass(self) :: pbeterm_allocations | |
procedure, public, pass(self) :: set_moment | |
procedure, public, pass(self) :: particleterm_allocations | |
procedure, public, pass(self) :: eval => breakterm_eval |