This module contains sphere definition and routines related to spheres
initialize the dynamic array
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(grw_spherearray_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_spherearray_type) | :: | me |
empty the entries without changing arrays
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(grw_spherearray_type) | :: | me |
destroy the dynamic array
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(grw_spherearray_type), | intent(inout) | :: | me |
insert an element at a given position
adds the value to a given position inside the growing array.
if the requested position is outside the current array bounds, the array will be resized accordingly. if it is inside the current array bounds, the element at the requested position will be replaced.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(grw_spherearray_type) | :: | me | ||||
| type(tem_sphere_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.
if the requested position is outside the current array bounds, the array
will be resized accordingly. if it is inside the current array bounds, the
elements starting from the requested position will be replaced up to
the element at position pos + size(val) - 1.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(grw_spherearray_type) | :: | me | ||||
| type(tem_sphere_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_spherearray_type) | :: | me | ||||
| type(tem_sphere_type), | intent(in) | :: | val | |||
| integer, | intent(in), | optional | :: | length |
optional length to expand the array |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(grw_spherearray_type) | :: | me | ||||
| type(tem_sphere_type), | intent(in) | :: | val(:) | |||
| integer, | intent(in), | optional | :: | length |
optional length to expand the array |
interface to write out spheres in lua format to a file
Write out a sphere shape in lua format
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(tem_sphere_type), | intent(in) | :: | me |
sphere 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 spheres in lua format
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(tem_sphere_type), | intent(in) | :: | me(:) |
sphere 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_spherearray_type) | :: | me | ||||
| integer, | intent(in), | optional | :: | pos | ||
| integer, | intent(in), | optional | :: | length |
optional length to expand the array |
interface to load spheres
interface to load spheres
This routine single sphere from object table
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(tem_sphere_type), | intent(out) | :: | me |
single sphere |
||
| type(tem_transformation_type), | intent(in) | :: | transform |
transformation for spatial object |
||
| type(flu_State) | :: | conf |
lua state |
|||
| integer, | intent(in) | :: | thandle |
type contains sphere information
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=rk), | public | :: | origin(3) | ||||
| real(kind=rk), | public | :: | radius | ||||
| logical, | public | :: | 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_sphere_type)
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | nvals | = | 0 | ||
| integer, | public | :: | containersize | = | 0 | ||
| type(tem_sphere_type), | public, | allocatable | :: | val(:) |
This function checks intesection of solid cube and sphere
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(tem_sphere_type), | intent(in) | :: | sphere | |||
| type(tem_cube_type), | intent(in) | :: | cube |
This function checks intesection of solid cube and hollow sphere
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(tem_sphere_type), | intent(in) | :: | sphere | |||
| type(tem_cube_type), | intent(in) | :: | cube |
This function checks intesection of solid cube and solid sphere
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(tem_sphere_type), | intent(in) | :: | sphere | |||
| type(tem_cube_type), | intent(in) | :: | cube |
Load sphere information from config file.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(tem_sphere_type), | intent(out), | allocatable | :: | me(:) |
Array of spheres |
|
| type(tem_transformation_type), | intent(in) | :: | transform |
transformation for spatial object |
||
| type(flu_State) | :: | conf |
lua state |
|||
| integer, | intent(in) | :: | thandle |
This routine single sphere from object table
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(tem_sphere_type), | intent(out) | :: | me |
single sphere |
||
| 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 spheres in lua format
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(tem_sphere_type), | intent(in) | :: | me(:) |
sphere 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 sphere shape in lua format
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(tem_sphere_type), | intent(in) | :: | me |
sphere 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_spherearray_type), | intent(out) | :: | me | |||
| integer, | intent(in), | optional | :: | length |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(grw_spherearray_type), | intent(inout) | :: | me |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(grw_spherearray_type) | :: | me |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(grw_spherearray_type) | :: | me |
adds the value to a given position inside the growing array.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(grw_spherearray_type) | :: | me | ||||
| type(tem_sphere_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_spherearray_type) | :: | me | ||||
| type(tem_sphere_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_spherearray_type) | :: | me | ||||
| type(tem_sphere_type), | intent(in) | :: | val | |||
| integer, | intent(in), | optional | :: | length |
optional length to expand the array |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(grw_spherearray_type) | :: | me | ||||
| type(tem_sphere_type), | intent(in) | :: | val(:) | |||
| integer, | intent(in), | optional | :: | length |
optional length to expand the array |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(grw_spherearray_type) | :: | me | ||||
| integer, | intent(in), | optional | :: | pos | ||
| integer, | intent(in), | optional | :: | length |
optional length to expand the array |