Derived types and procedures to compute the aggregation term for 1D PBEs.
Initialize aggterm
object.
where is the moment of conserved upon aggregation. 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(afnc_t) | :: | a |
aggregation frequency function, |
|||
integer, | intent(in), | optional | :: | moment |
moment of conserved during aggregation (default=1) |
|
logical, | intent(in), | optional | :: | update_a |
if |
|
character(len=*), | intent(in), | optional | :: | name |
name (default="agg-term") |
Aggregation frequency for 1D system
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | xa |
internal coordinate of particle a |
||
real(kind=rk), | intent(in) | :: | xb |
internal coordinate of particle b |
||
real(kind=rk), | intent(in) | :: | y(:) |
environment vector |
Aggregation 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 aggterm_init (grid, a, moment, update_a, 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 => aggterm_eval |