tem_refining_module Module

Module that allows the refinement of a given tree to create a mesh with a different resolution.

IMPORTANT NOTE: This is a module, that does not employ mesh adaptivity strategies, instead, complete meshes are created anew! Smarter, more efficient mesh adaptivity procedures are being implemented, and should replace the functionality of this module eventually.


Uses

  • module~~tem_refining_module~~UsesGraph module~tem_refining_module tem_refining_module module~tem_property_module tem_property_module module~tem_refining_module->module~tem_property_module module~tem_geometry_module tem_geometry_module module~tem_refining_module->module~tem_geometry_module module~tem_bc_prop_module tem_bc_prop_module module~tem_refining_module->module~tem_bc_prop_module module~treelmesh_module treelmesh_module module~tem_refining_module->module~treelmesh_module module~env_module env_module module~tem_refining_module->module~env_module module~tem_subtree_type_module tem_subTree_type_module module~tem_refining_module->module~tem_subtree_type_module module~tem_grow_array_module tem_grow_array_module module~tem_refining_module->module~tem_grow_array_module mpi mpi module~tem_refining_module->mpi module~tem_property_module->module~env_module module~tem_property_module->mpi module~tem_prophead_module tem_prophead_module module~tem_property_module->module~tem_prophead_module module~tem_geometry_module->module~tem_property_module module~tem_geometry_module->module~treelmesh_module module~tem_geometry_module->module~env_module module~tem_geometry_module->module~tem_subtree_type_module module~tem_geometry_module->mpi module~tem_float_module tem_float_module module~tem_geometry_module->module~tem_float_module module~tem_topology_module tem_topology_module module~tem_geometry_module->module~tem_topology_module module~tem_logging_module tem_logging_module module~tem_geometry_module->module~tem_logging_module module~tem_tools_module tem_tools_module module~tem_geometry_module->module~tem_tools_module module~tem_debug_module tem_debug_module module~tem_geometry_module->module~tem_debug_module module~tem_param_module tem_param_module module~tem_geometry_module->module~tem_param_module module~tem_bc_prop_module->module~tem_property_module module~tem_bc_prop_module->module~treelmesh_module module~tem_bc_prop_module->module~env_module module~tem_bc_prop_module->mpi module~tem_bc_prop_module->module~tem_topology_module module~tem_aux_module tem_aux_module module~tem_bc_prop_module->module~tem_aux_module module~tem_bc_prop_module->module~tem_logging_module module~aot_table_module aot_table_module module~tem_bc_prop_module->module~aot_table_module module~aotus_module aotus_module module~tem_bc_prop_module->module~aotus_module module~tem_bc_prop_module->module~tem_debug_module module~tem_bc_prop_module->module~tem_prophead_module module~tem_bc_prop_module->module~tem_param_module module~aot_out_module aot_out_module module~tem_bc_prop_module->module~aot_out_module module~treelmesh_module->module~tem_property_module module~treelmesh_module->module~env_module module~treelmesh_module->mpi module~tem_global_module tem_global_module module~treelmesh_module->module~tem_global_module module~tem_sparta_module tem_Sparta_module module~treelmesh_module->module~tem_sparta_module module~treelmesh_module->module~tem_topology_module module~treelmesh_module->module~tem_aux_module module~treelmesh_module->module~tem_logging_module module~treelmesh_module->module~aot_table_module module~treelmesh_module->module~tem_tools_module module~treelmesh_module->module~aotus_module module~env_module->mpi module~flu_binding flu_binding module~env_module->module~flu_binding iso_fortran_env iso_fortran_env module~env_module->iso_fortran_env module~env_module->module~aotus_module module~tem_subtree_type_module->module~tem_property_module module~tem_subtree_type_module->module~treelmesh_module module~tem_subtree_type_module->module~env_module module~tem_subtree_type_module->mpi module~tem_subtree_type_module->module~tem_global_module module~tem_subtree_type_module->module~tem_aux_module module~tem_subtree_type_module->module~tem_logging_module module~tem_grow_array_module->module~env_module module~tem_global_module->module~env_module module~tem_global_module->mpi module~tem_global_module->module~tem_aux_module module~tem_global_module->module~tem_logging_module module~tem_global_module->module~aot_table_module module~tem_global_module->module~aotus_module module~tem_global_module->module~tem_prophead_module module~tem_global_module->module~aot_out_module module~tem_sparta_module->module~env_module module~tem_sparta_module->mpi module~tem_sparta_module->module~tem_float_module module~tem_sparta_module->module~tem_aux_module module~tem_sparta_module->module~tem_logging_module module~tem_float_module->module~env_module module~tem_topology_module->module~env_module module~tem_aux_module->module~env_module module~tem_aux_module->mpi module~tem_aux_module->module~tem_logging_module module~tem_aux_module->module~flu_binding module~tem_aux_module->module~aot_table_module module~tem_aux_module->module~tem_tools_module module~tem_aux_module->module~aotus_module module~tem_comm_env_module tem_comm_env_module module~tem_aux_module->module~tem_comm_env_module module~tem_lua_requires_module tem_lua_requires_module module~tem_aux_module->module~tem_lua_requires_module module~tem_revision_module tem_revision_module module~tem_aux_module->module~tem_revision_module module~tem_logging_module->module~env_module module~tem_logging_module->module~aot_table_module module~tem_logging_module->module~aotus_module module~tem_tools_module->module~env_module module~tem_debug_module->module~env_module module~tem_debug_module->module~tem_logging_module module~tem_debug_module->module~flu_binding module~tem_debug_module->module~aot_table_module module~tem_debug_module->module~tem_tools_module module~tem_prophead_module->module~env_module module~tem_prophead_module->mpi module~tem_prophead_module->module~aot_table_module module~tem_prophead_module->module~aotus_module module~tem_prophead_module->module~aot_out_module module~tem_param_module->module~env_module module~tem_comm_env_module->mpi module~tem_lua_requires_module->module~env_module module~tem_lua_requires_module->module~flu_binding module~tem_lua_requires_module->module~aot_table_module module~tem_lua_requires_module->module~aotus_module iso_c_binding iso_c_binding module~tem_lua_requires_module->iso_c_binding

Contents


Subroutines

public subroutine tem_refine_global_subtree(orig_mesh, orig_bcs, subtree, ndims, new_mesh, new_bcs, restrict_to_sub)

Refine all elements defined in subtree by one level in the original mesh, and create a new mesh.

Read more…

Arguments

TypeIntentOptionalAttributesName
type(treelmesh_type), intent(in) :: orig_mesh

The original mesh to be refined.

type(tem_BC_prop_type), intent(in) :: orig_bcs

Boundary conditions for the original mesh.

type(tem_subTree_type), intent(in) :: subtree

(Process local) positions of elements to refine.

integer, intent(in) :: ndims

Number of dimensions for the refinement

The dimensionality can restrict the elements to create.

type(treelmesh_type), intent(out) :: new_mesh

Newly created refined mesh.

type(tem_BC_prop_type), intent(out) :: new_bcs

Boundary conditions for the new mesh.

logical, intent(in), optional :: restrict_to_sub

Flag to indicate, wether only refined elements should be put into the new mesh.