Skip to content

fossil_distance_field ​

Source: src/lib/fossil_distance_field.f90

Dependencies

Contents ​

Variables ​

NameTypeAttributesDescription
FAR_VALUEreal(kind=R8P)parameter

Derived Types ​

distance_field_object ​

Components ​

NameTypeAttributesDescription
niinteger(kind=I4P)
njinteger(kind=I4P)
nkinteger(kind=I4P)
nginteger(kind=I4P)
ngkinteger(kind=I4P)
is_2dlogical
xreal(kind=R8P)allocatable
yreal(kind=R8P)allocatable
zreal(kind=R8P)allocatable
band_widthreal(kind=R8P)
local_spacingreal(kind=R8P)
sign_algorithminteger(kind=I4P)
use_devicelogical
band_cellsinteger(kind=I4P)
is_signedlogical
phireal(kind=R8P)allocatable
in_bandlogicalallocatable
closestreal(kind=R8P)allocatable
closest_idinteger(kind=I4P)allocatable
closest_normalreal(kind=R8P)allocatable

Type-Bound Procedures ​

NameAttributesDescription
initializepass(self)
destroypass(self)
compute_band
compute_signs
sweeppass(self)
compute
get_dimspass(self)
get_band_widthpass(self)
get_band_cellspass(self)
get_is_2dpass(self)
get_coordinatespass(self)
gradient_diagnosticpass(self)
default_band
compute_band_surfacepass(self)
compute_band_curvepass(self)
compute_signs_surfacepass(self)
compute_signs_curvepass(self)
compute_surfacepass(self)
compute_curvepass(self)
default_band_surfacepass(self)
default_band_curvepass(self)
keep_bandpass(self)
signs_corepass(self)
linearpass(self)
sweep_oncepass(self)
godunovpass(self)
unlinearpass(self)

Subroutines ​

initialize ​

fortran
subroutine initialize(self, x, y, z, ng, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)inout
xreal(kind=R8P)in
yreal(kind=R8P)in
zreal(kind=R8P)inoptional
nginteger(kind=I4P)inoptional
statusinteger(kind=I4P)outoptional

Call graph

destroy ​

Attributes: pure

fortran
subroutine destroy(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)inout

Call graph

get_dims ​

Attributes: pure

fortran
subroutine get_dims(self, ni, nj, nk, ng)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)in
niinteger(kind=I4P)out
njinteger(kind=I4P)out
nkinteger(kind=I4P)out
nginteger(kind=I4P)outoptional

get_coordinates ​

Attributes: pure

fortran
subroutine get_coordinates(self, i, j, k, c)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)in
iinteger(kind=I4P)in
jinteger(kind=I4P)in
kinteger(kind=I4P)in
creal(kind=R8P)out

compute_band_surface ​

fortran
subroutine compute_band_surface(self, surface, band, is_signed, sign_algorithm, use_device, store_closest, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)inout
surfacetype(surface_stl_object)inouttarget
bandreal(kind=R8P)inoptional
is_signedlogicalinoptional
sign_algorithminteger(kind=I4P)inoptional
use_devicelogicalinoptional
store_closestlogicalinoptional
statusinteger(kind=I4P)outoptional

Call graph

compute_band_curve ​

fortran
subroutine compute_band_curve(self, curve, band, is_signed, sign_algorithm, use_device, store_closest, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)inout
curvetype(curve_object)inouttarget
bandreal(kind=R8P)inoptional
is_signedlogicalinoptional
sign_algorithminteger(kind=I4P)inoptional
use_devicelogicalinoptional
store_closestlogicalinoptional
statusinteger(kind=I4P)outoptional

Call graph

keep_band ​

Attributes: pure

fortran
subroutine keep_band(self, cell, d, band)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)inout
cellinteger(kind=I4P)in
dreal(kind=R8P)in
bandreal(kind=R8P)in

Call graph

compute_signs_surface ​

fortran
subroutine compute_signs_surface(self, surface, fallback_cells, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)inout
surfacetype(surface_stl_object)inouttarget
fallback_cellsinteger(kind=I4P)outoptional
statusinteger(kind=I4P)outoptional

Call graph

compute_signs_curve ​

fortran
subroutine compute_signs_curve(self, curve, fallback_cells, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)inout
curvetype(curve_object)inouttarget
fallback_cellsinteger(kind=I4P)outoptional
statusinteger(kind=I4P)outoptional

Call graph

signs_core ​

fortran
subroutine signs_core(self, surface, curve, fallback_cells, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)inout
surfacetype(surface_stl_object)inouttarget, optional
curvetype(curve_object)inouttarget, optional
fallback_cellsinteger(kind=I4P)outoptional
statusinteger(kind=I4P)outoptional

Call graph

sweep ​

fortran
subroutine sweep(self, tol, max_sweeps, sweeps, max_change, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)inout
tolreal(kind=R8P)inoptional
max_sweepsinteger(kind=I4P)inoptional
sweepsinteger(kind=I4P)outoptional
max_changereal(kind=R8P)outoptional
statusinteger(kind=I4P)outoptional

Call graph

sweep_once ​

fortran
subroutine sweep_once(self, dir, change)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)inout
dirinteger(kind=I4P)in
changereal(kind=R8P)out

Call graph

unlinear ​

Attributes: pure

fortran
subroutine unlinear(self, l, i, j, k)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)in
linteger(kind=I4P)in
iinteger(kind=I4P)out
jinteger(kind=I4P)out
kinteger(kind=I4P)out

Call graph

compute_surface ​

fortran
subroutine compute_surface(self, surface, band, is_signed, sign_algorithm, use_device, tol, max_sweeps, sweeps, fallback_cells, store_closest, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)inout
surfacetype(surface_stl_object)inouttarget
bandreal(kind=R8P)inoptional
is_signedlogicalinoptional
sign_algorithminteger(kind=I4P)inoptional
use_devicelogicalinoptional
tolreal(kind=R8P)inoptional
max_sweepsinteger(kind=I4P)inoptional
sweepsinteger(kind=I4P)outoptional
fallback_cellsinteger(kind=I4P)outoptional
store_closestlogicalinoptional
statusinteger(kind=I4P)outoptional

Call graph

compute_curve ​

fortran
subroutine compute_curve(self, curve, band, is_signed, sign_algorithm, use_device, tol, max_sweeps, sweeps, fallback_cells, store_closest, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)inout
curvetype(curve_object)inouttarget
bandreal(kind=R8P)inoptional
is_signedlogicalinoptional
sign_algorithminteger(kind=I4P)inoptional
use_devicelogicalinoptional
tolreal(kind=R8P)inoptional
max_sweepsinteger(kind=I4P)inoptional
sweepsinteger(kind=I4P)outoptional
fallback_cellsinteger(kind=I4P)outoptional
store_closestlogicalinoptional
statusinteger(kind=I4P)outoptional

Call graph

batch_distances ​

fortran
subroutine batch_distances(surface, points, d, is_signed, sign_algorithm, use_device, status)

Arguments

NameTypeIntentAttributesDescription
surfacetype(surface_stl_object)inouttarget
pointstype(vector_R8P)in
dreal(kind=R8P)out
is_signedlogicalin
sign_algorithminteger(kind=I4P)in
use_devicelogicalin
statusinteger(kind=I4P)out

Call graph

batch_curve ​

fortran
subroutine batch_curve(curve, points, d, is_signed, sign_algorithm, use_device, status)

Arguments

NameTypeIntentAttributesDescription
curvetype(curve_object)inouttarget
pointsreal(kind=R8P)in
dreal(kind=R8P)out
is_signedlogicalin
sign_algorithminteger(kind=I4P)in
use_devicelogicalin
statusinteger(kind=I4P)out

Call graph

batch_query_surface ​

fortran
subroutine batch_query_surface(surface, points, d, cp, id, nrm, is_signed, sign_algorithm, use_device, status)

Arguments

NameTypeIntentAttributesDescription
surfacetype(surface_stl_object)inouttarget
pointstype(vector_R8P)in
dreal(kind=R8P)out
cpreal(kind=R8P)out
idinteger(kind=I4P)out
nrmreal(kind=R8P)out
is_signedlogicalin
sign_algorithminteger(kind=I4P)in
use_devicelogicalin
statusinteger(kind=I4P)out

Call graph

batch_query_curve ​

fortran
subroutine batch_query_curve(curve, points, d, cp, id, nrm, is_signed, sign_algorithm, use_device, status)

Arguments

NameTypeIntentAttributesDescription
curvetype(curve_object)inouttarget
pointsreal(kind=R8P)in
dreal(kind=R8P)out
cpreal(kind=R8P)out
idinteger(kind=I4P)out
nrmreal(kind=R8P)out
is_signedlogicalin
sign_algorithminteger(kind=I4P)in
use_devicelogicalin
statusinteger(kind=I4P)out

Call graph

reset_closest ​

Attributes: pure

fortran
subroutine reset_closest(self, store)

Arguments

NameTypeIntentAttributesDescription
selftype(distance_field_object)inout
storelogicalin

Call graph

keep_closest ​

Attributes: pure

fortran
subroutine keep_closest(self, cell, d, band, cp, id, nrm)

Arguments

NameTypeIntentAttributesDescription
selftype(distance_field_object)inout
cellinteger(kind=I4P)in
dreal(kind=R8P)in
bandreal(kind=R8P)in
cpreal(kind=R8P)in
idinteger(kind=I4P)in
nrmreal(kind=R8P)in

Call graph

index_range ​

Attributes: pure

fortran
subroutine index_range(c, ng, lo, hi, ilo, ihi)

Arguments

NameTypeIntentAttributesDescription
creal(kind=R8P)in
nginteger(kind=I4P)in
loreal(kind=R8P)in
hireal(kind=R8P)in
ilointeger(kind=I4P)out
ihiinteger(kind=I4P)out

Call graph

gradient_diagnostic ​

fortran
subroutine gradient_diagnostic(self, q, flagged, threshold, status)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)in
qreal(kind=R8P)out
flaggedinteger(kind=I4P)out
thresholdreal(kind=R8P)inoptional
statusinteger(kind=I4P)outoptional

Call graph

Functions ​

get_band_width ​

Attributes: pure

Returns: real(kind=R8P)

fortran
function get_band_width(self) result(band)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)in

get_band_cells ​

Attributes: pure

Returns: integer(kind=I4P)

fortran
function get_band_cells(self) result(n)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)in

get_is_2d ​

Attributes: pure

Returns: logical

fortran
function get_is_2d(self) result(yes)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)in

default_band_surface ​

Returns: real(kind=R8P)

fortran
function default_band_surface(self, surface) result(band)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)in
surfacetype(surface_stl_object)in

Call graph

default_band_curve ​

Returns: real(kind=R8P)

fortran
function default_band_curve(self, curve) result(band)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)in
curvetype(curve_object)in

Call graph

godunov ​

Attributes: pure

Returns: real(kind=R8P)

fortran
function godunov(self, i, j, k) result(u)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)in
iinteger(kind=I4P)in
jinteger(kind=I4P)in
kinteger(kind=I4P)in

Call graph

linear ​

Attributes: pure

Returns: integer(kind=I4P)

fortran
function linear(self, i, j, k) result(l)

Arguments

NameTypeIntentAttributesDescription
selfclass(distance_field_object)in
iinteger(kind=I4P)in
jinteger(kind=I4P)in
kinteger(kind=I4P)in

Call graph

solve_quadratic ​

Attributes: pure

Returns: real(kind=R8P)

fortran
function solve_quadratic(a, h) result(u)

Arguments

NameTypeIntentAttributesDescription
areal(kind=R8P)in
hreal(kind=R8P)in

Call graph

is_valid_axis ​

Attributes: pure

Returns: logical

fortran
function is_valid_axis(c, ng) result(ok)

Arguments

NameTypeIntentAttributesDescription
creal(kind=R8P)in
nginteger(kind=I4P)in

Call graph

first_at_least ​

Attributes: pure

Returns: integer(kind=I4P)

fortran
function first_at_least(c, v) result(i)

Arguments

NameTypeIntentAttributesDescription
creal(kind=R8P)in
vreal(kind=R8P)in

Call graph

last_at_most ​

Attributes: pure

Returns: integer(kind=I4P)

fortran
function last_at_most(c, v) result(i)

Arguments

NameTypeIntentAttributesDescription
creal(kind=R8P)in
vreal(kind=R8P)in

Call graph

max_spacing ​

Attributes: pure

Returns: real(kind=R8P)

fortran
function max_spacing(c, lo, hi) result(h)

Arguments

NameTypeIntentAttributesDescription
creal(kind=R8P)in
loreal(kind=R8P)in
hireal(kind=R8P)in

Call graph