fossil_cut_cells_3d
Source: src/lib/fossil_cut_cells_3d.f90
Dependencies
Contents
- cut_cells_3d_t
- pierce_t
- cut_cells_3d
- cut_pieces_3d
- cell_pieces
- links_3d
- edge_fractions
- line_fractions
- sort_pierce
- sort_points
- clip_flags
- tri_terms
- clip_plane
- section_moments
- volume_moments
- split_closes
- col_index
- edge_index
- corner_of
- edge_of
- lexless
- cross3
- col_of
Derived Types
cut_cells_3d_t
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
nx | integer(kind=I4P) | ||
ny | integer(kind=I4P) | ||
nz | integer(kind=I4P) | ||
face_x | real(kind=R8P) | allocatable | |
face_y | real(kind=R8P) | allocatable | |
face_z | real(kind=R8P) | allocatable | |
face_x_centroid | real(kind=R8P) | allocatable | |
face_y_centroid | real(kind=R8P) | allocatable | |
face_z_centroid | real(kind=R8P) | allocatable | |
face_x_pieces | integer(kind=I4P) | allocatable | |
face_y_pieces | integer(kind=I4P) | allocatable | |
face_z_pieces | integer(kind=I4P) | allocatable | |
face_x_closed | logical | allocatable | |
face_y_closed | logical | allocatable | |
face_z_closed | logical | allocatable | |
alpha | real(kind=R8P) | allocatable | |
centroid | real(kind=R8P) | allocatable | |
wet_area | real(kind=R8P) | allocatable | |
wet_centroid | real(kind=R8P) | allocatable | |
wet_normal | real(kind=R8P) | allocatable | |
closed | logical | allocatable | |
pieces | integer(kind=I4P) | allocatable | |
first_piece | integer(kind=I4P) | allocatable | |
np | integer(kind=I4P) | ||
piece_cell | integer(kind=I4P) | allocatable | |
piece_volume | real(kind=R8P) | allocatable | |
piece_centroid | real(kind=R8P) | allocatable | |
piece_wet_area | real(kind=R8P) | allocatable | |
piece_wet_centroid | real(kind=R8P) | allocatable | |
piece_wet_normal | real(kind=R8P) | allocatable | |
piece_face | real(kind=R8P) | allocatable | |
edge_x | real(kind=R8P) | allocatable | |
edge_y | real(kind=R8P) | allocatable | |
edge_z | real(kind=R8P) | allocatable | |
node_in | logical | allocatable | |
moments_order | integer(kind=I4P) | ||
piece_moments | real(kind=R8P) | allocatable | |
piece_wall_moments | real(kind=R8P) | allocatable | |
piece_face_moments | real(kind=R8P) | allocatable | |
face_x_moments | real(kind=R8P) | allocatable | |
face_y_moments | real(kind=R8P) | allocatable | |
face_z_moments | real(kind=R8P) | allocatable | |
quad_start | integer(kind=I4P) | allocatable | |
quad_point | real(kind=R8P) | allocatable | |
quad_weight | real(kind=R8P) | allocatable | |
quad_status | integer(kind=I4P) | allocatable | |
wall_quad_start | integer(kind=I4P) | allocatable | |
wall_quad_point | real(kind=R8P) | allocatable | |
wall_quad_weight | real(kind=R8P) | allocatable |
pierce_t
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
edge | integer(kind=I4P) | ||
t | real(kind=R8P) | ||
enter | logical | ||
poly | integer(kind=I4P) |
Subroutines
cut_cells_3d
subroutine cut_cells_3d(surface, x, y, z, cut, status, links, edges, moments_order, quadrature)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
surface | type(surface_stl_object) | in | ||
x | real(kind=R8P) | in | ||
y | real(kind=R8P) | in | ||
z | real(kind=R8P) | in | ||
cut | type(cut_cells_3d_t) | out | ||
status | integer(kind=I4P) | out | optional | |
links | type(cut_links_t) | out | optional | |
edges | logical | in | optional | |
moments_order | integer(kind=I4P) | in | optional | |
quadrature | logical | in | optional |
Call graph
cut_pieces_3d
subroutine cut_pieces_3d(surface, x, y, z, cut, mo, qd, piv_piece, piv_edge, piv_lo, piv_hi, px, py, pz)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
surface | type(surface_stl_object) | in | ||
x | real(kind=R8P) | in | ||
y | real(kind=R8P) | in | ||
z | real(kind=R8P) | in | ||
cut | type(cut_cells_3d_t) | inout | ||
mo | integer(kind=I4P) | in | ||
qd | logical | in | ||
piv_piece | integer(kind=I4P) | out | allocatable, optional | |
piv_edge | integer(kind=I4P) | out | allocatable, optional | |
piv_lo | real(kind=R8P) | out | allocatable, optional | |
piv_hi | real(kind=R8P) | out | allocatable, optional | |
px | type(cut_cells_2d_t) | in | optional | |
py | type(cut_cells_2d_t) | in | optional | |
pz | type(cut_cells_2d_t) | in | optional |
Call graph
cell_pieces
subroutine cell_pieces(tri, nrm, lst, c0, c1, cs, npieces, pm, want_iv, ivp_o, ive_o, ivl_o, ivh_o, mo, pvw, pwm, pfm, qd, qpt, qw, qst, wpt, wwt, wst, qwn)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
tri | real(kind=R8P) | in | ||
nrm | real(kind=R8P) | in | ||
lst | integer(kind=I4P) | in | ||
c0 | real(kind=R8P) | in | ||
c1 | real(kind=R8P) | in | ||
cs | integer(kind=I4P) | in | ||
npieces | integer(kind=I4P) | out | ||
pm | real(kind=R8P) | out | allocatable | |
want_iv | logical | in | ||
ivp_o | integer(kind=I4P) | out | allocatable | |
ive_o | integer(kind=I4P) | out | allocatable | |
ivl_o | real(kind=R8P) | out | allocatable | |
ivh_o | real(kind=R8P) | out | allocatable | |
mo | integer(kind=I4P) | in | ||
pvw | real(kind=R8P) | out | allocatable | |
pwm | real(kind=R8P) | out | allocatable | |
pfm | real(kind=R8P) | out | allocatable | |
qd | logical | in | ||
qpt | real(kind=R8P) | out | allocatable | |
qw | real(kind=R8P) | out | allocatable | |
qst | integer(kind=I4P) | out | allocatable | |
wpt | real(kind=R8P) | out | allocatable | |
wwt | real(kind=R8P) | out | allocatable | |
wst | integer(kind=I4P) | out | allocatable | |
qwn | integer(kind=I4P) | out | allocatable |
Call graph
links_3d
subroutine links_3d(cut, x, y, z, px, py, pz, piv_piece, piv_edge, piv_lo, piv_hi, links)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
cut | type(cut_cells_3d_t) | in | ||
x | real(kind=R8P) | in | ||
y | real(kind=R8P) | in | ||
z | real(kind=R8P) | in | ||
px | type(cut_cells_2d_t) | in | ||
py | type(cut_cells_2d_t) | in | ||
pz | type(cut_cells_2d_t) | in | ||
piv_piece | integer(kind=I4P) | in | ||
piv_edge | integer(kind=I4P) | in | ||
piv_lo | real(kind=R8P) | in | ||
piv_hi | real(kind=R8P) | in | ||
links | type(cut_links_t) | out |
Call graph
edge_fractions
subroutine edge_fractions(surface, x, y, z, cut, all_edges)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
surface | type(surface_stl_object) | in | ||
x | real(kind=R8P) | in | ||
y | real(kind=R8P) | in | ||
z | real(kind=R8P) | in | ||
cut | type(cut_cells_3d_t) | inout | ||
all_edges | logical | in |
Call graph
line_fractions
subroutine line_fractions(surface, axis, a, b, e, frac, inside)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
surface | type(surface_stl_object) | in | ||
axis | integer(kind=I4P) | in | ||
a | real(kind=R8P) | in | ||
b | real(kind=R8P) | in | ||
e | real(kind=R8P) | in | ||
frac | real(kind=R8P) | out | allocatable | |
inside | logical | out | allocatable |
Call graph
sort_pierce
Attributes: pure
subroutine sort_pierce(pc, n)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
pc | type(pierce_t) | inout | ||
n | integer(kind=I4P) | in |
Call graph
sort_points
subroutine sort_points(key, idx)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
key | real(kind=R8P) | in | ||
idx | integer(kind=I4P) | out |
Call graph
clip_flags
Attributes: pure
subroutine clip_flags(p, fl, n, ax, level, keep_above, bit)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
p | real(kind=R8P) | inout | ||
fl | integer(kind=I4P) | inout | ||
n | integer(kind=I4P) | inout | ||
ax | integer(kind=I4P) | in | ||
level | real(kind=R8P) | in | ||
keep_above | logical | in | ||
bit | integer(kind=I4P) | in |
Call graph
tri_terms
Attributes: pure
subroutine tri_terms(p1, p2, p3, a)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
p1 | real(kind=R8P) | in | ||
p2 | real(kind=R8P) | in | ||
p3 | real(kind=R8P) | in | ||
a | real(kind=R8P) | inout |
Call graph
clip_plane
Attributes: pure
subroutine clip_plane(p, n, ax, level, keep_above)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
p | real(kind=R8P) | inout | ||
n | integer(kind=I4P) | inout | ||
ax | integer | in | ||
level | real(kind=R8P) | in | ||
keep_above | logical | in |
Call graph
Functions
section_moments
Returns: real(kind=R8P)
function section_moments(c2, iu, iv, nm2) result(m)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
c2 | type(cut_cells_2d_t) | in | ||
iu | integer(kind=I4P) | in | ||
iv | integer(kind=I4P) | in | ||
nm2 | integer(kind=I4P) | in |
Call graph
volume_moments
Attributes: pure
Returns: real(kind=R8P)
function volume_moments(wv, fm, fp, hx, e2, e3) result(m)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
wv | real(kind=R8P) | in | ||
fm | real(kind=R8P) | in | ||
fp | real(kind=R8P) | in | ||
hx | real(kind=R8P) | in | ||
e2 | integer(kind=I4P) | in | ||
e3 | integer(kind=I4P) | in |
Call graph
split_closes
Attributes: pure
Returns: logical
function split_closes(pm, h, alpha, faces) result(ok)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
pm | real(kind=R8P) | in | ||
h | real(kind=R8P) | in | ||
alpha | real(kind=R8P) | in | ||
faces | real(kind=R8P) | in |
Call graph
col_index
Attributes: pure
Returns: integer(kind=i4p)
function col_index(w, e) result(k)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
w | real(kind=R8P) | in | ||
e | real(kind=R8P) | in |
Call graph
edge_index
Attributes: pure
Returns: integer(kind=i4p)
function edge_index(k, sides)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
k | integer(kind=I4P) | in | ||
sides | integer(kind=I4P) | in |
Call graph
corner_of
Attributes: pure
Returns: integer(kind=i4p)
function corner_of(e, side)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
e | integer(kind=I4P) | in | ||
side | integer(kind=I4P) | in |
edge_of
Attributes: pure
Returns: integer(kind=i4p)
function edge_of(fl)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
fl | integer(kind=I4P) | in |
Call graph
lexless
Attributes: pure
Returns: logical
function lexless(a, b)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | real(kind=R8P) | in | ||
b | real(kind=R8P) | in |
Call graph
cross3
Attributes: pure
Returns: real(kind=R8P)
function cross3(a, b) result(c)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | real(kind=R8P) | in | ||
b | real(kind=R8P) | in |
Call graph
col_of
Attributes: pure
Returns: integer(kind=i4p)
function col_of(w, e)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
w | real(kind=R8P) | in | ||
e | real(kind=R8P) | in |
Call graph