This module contains ellipsoid definition and routines related to ellipsoids
initialize the dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_ellipsoidarray_type), | intent(out) | :: | me | |||
integer, | intent(in), | optional | :: | length |
truncate the array, meaning cut off the trailing empty entries
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_ellipsoidarray_type) | :: | me |
empty the entries without changing arrays
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_ellipsoidarray_type) | :: | me |
destroy the dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_ellipsoidarray_type), | intent(inout) | :: | me |
insert an element at a given position
adds the value to a given position inside the growing array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_ellipsoidarray_type) | :: | me | ||||
type(tem_ellipsoid_type), | intent(in) | :: | val | |||
integer, | intent(in) | :: | pos | |||
integer, | intent(in), | optional | :: | length | optional length to expand the array |
adds the values starting from a given position inside the growing array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_ellipsoidarray_type) | :: | me | ||||
type(tem_ellipsoid_type), | intent(in) | :: | val(:) | |||
integer, | intent(in) | :: | pos | |||
integer, | intent(in), | optional | :: | length | optional length to expand the array |
append a value to the dynamic array and return its position.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_ellipsoidarray_type) | :: | me | ||||
type(tem_ellipsoid_type), | intent(in) | :: | val | |||
integer, | intent(in), | optional | :: | length | optional length to expand the array |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_ellipsoidarray_type) | :: | me | ||||
type(tem_ellipsoid_type), | intent(in) | :: | val(:) | |||
integer, | intent(in), | optional | :: | length | optional length to expand the array |
interface to write out ellipsoids in lua format to a file
Write out a ellipsoid shape in lua format
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_ellipsoid_type), | intent(in) | :: | me | ellipsoid types to write out |
||
type(aot_out_type), | intent(inout) | :: | conf | Aotus type handling the output to the file in lua format |
Write out an array of ellipsoids in lua format
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_ellipsoid_type), | intent(in) | :: | me(:) | ellipsoid types to write out |
||
type(aot_out_type), | intent(inout) | :: | conf | Aotus type handling the output to the file in lua format |
increase the size of the container for the array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_ellipsoidarray_type) | :: | me | ||||
integer, | intent(in), | optional | :: | pos | ||
integer, | intent(in), | optional | :: | length | optional length to expand the array |
interface to load ellipsoids
interface to load ellipsoids
This routine single ellipsoid from object table
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_ellipsoid_type), | intent(out) | :: | me | single ellipsoid |
||
type(tem_transformation_type), | intent(in) | :: | transform | transformation for spatial object |
||
type(flu_state) | :: | conf | lua state |
|||
integer, | intent(in) | :: | thandle |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rk), | private | :: | origin(3) | origin of the ellipsoid |
|||
real(kind=rk), | private | :: | radius(3) | radius of the ellipsoid |
|||
logical, | private | :: | only_surface | To choose what to do with intersection of this object if only_surface = true than the only the surface of the object is intersected if only_surface = false then the whole object is intersected default is set to false |
growing array type for type(tem_ellipsoid_type)
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | nvals | = | 0 | ||
integer, | private | :: | containersize | = | 0 | ||
type(tem_ellipsoid_type), | private, | allocatable | :: | val(:) |
This function checks intesection of solid cube and ellipsoid
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_ellipsoid_type), | intent(in) | :: | ellipsoid | |||
type(tem_cube_type), | intent(in) | :: | cube |
This function checks intesection of solid cube and hollow ellipsoid
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_ellipsoid_type), | intent(in) | :: | me | ellipsoid type |
||
type(tem_cube_type), | intent(in) | :: | cube | cube type |
This function checks intesection of solid cube and solid ellipsoid
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_ellipsoid_type), | intent(in) | :: | me | ellipsoid object |
||
type(tem_cube_type), | intent(in) | :: | cube | cube object |
Load ellipsoid information from config file.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_ellipsoid_type), | intent(out), | allocatable | :: | me(:) | array of ellipsoids |
|
type(tem_transformation_type), | intent(in) | :: | transform | transformation for spatial object |
||
type(flu_state) | :: | conf | lua state |
|||
integer, | intent(in) | :: | thandle |
This routine single ellipsoid from object table
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_ellipsoid_type), | intent(out) | :: | me | single ellipsoid |
||
type(tem_transformation_type), | intent(in) | :: | transform | transformation for spatial object |
||
type(flu_state) | :: | conf | lua state |
|||
integer, | intent(in) | :: | thandle |
Write out an array of ellipsoids in lua format
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_ellipsoid_type), | intent(in) | :: | me(:) | ellipsoid types to write out |
||
type(aot_out_type), | intent(inout) | :: | conf | Aotus type handling the output to the file in lua format |
Write out a ellipsoid shape in lua format
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_ellipsoid_type), | intent(in) | :: | me | ellipsoid types to write out |
||
type(aot_out_type), | intent(inout) | :: | conf | Aotus type handling the output to the file in lua format |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_ellipsoidarray_type), | intent(out) | :: | me | |||
integer, | intent(in), | optional | :: | length |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_ellipsoidarray_type), | intent(inout) | :: | me |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_ellipsoidarray_type) | :: | me |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_ellipsoidarray_type) | :: | me |
adds the value to a given position inside the growing array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_ellipsoidarray_type) | :: | me | ||||
type(tem_ellipsoid_type), | intent(in) | :: | val | |||
integer, | intent(in) | :: | pos | |||
integer, | intent(in), | optional | :: | length | optional length to expand the array |
adds the values starting from a given position inside the growing array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_ellipsoidarray_type) | :: | me | ||||
type(tem_ellipsoid_type), | intent(in) | :: | val(:) | |||
integer, | intent(in) | :: | pos | |||
integer, | intent(in), | optional | :: | length | optional length to expand the array |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_ellipsoidarray_type) | :: | me | ||||
type(tem_ellipsoid_type), | intent(in) | :: | val | |||
integer, | intent(in), | optional | :: | length | optional length to expand the array |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_ellipsoidarray_type) | :: | me | ||||
type(tem_ellipsoid_type), | intent(in) | :: | val(:) | |||
integer, | intent(in), | optional | :: | length | optional length to expand the array |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_ellipsoidarray_type) | :: | me | ||||
integer, | intent(in), | optional | :: | pos | ||
integer, | intent(in), | optional | :: | length | optional length to expand the array |