tools_mesh_optimize Module


Uses

  • module~~tools_mesh_optimize~~UsesGraph module~tools_mesh_optimize tools_mesh_optimize module~class_bc class_bc module~tools_mesh_optimize->module~class_bc module~class_connectivity class_connectivity module~tools_mesh_optimize->module~class_connectivity module~class_iterating class_iterating module~tools_mesh_optimize->module~class_iterating module~class_vertex class_vertex module~tools_mesh_optimize->module~class_vertex module~class_mesh class_mesh module~tools_mesh_optimize->module~class_mesh module~class_motion class_motion module~class_bc->module~class_motion module~class_bc_math class_bc_math module~class_bc->module~class_bc_math module~class_psblas class_psblas module~class_bc->module~class_psblas module~class_bc_wall class_bc_wall module~class_bc->module~class_bc_wall module~class_connectivity->module~class_psblas module~class_iterating->module~class_psblas module~class_vector class_vector module~class_vertex->module~class_vector module~class_vertex->module~class_psblas module~class_mesh->module~class_connectivity module~class_mesh->module~class_vertex module~class_cell class_cell module~class_mesh->module~class_cell module~class_keytable class_keytable module~class_mesh->module~class_keytable module~class_mesh->module~class_vector module~class_surface class_surface module~class_mesh->module~class_surface module~class_least_squares class_least_squares module~class_mesh->module~class_least_squares module~class_mesh->module~class_psblas psb_base_mod psb_base_mod module~class_mesh->psb_base_mod module~grid_interface grid_interface module~class_mesh->module~grid_interface module~class_face class_face module~class_mesh->module~class_face module~class_motion->module~class_vector module~class_motion->module~class_psblas module~class_cell->module~class_psblas module~class_bc_math->module~class_psblas module~class_vector->module~class_psblas module~class_surface->module~class_connectivity module~class_cylinder class_cylinder module~class_surface->module~class_cylinder module~class_plane class_plane module~class_surface->module~class_plane module~class_least_squares->module~class_connectivity module~class_least_squares->module~class_psblas module~class_stopwatch class_stopwatch module~class_psblas->module~class_stopwatch module~tools_psblas tools_psblas module~class_psblas->module~tools_psblas module~class_bc_wall->module~class_mesh module~class_bc_wall->module~class_bc_math module~class_bc_wall->module~class_vector module~class_bc_wall->module~class_psblas module~class_dimensions class_dimensions module~class_bc_wall->module~class_dimensions module~class_material class_material module~class_bc_wall->module~class_material module~units_interface units_interface module~grid_interface->module~units_interface module~object_interface object_interface module~grid_interface->module~object_interface module~class_face->module~class_psblas module~class_cylinder->module~class_vertex module~class_cylinder->module~class_vector module~class_cylinder->module~class_psblas module~class_stopwatch->psb_base_mod module~class_stopwatch->module~tools_psblas module~tools_psblas->psb_base_mod psb_prec_mod psb_prec_mod module~tools_psblas->psb_prec_mod psb_krylov_mod psb_krylov_mod module~tools_psblas->psb_krylov_mod module~class_dimensions->module~class_psblas module~class_material->module~class_psblas matlib matlib module~class_material->matlib module~units_interface->module~object_interface module~class_plane->module~class_vector module~class_plane->module~class_psblas

Used by


Contents


Interfaces

interface

  • public function call_smooth(num_incident_vtx, num_incident_tet, free_pos, tet_pos, tet_verts, tangled)

    Arguments

    Type IntentOptional AttributesName
    integer :: num_incident_vtx
    integer :: num_incident_tet
    real(kind=psb_dpk_) :: free_pos(3)
    real(kind=psb_dpk_) :: tet_pos(3,num_incident_vtx)
    integer :: tet_verts(3,num_incident_tet)
    integer :: tangled

    Return Value integer

interface

  • public function call_smooth2d(num_incident_vtx, num_incident_tri, free_pos, tri_pos, tri_verts, tangled) bind(c)

    Arguments

    Type IntentOptional AttributesName
    type(c_ptr), value:: num_incident_vtx
    type(c_ptr), value:: num_incident_tri
    real(kind=c_double) :: free_pos(2)
    real(kind=c_double) :: tri_pos(2,*)
    integer(kind=c_int) :: tri_verts(2,*)
    type(c_ptr), value:: tangled

    Return Value integer(kind=c_int)

interface

  • public module subroutine check_right_handed(msh, shared, shared_flag, tangled, all_tets)

    Arguments

    Type IntentOptional AttributesName
    type(mesh), intent(in) :: msh
    integer, intent(in), allocatable:: shared(:)
    logical, intent(in), allocatable:: shared_flag(:)
    integer, intent(out) :: tangled
    logical, intent(in) :: all_tets(:)

interface

  • public function freeoptms()

    Arguments

    None

    Return Value integer

interface

  • public function freeoptms2d()

    Arguments

    None

    Return Value integer

interface

  • public function initoptms(dims, technique, functionid)

    Arguments

    Type IntentOptional AttributesName
    integer, intent(in) :: dims
    integer, intent(in) :: technique
    integer, intent(in) :: functionid

    Return Value integer

interface

  • public function initoptms2d(dims, technique, functionid)

    Arguments

    Type IntentOptional AttributesName
    integer, intent(in) :: dims
    integer, intent(in) :: technique
    integer, intent(in) :: functionid

    Return Value integer

interface

  • public module subroutine laplacian_smooth(desc_v, v2v, n_unconstrained, unconstrained, verts, mixed)

    Arguments

    Type IntentOptional AttributesName
    type(psb_desc_type), intent(inout) :: desc_v
    type(connectivity), intent(inout) :: v2v
    integer, intent(in) :: n_unconstrained
    integer, intent(in) :: unconstrained(:)
    type(vertex), intent(inout), allocatable:: verts(:)
    logical, intent(in) :: mixed(:)

interface

  • public module subroutine mobile_verts(msh, bc, c2v, shared_flag, unconstrained, n_unconstrained, constrained, n_constrained, all_tets, mixed)

    Arguments

    Type IntentOptional AttributesName
    type(mesh), intent(in) :: msh
    type(bc_poly), intent(in) :: bc(:)
    type(connectivity), intent(in) :: c2v
    logical, intent(in) :: shared_flag(:)
    integer, intent(out) :: unconstrained(:)
    integer, intent(out) :: n_unconstrained
    integer, intent(out) :: constrained(:)
    integer, intent(out) :: n_constrained
    logical, intent(inout) :: all_tets(:)
    logical, intent(inout) :: mixed(:)

interface

  • public function right_handed(p1, p2, p3, p4)

    Arguments

    Type IntentOptional AttributesName
    real(kind=psb_dpk_) :: p1(3)
    real(kind=psb_dpk_) :: p2(3)
    real(kind=psb_dpk_) :: p3(3)
    real(kind=psb_dpk_) :: p4(3)

    Return Value integer

interface

  • public function right_handed2d(p1, p2, p3)

    Arguments

    Type IntentOptional AttributesName
    real(kind=psb_dpk_) :: p1(2)
    real(kind=psb_dpk_) :: p2(2)
    real(kind=psb_dpk_) :: p3(2)

    Return Value integer

interface

  • public module subroutine smooth_interior_vtx(iv, msh, c2v, shared_flag, all_tets)

    Arguments

    Type IntentOptional AttributesName
    integer, intent(in) :: iv
    type(mesh), intent(inout) :: msh
    type(connectivity), intent(in) :: c2v
    logical, intent(in) :: shared_flag(:)
    logical, intent(in) :: all_tets(:)

interface

  • public module subroutine smooth_mesh(msh, bc, surface_iter, interior_iter)

    Arguments

    Type IntentOptional AttributesName
    type(mesh), intent(inout) :: msh
    type(bc_poly), intent(in) :: bc(:)
    type(iterating), intent(inout) :: surface_iter
    type(iterating), intent(inout) :: interior_iter

interface

  • public module subroutine smooth_surf_vtx(iv, ib, msh, f2v, shared_flag, tangled, all_tets)

    Arguments

    Type IntentOptional AttributesName
    integer, intent(in) :: iv
    integer, intent(in) :: ib
    type(mesh), intent(inout) :: msh
    type(connectivity), intent(in) :: f2v
    logical, intent(in) :: shared_flag(:)
    integer, intent(in) :: tangled
    logical, intent(in) :: all_tets(:)