This module contains spacer definition and routines related to spacers
initialize the dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_spacerinterwovenarray_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_spacerinterwovenarray_type) | :: | me |
empty the entries without changing arrays
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_spacerinterwovenarray_type) | :: | me |
destroy the dynamic array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_spacerinterwovenarray_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_spacerinterwovenarray_type) | :: | me | ||||
type(sdr_spacerInterwoven_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_spacerinterwovenarray_type) | :: | me | ||||
type(sdr_spacerInterwoven_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_spacerinterwovenarray_type) | :: | me | ||||
type(sdr_spacerInterwoven_type), | intent(in) | :: | val | |||
integer, | intent(in), | optional | :: | length | optional length to expand the array |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_spacerinterwovenarray_type) | :: | me | ||||
type(sdr_spacerInterwoven_type), | intent(in) | :: | val(:) | |||
integer, | intent(in), | optional | :: | length | optional length to expand the array |
increase the size of the container for the array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_spacerinterwovenarray_type) | :: | me | ||||
integer, | intent(in), | optional | :: | pos | ||
integer, | intent(in), | optional | :: | length | optional length to expand the array |
This type provides information to create spacer geometry
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(spacer_filament_type), | private | :: | length | ||||
type(spacer_filament_type), | private | :: | width | ||||
real(kind=rk), | private | :: | h_normal(3) | direction of height computed by cross product of length and width normal |
|||
logical, | private | :: | interwoven |
growing array type for type(sdr_spacerinterwoven_type)
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | private | :: | nvals | = | 0 | ||
integer, | private | :: | containersize | = | 0 | ||
type(sdr_spacerInterwoven_type), | private, | allocatable | :: | val(:) |
This type provides spacer length and width information
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(tem_cylinder_type), | private | :: | cylinder | cylinder typ |
|||
real(kind=rk), | private | :: | filament_gap | spacer filament gab/distance between two parallel filament in length or width |
|||
integer, | private | :: | nrFilament | number of filaments in length or width. Calculated by cylinder length/filament gab |
|||
real(kind=rk), | private | :: | unitNormal(3) | unitNormal of the cylinder vector. needed for spacer filament offset direction. |
This type provides information to create each interwoven spacer filament
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(tem_cylinder_type), | private | :: | cylinder | cylinder contains origin and vector defining magnitude and direction of the filament |
|||
real(kind=rk), | private | :: | nrPeriod | number of sin period in length or width |
|||
real(kind=rk), | private | :: | h_normal(3) | direction of height computed by cross product of length and width normal |
|||
integer, | private | :: | shiftSin |
This function checks intesection of solid cube and spacer interwoven
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(sdr_spacerInterwoven_type), | intent(in) | :: | spacerInterwoven | spacer geometry data |
||
type(tem_cube_type), | intent(in) | :: | cube |
\brief Loading spacer information from config file \n
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_spacerinterwovenarray_type), | intent(inout) | :: | sprInterwovenArray | growing array of spacers |
||
type(grw_cylinderarray_type), | intent(inout) | :: | cylArray | growing array of cylinders |
||
type(grw_spatialobjarray_type), | intent(inout) | :: | spaObjArray | growing array of geometrical objects. |
||
integer, | intent(in) | :: | attr_pos | Position of the attribute to connect this object to. |
||
type(tem_transformation_type), | intent(in) | :: | transform | transformation for spatial object |
||
type(flu_state) | :: | conf | lua state |
|||
integer, | intent(in) | :: | thandle |
This routine single spacer from object table
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_spacerinterwovenarray_type), | intent(inout) | :: | sprInterwovenArray | growing array of spacers |
||
type(grw_cylinderarray_type), | intent(inout) | :: | cylArray | growing array of cylinders |
||
type(grw_spatialobjarray_type), | intent(inout) | :: | spaObjArray | growing array of geometrical objects. |
||
integer, | intent(in) | :: | attr_pos | Position of the attribute to connect this object to. |
||
type(tem_transformation_type), | intent(in) | :: | transform | transformation for spatial object |
||
type(flu_state) | :: | conf | lua state |
|||
integer, | intent(in) | :: | thandle |
This routine load the spacer filament type information for both length and width
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(spacer_filament_type), | intent(out) | :: | me | |||
type(flu_state) | :: | conf | ||||
integer, | intent(in) | :: | thandle | |||
type(tem_transformation_type), | intent(in) | :: | transform | transformation for spatial object |
||
character(len=*) | :: | key |
This routine converts sdr_spacer_type to spacerInterwoven_type for as each filament and add it to the growing array of spacerInterwoven_type
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_cylinderarray_type), | intent(inout) | :: | cylArray | growing array of cylinders |
||
type(grw_spatialobjarray_type), | intent(inout) | :: | spaObjArray | growing array of geometrical objects. |
||
integer, | intent(in) | :: | attr_pos | Position of the attribute to connect this object to. |
||
type(spacer_filament_type), | intent(in) | :: | filament_cur | |||
type(spacer_filament_type), | intent(in) | :: | filament_adj |
This routine converts sdr_spacer_type to spacerInterwoven_type for as each filament and add it to the growing array of spacerInterwoven_type
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_spacerinterwovenarray_type), | intent(inout) | :: | sprInterwovenArray | growing array of spacers |
||
type(grw_spatialobjarray_type), | intent(inout) | :: | spaObjArray | growing array of geometrical objects. |
||
integer, | intent(in) | :: | attr_pos | Position of the attribute to connect this object to. |
||
type(spacer_filament_type), | intent(in) | :: | filament_cur | |||
type(spacer_filament_type), | intent(in) | :: | filament_adj | |||
integer, | intent(in) | :: | shiftSin | |||
real(kind=rk), | intent(in) | :: | h_normal(3) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_spacerinterwovenarray_type), | intent(out) | :: | me | |||
integer, | intent(in), | optional | :: | length |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_spacerinterwovenarray_type), | intent(inout) | :: | me |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_spacerinterwovenarray_type) | :: | me |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_spacerinterwovenarray_type) | :: | me |
adds the value to a given position inside the growing array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_spacerinterwovenarray_type) | :: | me | ||||
type(sdr_spacerInterwoven_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_spacerinterwovenarray_type) | :: | me | ||||
type(sdr_spacerInterwoven_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_spacerinterwovenarray_type) | :: | me | ||||
type(sdr_spacerInterwoven_type), | intent(in) | :: | val | |||
integer, | intent(in), | optional | :: | length | optional length to expand the array |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_spacerinterwovenarray_type) | :: | me | ||||
type(sdr_spacerInterwoven_type), | intent(in) | :: | val(:) | |||
integer, | intent(in), | optional | :: | length | optional length to expand the array |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(grw_spacerinterwovenarray_type) | :: | me | ||||
integer, | intent(in), | optional | :: | pos | ||
integer, | intent(in), | optional | :: | length | optional length to expand the array |