sdr_subresolution_module Module

This module describes settings that are required for the resolution of boundaries on a subelement level.

These boundaries are represented by polynomials, and a nodal sampling in elements intersected by the boundary needs to be done accordingly.

For subresolution to work, there needs to be a subresolution table defined, indicating at least the polynomial degree to use for polynomial representations. Only boundaries with a color (not the 'none' color), can be subresolved. For each color a separate file will be generated to contain the polynomial information on all the subresolved elements of this color. Note, that polynomial settings are global, all boundaries will be resolved with the same polynomial definition.

Nodal values are obtained, by refining elements further down and probing integration points for their in or out status. This detaches the actual polynomial somewhat from the mesh resolution, and the number of levels to resolve beyond the target element can be stated independently of the polynomial degree. However, the subresolution levels should be set sufficiently high to provide a good resolution for the integration points.


Uses

  • module~~sdr_subresolution_module~~UsesGraph module~sdr_subresolution_module sdr_subresolution_module module~ply_dynarray_project_module ply_dynarray_project_module module~sdr_subresolution_module->module~ply_dynarray_project_module module~sdr_subres_fills_module sdr_subres_fills_module module~sdr_subresolution_module->module~sdr_subres_fills_module module~tem_logging_module tem_logging_module module~sdr_subresolution_module->module~tem_logging_module module~tem_dyn_array_module tem_dyn_array_module module~sdr_subresolution_module->module~tem_dyn_array_module module~ply_dof_module ply_dof_module module~sdr_subresolution_module->module~ply_dof_module module~tem_tools_module tem_tools_module module~sdr_subresolution_module->module~tem_tools_module module~ply_prj_header_module ply_prj_header_module module~sdr_subresolution_module->module~ply_prj_header_module module~aotus_module aotus_module module~sdr_subresolution_module->module~aotus_module module~flu_binding flu_binding module~sdr_subresolution_module->module~flu_binding module~tem_aux_module tem_aux_module module~sdr_subresolution_module->module~tem_aux_module module~aot_table_module aot_table_module module~sdr_subresolution_module->module~aot_table_module module~env_module env_module module~sdr_subresolution_module->module~env_module module~ply_dynarray_project_module->module~tem_logging_module module~ply_dynarray_project_module->module~ply_prj_header_module module~ply_dynarray_project_module->module~aotus_module module~ply_dynarray_project_module->module~env_module module~sdr_subres_fills_module->module~tem_logging_module module~sdr_subres_fills_module->module~tem_dyn_array_module module~sdr_subres_fills_module->module~tem_tools_module module~sdr_subres_fills_module->module~aotus_module module~sdr_subres_fills_module->module~flu_binding module~sdr_subres_fills_module->module~tem_aux_module module~sdr_subres_fills_module->module~aot_table_module module~sdr_subres_fills_module->module~env_module module~tem_grow_array_module tem_grow_array_module module~sdr_subres_fills_module->module~tem_grow_array_module module~ply_dof_module->module~env_module module~ply_prj_header_module->module~tem_logging_module module~ply_prj_header_module->module~tem_tools_module module~ply_prj_header_module->module~aotus_module module~ply_prj_header_module->module~tem_aux_module module~ply_prj_header_module->module~env_module fftw_wrap fftw_wrap module~ply_prj_header_module->fftw_wrap module~aot_out_module aot_out_module module~ply_prj_header_module->module~aot_out_module module~ply_fpt_header_module ply_fpt_header_module module~ply_prj_header_module->module~ply_fpt_header_module module~ply_fxt_header_module ply_fxt_header_module module~ply_prj_header_module->module~ply_fxt_header_module module~ply_l2p_header_module ply_l2p_header_module module~ply_prj_header_module->module~ply_l2p_header_module module~ply_fpt_header_module->module~tem_logging_module module~ply_fpt_header_module->module~tem_tools_module module~ply_fpt_header_module->module~aotus_module module~ply_fpt_header_module->module~tem_aux_module module~ply_fpt_header_module->module~env_module module~ply_fpt_header_module->module~aot_out_module module~tem_float_module tem_float_module module~ply_fpt_header_module->module~tem_float_module module~ply_nodes_header_module ply_nodes_header_module module~ply_fpt_header_module->module~ply_nodes_header_module module~tem_compileconf_module tem_compileconf_module module~ply_fpt_header_module->module~tem_compileconf_module module~ply_fxt_header_module->module~tem_logging_module module~ply_fxt_header_module->module~aotus_module module~ply_fxt_header_module->module~tem_aux_module module~ply_fxt_header_module->module~env_module module~ply_fxt_header_module->module~aot_out_module module~ply_fxt_header_module->module~tem_float_module module~ply_fxt_header_module->module~ply_nodes_header_module module~ply_l2p_header_module->module~tem_logging_module module~ply_l2p_header_module->module~tem_tools_module module~ply_l2p_header_module->module~aotus_module module~ply_l2p_header_module->module~tem_aux_module module~ply_l2p_header_module->module~env_module module~ply_l2p_header_module->module~aot_out_module module~ply_l2p_header_module->module~tem_float_module module~ply_l2p_header_module->module~ply_nodes_header_module module~ply_nodes_header_module->module~env_module

Used by

  • module~~sdr_subresolution_module~~UsedByGraph module~sdr_subresolution_module sdr_subresolution_module module~sdr_config_module sdr_config_module module~sdr_config_module->module~sdr_subresolution_module module~sdr_prototree_module sdr_protoTree_module module~sdr_prototree_module->module~sdr_config_module module~sdr_refinept_module sdr_refinePT_module module~sdr_refinept_module->module~sdr_config_module module~sdr_refinept_module->module~sdr_prototree_module program~seeder seeder program~seeder->module~sdr_config_module program~seeder->module~sdr_prototree_module program~seeder->module~sdr_refinept_module module~sdr_proto2treelm_module sdr_proto2treelm_module program~seeder->module~sdr_proto2treelm_module module~sdr_flooding_module sdr_flooding_module program~seeder->module~sdr_flooding_module module~sdr_proto2treelm_module->module~sdr_config_module module~sdr_proto2treelm_module->module~sdr_prototree_module module~sdr_boundary_module sdr_boundary_module module~sdr_proto2treelm_module->module~sdr_boundary_module module~sdr_flooding_module->module~sdr_config_module module~sdr_flooding_module->module~sdr_prototree_module module~sdr_flooding_module->module~sdr_boundary_module module~sdr_boundary_module->module~sdr_prototree_module

Contents


Derived Types

type, public :: sdr_subresolution_type

Settings for the resolution below mesh elements.

Components

TypeVisibilityAttributesNameInitial
integer, public :: polydegree

Degree for the polynomials to use in the subelement resolution.

character, public :: polyspace

Identification of the polynomial space to use.

type(ply_prj_init_type), public :: projection

Definition of conversions between modal and nodal values.

type(ply_prj_header_type), public :: project_header

Header definition of the projection header.

Read more…
integer, public :: nLevels

Number of levels to use for the resolution of boundaries within elements.

Read more…
type(dyn_labelarray_type), public :: default_colors

Dynamic array to store the color names, for which the default boundary resolution should reach subelements.

Read more…
type(sdr_subres_fills_type), public :: color_values

Definition of the values to use for color filling and color voids.

integer, public, allocatable:: value_pos(:)

Position of value definitions for each color in the mesh.


Subroutines

public subroutine sdr_subresolution_load(subres, conf, parent)

Loading the settings for the subresolution in the mesh.

Arguments

TypeIntentOptionalAttributesName
type(sdr_subresolution_type), intent(out) :: subres

The subresolution data structure to fill.

type(flu_State) :: conf

Handle to the Lua configuration script.

integer, intent(in), optional :: parent

Handle to a possible parent table.

public subroutine subres_load_color_defaults(label, conf, parent)

Internal subroutine to load the list of colors, which by default should apply subelement resolution to its boundaries.

Read more…

Arguments

TypeIntentOptionalAttributesName
type(dyn_labelarray_type), intent(out) :: label

Labels of the colors, for which a default setting is given.

type(flu_State) :: conf

Handle for the Lua script.

integer, intent(in) :: parent

Parent table, within which to open the color_default table.

public subroutine sdr_subresolution_encolor(me, colors)

Find the value definitions for all unique colors.

Arguments

TypeIntentOptionalAttributesName
type(sdr_subresolution_type), intent(inout) :: me
type(dyn_labelarray_type), intent(in) :: colors