object_interface Module


Used by

  • module~~object_interface~~UsedByGraph module~object_interface object_interface module~units_interface units_interface module~units_interface->module~object_interface module~grid_interface grid_interface module~grid_interface->module~object_interface module~grid_interface->module~units_interface module~object_implementation object_implementation module~object_implementation->module~object_interface module~problem_discretization_interface problem_discretization_interface module~problem_discretization_interface->module~object_interface module~differentiable_field_interface differentiable_field_interface module~problem_discretization_interface->module~differentiable_field_interface module~structured_grid_interface structured_grid_interface module~problem_discretization_interface->module~structured_grid_interface module~class_field class_field module~class_field->module~grid_interface module~class_mesh class_mesh module~class_field->module~class_mesh module~class_bc class_bc module~class_field->module~class_bc module~define_problem_discretization define_problem_discretization module~define_problem_discretization->module~problem_discretization_interface proc~set_grid_specification set_grid_specification proc~set_grid_specification->module~units_interface proc~set_grid_specification~3 set_grid_specification proc~set_grid_specification~3->module~units_interface module~grid_implementation grid_implementation module~grid_implementation->module~grid_interface module~differentiable_field_interface->module~grid_interface module~units_implementation units_implementation module~units_implementation->module~units_interface proc~set_grid_specification~2 set_grid_specification proc~set_grid_specification~2->module~units_interface module~class_mesh->module~grid_interface module~structured_grid_interface->module~grid_interface module~structured_grid_interface->module~differentiable_field_interface module~ellipsoidal_field_interface ellipsoidal_field_interface module~ellipsoidal_field_interface->module~grid_interface module~ellipsoidal_field_interface->module~differentiable_field_interface proc~rhie_chow rhie_chow proc~rhie_chow->module~class_field proc~rhie_chow->module~class_mesh module~class_scalar_field class_scalar_field proc~rhie_chow->module~class_scalar_field module~class_vector_field class_vector_field proc~rhie_chow->module~class_vector_field module~cartesian_grid_interface cartesian_grid_interface module~cartesian_grid_interface->module~differentiable_field_interface module~cartesian_grid_interface->module~structured_grid_interface proc~write_vtk_mesh write_vtk_mesh proc~write_vtk_mesh->module~class_mesh module~class_output class_output proc~write_vtk_mesh->module~class_output module~tools_mesh_optimize tools_mesh_optimize module~tools_mesh_optimize->module~class_mesh module~tools_mesh_optimize->module~class_bc proc~update_boundary_math update_boundary_math proc~update_boundary_math->module~class_mesh proc~write_scalar_pde write_scalar_pde proc~write_scalar_pde->module~class_mesh module~class_output->module~class_mesh module~class_output->module~class_scalar_field module~class_output->module~class_vector_field proc~move_boundaries move_boundaries proc~move_boundaries->module~class_mesh module~spherical_grid_interface spherical_grid_interface module~spherical_grid_interface->module~structured_grid_interface proc~smooth_mesh smooth_mesh proc~smooth_mesh->module~class_mesh proc~smooth_mesh->module~tools_mesh_optimize module~tools_mesh_check tools_mesh_check proc~smooth_mesh->module~tools_mesh_check proc~smooth_mesh->module~class_bc proc~geins_vector_pde_v geins_vector_pde_v proc~geins_vector_pde_v->module~class_mesh proc~check_right_handed check_right_handed proc~check_right_handed->module~class_mesh proc~check_right_handed->module~tools_mesh_optimize proc~check_right_handed->module~tools_mesh_check proc~create_bc_math create_bc_math proc~create_bc_math->module~class_mesh module~ellipsoidal_field_implementation ellipsoidal_field_implementation module~ellipsoidal_field_implementation->module~ellipsoidal_field_interface proc~vector_pde_laplacian vector_pde_laplacian proc~vector_pde_laplacian->module~class_mesh module~class_vector_pde class_vector_pde proc~vector_pde_laplacian->module~class_vector_pde proc~vector_pde_laplacian->module~class_scalar_field proc~vector_pde_laplacian->module~class_vector_field module~op_grad op_grad proc~vector_pde_laplacian->module~op_grad proc~vector_pde_laplacian->module~class_bc proc~vector_field_flux vector_field_flux proc~vector_field_flux->module~class_field proc~vector_field_flux->module~class_mesh proc~vector_field_flux->module~class_scalar_field proc~vector_field_flux->module~class_vector_field proc~create_scalar_field create_scalar_field proc~create_scalar_field->module~class_mesh proc~create_scalar_field->module~class_bc proc~create_bc create_bc proc~create_bc->module~class_mesh module~tools_output tools_output module~tools_output->module~class_mesh module~tools_output->module~class_output module~tools_output->module~class_scalar_field module~tools_output->module~class_vector_field module~class_vector_pde->module~class_mesh module~class_vector_pde->module~class_vector_field module~class_pde class_pde module~class_vector_pde->module~class_pde proc~smooth_interior_vtx smooth_interior_vtx proc~smooth_interior_vtx->module~class_mesh proc~smooth_interior_vtx->module~tools_mesh_optimize proc~smooth_interior_vtx->module~tools_mesh_check module~class_scalar_field->module~class_field module~class_scalar_field->module~class_mesh module~class_scalar_field->module~class_bc proc~get_abc_math_s get_abc_math_s proc~get_abc_math_s->module~class_mesh proc~interp_on_faces_s interp_on_faces_s proc~interp_on_faces_s->module~class_mesh proc~update_boundary_v update_boundary_v proc~update_boundary_v->module~class_mesh proc~get_abc_math_v get_abc_math_v proc~get_abc_math_v->module~class_mesh proc~vector_pde_d2dt2 vector_pde_d2dt2 proc~vector_pde_d2dt2->module~class_mesh proc~vector_pde_d2dt2->module~class_vector_pde proc~vector_pde_d2dt2->module~class_scalar_field proc~vector_pde_d2dt2->module~class_vector_field proc~vector_pde_grad vector_pde_grad proc~vector_pde_grad->module~class_mesh proc~vector_pde_grad->module~class_vector_pde proc~vector_pde_grad->module~class_scalar_field proc~geins_vector_pde_r geins_vector_pde_r proc~geins_vector_pde_r->module~class_mesh proc~set_vector_field_group set_vector_field_group proc~set_vector_field_group->module~class_mesh proc~free_pde~2 free_pde proc~free_pde~2->module~class_mesh proc~vector_pde_ddt vector_pde_ddt proc~vector_pde_ddt->module~class_mesh proc~vector_pde_ddt->module~class_vector_pde proc~vector_pde_ddt->module~class_scalar_field proc~vector_pde_ddt->module~class_vector_field proc~vector_pde_source vector_pde_source proc~vector_pde_source->module~class_mesh proc~vector_pde_source->module~class_vector_pde proc~vector_pde_source->module~class_vector_field module~class_scalar_pde class_scalar_pde proc~vector_pde_source->module~class_scalar_pde proc~asb_pde_~2 asb_pde_ proc~asb_pde_~2->module~class_mesh proc~move_boundary move_boundary proc~move_boundary->module~class_mesh proc~scalar_pde_ddt scalar_pde_ddt proc~scalar_pde_ddt->module~class_mesh module~class_field_procedures class_field_procedures module~class_field_procedures->module~class_field module~structured_grid_implementation structured_grid_implementation module~structured_grid_implementation->module~structured_grid_interface proc~free_pde~3 free_pde proc~free_pde~3->module~class_mesh proc~create_vector_field create_vector_field proc~create_vector_field->module~class_mesh proc~create_vector_field->module~class_bc proc~update_boundary_wall_s update_boundary_wall_s proc~update_boundary_wall_s->module~class_mesh proc~write_vector_field write_vector_field proc~write_vector_field->module~class_mesh proc~write_vector_field->module~class_output proc~write_vector_field->module~class_vector_field proc~write_mesh write_mesh proc~write_mesh->module~class_mesh proc~write_mesh->module~class_output module~curvilinear_grid_interface curvilinear_grid_interface module~curvilinear_grid_interface->module~structured_grid_interface module~class_vector_pde_procedures class_vector_pde_procedures module~class_vector_pde_procedures->module~class_mesh module~class_vector_pde_procedures->module~class_vector_pde module~class_vector_pde_procedures->module~class_pde proc~check_mesh_quality check_mesh_quality proc~check_mesh_quality->module~class_mesh proc~check_mesh_quality->module~class_scalar_field proc~check_mesh_quality->module~tools_mesh_check proc~solve_vector_pde solve_vector_pde proc~solve_vector_pde->module~class_mesh proc~solve_vector_pde->module~class_vector_field proc~apply_abc_to_boundary_s apply_abc_to_boundary_s proc~apply_abc_to_boundary_s->module~class_mesh proc~update_scalar_field update_scalar_field proc~update_scalar_field->module~class_mesh proc~update_scalar_field->module~class_bc proc~scalar_vector_fld_mul scalar_vector_fld_mul proc~scalar_vector_fld_mul->module~class_field proc~scalar_vector_fld_mul->module~class_scalar_field proc~scalar_vector_fld_mul->module~class_vector_field proc~scalar_pde_laplacian scalar_pde_laplacian proc~scalar_pde_laplacian->module~class_mesh proc~scalar_pde_laplacian->module~op_grad proc~scalar_pde_laplacian->module~class_bc proc~get_vector_field get_vector_field proc~get_vector_field->module~class_mesh proc~get_vector_field->module~class_output proc~get_vector_field->module~class_scalar_field proc~get_vector_field->module~class_vector_field module~class_exodus class_exodus module~class_exodus->module~class_mesh module~class_exodus->module~class_output module~class_exodus->module~class_scalar_field module~class_exodus->module~class_vector_field proc~get_scalar_field get_scalar_field proc~get_scalar_field->module~class_mesh proc~get_scalar_field->module~class_output proc~get_scalar_field->module~class_scalar_field proc~solve_scalar_pde solve_scalar_pde proc~solve_scalar_pde->module~class_mesh proc~solve_scalar_pde->module~class_scalar_field module~class_scalar_field_procedures class_scalar_field_procedures module~class_scalar_field_procedures->module~class_field module~class_scalar_field_procedures->module~class_scalar_field proc~update_vector_field update_vector_field proc~update_vector_field->module~class_mesh proc~update_vector_field->module~class_bc module~tools_nemo tools_nemo module~tools_nemo->module~class_mesh module~tools_nemo->module~tools_mesh_optimize module~tools_nemo->module~class_output module~tools_nemo->module~tools_output module~tools_nemo->module~class_vector_pde module~tools_nemo->module~class_scalar_field module~tools_nemo->module~class_vector_field module~tools_nemo->module~tools_mesh_check module~op_div op_div module~tools_nemo->module~op_div module~tools_nemo->module~class_scalar_pde module~tools_nemo->module~op_grad module~op_field op_field module~tools_nemo->module~op_field module~op_ddt op_ddt module~tools_nemo->module~op_ddt module~op_d2dt2 op_d2dt2 module~tools_nemo->module~op_d2dt2 module~tools_nemo->module~class_bc module~op_laplacian op_laplacian module~tools_nemo->module~op_laplacian module~op_source op_source module~tools_nemo->module~op_source proc~vector_field_grad vector_field_grad proc~vector_field_grad->module~class_mesh proc~vector_field_grad->module~class_vector_field proc~set_scalar_field_group set_scalar_field_group proc~set_scalar_field_group->module~class_mesh proc~geins_scalar_pde geins_scalar_pde proc~geins_scalar_pde->module~class_mesh proc~vector_pde_div vector_pde_div proc~vector_pde_div->module~class_mesh proc~vector_pde_div->module~class_vector_pde proc~vector_pde_div->module~class_bc module~class_vector_field->module~class_field module~class_vector_field->module~class_mesh module~class_vector_field->module~class_bc module~class_vtk_output_procedures class_vtk_output_procedures module~class_vtk_output_procedures->module~class_mesh module~class_vtk_output class_vtk_output module~class_vtk_output_procedures->module~class_vtk_output proc~scalar_pde_source scalar_pde_source proc~scalar_pde_source->module~class_mesh module~class_vtk_output->module~class_mesh module~class_vtk_output->module~class_output module~class_vtk_output->module~class_scalar_field module~class_vtk_output->module~class_vector_field module~cylindrical_grid_interface cylindrical_grid_interface module~cylindrical_grid_interface->module~differentiable_field_interface module~cylindrical_grid_interface->module~structured_grid_interface module~tools_mesh_check->module~class_mesh module~tools_mesh_check->module~class_scalar_field proc~scalar_pde_div scalar_pde_div proc~scalar_pde_div->module~class_mesh proc~scalar_pde_div->module~class_bc proc~nemo_scalar_field_norm1 nemo_scalar_field_norm1 proc~nemo_scalar_field_norm1->module~class_mesh module~op_div->module~class_mesh module~op_div->module~class_vector_pde module~op_div->module~class_scalar_field module~op_div->module~class_vector_field module~op_div->module~class_scalar_pde proc~write_vector_pde write_vector_pde proc~write_vector_pde->module~class_mesh proc~scalar_field_grad scalar_field_grad proc~scalar_field_grad->module~class_mesh proc~scalar_field_grad->module~class_scalar_field proc~check_vertex_quality check_vertex_quality proc~check_vertex_quality->module~class_mesh module~class_pde->module~class_mesh proc~check_mesh_consistency_bf check_mesh_consistency_bf proc~check_mesh_consistency_bf->module~class_mesh proc~update_boundary_wall_v update_boundary_wall_v proc~update_boundary_wall_v->module~class_mesh proc~tet_valid tet_valid proc~tet_valid->module~class_mesh proc~tet_valid->module~tools_mesh_optimize proc~check_tet_quality check_tet_quality proc~check_tet_quality->module~class_mesh module~class_bc_wall class_bc_wall module~class_bc_wall->module~class_mesh module~class_mesh_procedures class_mesh_procedures module~class_mesh_procedures->module~class_mesh proc~flux_pde_div flux_pde_div proc~flux_pde_div->module~class_mesh proc~interp_on_faces_v interp_on_faces_v proc~interp_on_faces_v->module~class_mesh module~class_scalar_pde->module~class_mesh module~class_scalar_pde->module~class_scalar_field module~class_scalar_pde->module~class_pde proc~check_field_operands check_field_operands proc~check_field_operands->module~class_mesh module~class_vector_field_procedures class_vector_field_procedures module~class_vector_field_procedures->module~class_field module~class_vector_field_procedures->module~class_vector_field proc~smooth_surf_vtx smooth_surf_vtx proc~smooth_surf_vtx->module~class_mesh proc~smooth_surf_vtx->module~tools_mesh_optimize proc~smooth_surf_vtx->module~tools_mesh_check proc~asb_pde_~3 asb_pde_ proc~asb_pde_~3->module~class_mesh proc~create_pde~3 create_pde proc~create_pde~3->module~class_mesh proc~update_boundary_s update_boundary_s proc~update_boundary_s->module~class_mesh module~class_exodus_procedures class_exodus_procedures module~class_exodus_procedures->module~class_mesh module~class_exodus_procedures->module~class_output module~class_exodus_procedures->module~class_scalar_field module~class_exodus_procedures->module~class_exodus module~class_exodus_procedures->module~class_vector_field proc~scalar_fld_vector_mul scalar_fld_vector_mul proc~scalar_fld_vector_mul->module~class_field proc~scalar_fld_vector_mul->module~class_scalar_field proc~scalar_fld_vector_mul->module~class_vector_field proc~apply_abc_to_boundary_v apply_abc_to_boundary_v proc~apply_abc_to_boundary_v->module~class_mesh proc~scalar_pde_d2dt2 scalar_pde_d2dt2 proc~scalar_pde_d2dt2->module~class_mesh proc~nemo_scalar_field_normi nemo_scalar_field_normi proc~nemo_scalar_field_normi->module~class_mesh proc~create_pde~2 create_pde proc~create_pde~2->module~class_mesh module~spherical_grid_implementation spherical_grid_implementation module~spherical_grid_implementation->module~spherical_grid_interface module~smooth_surf_vtx_implementation smooth_surf_vtx_implementation module~smooth_surf_vtx_implementation->module~tools_mesh_optimize module~tools_mesh_check_tet tools_mesh_check_tet module~tools_mesh_check_tet->module~tools_mesh_check module~smooth_mesh_implementation smooth_mesh_implementation module~smooth_mesh_implementation->module~tools_mesh_optimize module~class_output_procedures class_output_procedures module~class_output_procedures->module~class_output module~write_mesh_implementation write_mesh_implementation module~write_mesh_implementation->module~tools_output module~cylindrical_grid_implementation cylindrical_grid_implementation module~cylindrical_grid_implementation->module~cylindrical_grid_interface module~op_grad->module~class_vector_pde module~op_grad->module~class_scalar_field module~op_grad->module~class_vector_field module~op_field->module~class_scalar_field module~op_field->module~class_vector_field module~flux_pde_div_implementation flux_pde_div_implementation module~flux_pde_div_implementation->module~op_div proc~create_output create_output proc~create_output->module~class_vtk_output module~op_ddt->module~class_vector_pde module~op_ddt->module~class_scalar_field module~op_ddt->module~class_vector_field module~op_ddt->module~class_scalar_pde proc~evaluate evaluate proc~evaluate->module~cartesian_grid_interface module~cartesian_grid_implementation cartesian_grid_implementation module~cartesian_grid_implementation->module~cartesian_grid_interface module~laplacian_smooth_implementation laplacian_smooth_implementation module~laplacian_smooth_implementation->module~tools_mesh_optimize module~op_d2dt2->module~class_vector_pde module~op_d2dt2->module~class_scalar_field module~op_d2dt2->module~class_vector_field module~op_d2dt2->module~class_scalar_pde module~write_vector_field_implementation write_vector_field_implementation module~write_vector_field_implementation->module~tools_output module~class_bc->module~class_bc_wall module~vector_pde_div_implementation vector_pde_div_implementation module~vector_pde_div_implementation->module~op_div module~write_scalar_field_implementation write_scalar_field_implementation module~write_scalar_field_implementation->module~tools_output proc~initialize_from_sphere_1d initialize_from_sphere_1d proc~initialize_from_sphere_1d->module~spherical_grid_interface module~tools_mesh_check_vertex tools_mesh_check_vertex module~tools_mesh_check_vertex->module~tools_mesh_check proc~laplacian laplacian proc~laplacian->module~cartesian_grid_interface module~op_laplacian->module~class_vector_pde module~op_laplacian->module~class_scalar_field module~op_laplacian->module~class_vector_field module~op_laplacian->module~class_scalar_pde module~check_right_handed_implementation check_right_handed_implementation module~check_right_handed_implementation->module~tools_mesh_optimize module~op_source->module~class_scalar_field module~op_source->module~class_scalar_pde module~check_mesh_quality_implementation check_mesh_quality_implementation module~check_mesh_quality_implementation->module~tools_mesh_check module~scalar_pde_div_implementation scalar_pde_div_implementation module~scalar_pde_div_implementation->module~op_div module~class_bc_wall_procedures class_bc_wall_procedures module~class_bc_wall_procedures->module~class_bc_wall module~class_pde_procedures class_pde_procedures module~class_pde_procedures->module~class_pde module~mobile_verts_implementation mobile_verts_implementation module~mobile_verts_implementation->module~tools_mesh_optimize module~class_scalar_pde_procedures class_scalar_pde_procedures module~class_scalar_pde_procedures->module~class_scalar_pde proc~initialize_from_plate_3d initialize_from_plate_3d proc~initialize_from_plate_3d->module~cartesian_grid_interface proc~initialize_from_cylinder_2d initialize_from_cylinder_2d proc~initialize_from_cylinder_2d->module~cylindrical_grid_interface module~smooth_interior_vtx_implementation smooth_interior_vtx_implementation module~smooth_interior_vtx_implementation->module~tools_mesh_optimize module~class_bc_procedures class_bc_procedures module~class_bc_procedures->module~class_bc module~scalar_pde_source_implementation scalar_pde_source_implementation module~scalar_pde_source_implementation->module~op_source module~vector_field_flux_implementation vector_field_flux_implementation module~vector_field_flux_implementation->module~op_field module~vector_field_grad_implementation vector_field_grad_implementation module~vector_field_grad_implementation->module~op_grad module~vector_pde_d2dt2_implementation vector_pde_d2dt2_implementation module~vector_pde_d2dt2_implementation->module~op_d2dt2 module~scalar_field_grad_implementation scalar_field_grad_implementation module~scalar_field_grad_implementation->module~op_grad module~vector_pde_laplacian_implementation vector_pde_laplacian_implementation module~vector_pde_laplacian_implementation->module~op_laplacian module~vector_pde_ddt_implementation vector_pde_ddt_implementation module~vector_pde_ddt_implementation->module~op_ddt module~op_laplacian_procedures op_laplacian_procedures module~op_laplacian_procedures->module~op_laplacian module~op_d2dt2_procedures op_d2dt2_procedures module~op_d2dt2_procedures->module~op_d2dt2 module~op_ddt_procedures op_ddt_procedures module~op_ddt_procedures->module~op_ddt module~scalar_pde_d2dt2_implementation scalar_pde_d2dt2_implementation module~scalar_pde_d2dt2_implementation->module~op_d2dt2 module~scalar_pde_ddt_implementation scalar_pde_ddt_implementation module~scalar_pde_ddt_implementation->module~op_ddt module~scalar_fld_vector_mul_implementation scalar_fld_vector_mul_implementation module~scalar_fld_vector_mul_implementation->module~op_field module~scalar_vector_fld_mul_implementation scalar_vector_fld_mul_implementation module~scalar_vector_fld_mul_implementation->module~op_field module~scalar_pde_laplacian_implementation scalar_pde_laplacian_implementation module~scalar_pde_laplacian_implementation->module~op_laplacian module~rhie_chow_implementation rhie_chow_implementation module~rhie_chow_implementation->module~op_field module~vector_pde_grad_implementation vector_pde_grad_implementation module~vector_pde_grad_implementation->module~op_grad

Contents


Interfaces

interface

  • private pure module subroutine mark_as_defined(this)

    Mark the object as user-defined

    Arguments

    Type IntentOptional AttributesName
    class(object), intent(inout) :: this

interface

  • private pure module function user_defined(this) result(is_defined)

    Return a boolean result indicating whether this object has been initialized since its declaration

    Arguments

    Type IntentOptional AttributesName
    class(object), intent(in) :: this

    Return Value logical


Derived Types

type, public, abstract :: object

Abstract type to ensure all objects extending it implement the required methods

Read more…

Components

TypeVisibility AttributesNameInitial
logical, private :: defined =.false.

Default initialization indicates not yet user-defined

Type-Bound Procedures

procedure, public :: mark_as_defined
procedure, public :: user_defined