Appearance
ripple_crest_criterion
A refinement criterion of one's own, for RIPPLE (issue #110, P4.5): the worked example of the build-your-own tutorial.
crest_criterion refines the blocks where the advected profile rises above threshold, until they reach target_level, and leaves the others alone. It reads the app's state, so its vote selects the app's type.
Source: src/tests/ripple/test_ripple_crest_criterion.F90
Dependencies
Contents
Derived Types
crest_criterion
Refine where u > threshold.
Inheritance
Extends: amr_criterion_object
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
name | character(len=:) | allocatable | The name an input selects it by ([amr_marker_N] name). |
runtime_only | logical | Skipped by the AMR of the initial condition. | |
threshold | real(kind=R8P) | Refine the blocks where some cell holds u above it. | |
target_level | integer(kind=I4P) | Refine up to this level. |
Type-Bound Procedures
| Name | Attributes | Description |
|---|---|---|
mark | pass(self) | The votes of every block of the rank. |
vote | pass(self) |
Functions
vote
Refine block b when one of its cells holds u above the threshold and the block is below the target level; otherwise leave it as it is.
Returns: integer(kind=I4P)
fortran
function vote(self, realm, b) result(mark)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(crest_criterion) | inout | The criterion. | |
realm | class(realm_object) | in | The realm. | |
b | integer(kind=I4P) | in | Local block index. |
Call graph