class_dimensions Module


Uses

  • module~~class_dimensions~~UsesGraph module~class_dimensions class_dimensions module~class_psblas class_psblas module~class_dimensions->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_stopwatch->module~tools_psblas psb_base_mod psb_base_mod module~class_stopwatch->psb_base_mod psb_prec_mod psb_prec_mod module~tools_psblas->psb_prec_mod module~tools_psblas->psb_base_mod psb_krylov_mod psb_krylov_mod module~tools_psblas->psb_krylov_mod

Used by

  • module~~class_dimensions~~UsedByGraph module~class_dimensions class_dimensions module~tools_nemo tools_nemo module~tools_nemo->module~class_dimensions module~class_vector_field class_vector_field module~tools_nemo->module~class_vector_field module~class_scalar_pde class_scalar_pde module~tools_nemo->module~class_scalar_pde module~class_scalar_source class_scalar_source module~tools_nemo->module~class_scalar_source module~class_scalar_field class_scalar_field module~tools_nemo->module~class_scalar_field module~op_grad op_grad module~tools_nemo->module~op_grad module~class_output class_output module~tools_nemo->module~class_output module~op_field op_field module~tools_nemo->module~op_field module~op_ddt op_ddt module~tools_nemo->module~op_ddt module~tools_mesh_check tools_mesh_check module~tools_nemo->module~tools_mesh_check module~op_d2dt2 op_d2dt2 module~tools_nemo->module~op_d2dt2 module~class_bc class_bc module~tools_nemo->module~class_bc module~op_div op_div module~tools_nemo->module~op_div module~op_laplacian op_laplacian module~tools_nemo->module~op_laplacian module~tools_output tools_output module~tools_nemo->module~tools_output module~op_source op_source module~tools_nemo->module~op_source module~class_vector_pde class_vector_pde module~tools_nemo->module~class_vector_pde module~tools_mesh_optimize tools_mesh_optimize module~tools_nemo->module~tools_mesh_optimize module~class_field class_field module~class_field->module~class_dimensions module~class_field->module~class_bc proc~rhie_chow rhie_chow proc~rhie_chow->module~class_dimensions proc~rhie_chow->module~class_field proc~rhie_chow->module~class_vector_field proc~rhie_chow->module~class_scalar_field proc~update_boundary_wall_v update_boundary_wall_v proc~update_boundary_wall_v->module~class_dimensions proc~vector_pde_d2dt2 vector_pde_d2dt2 proc~vector_pde_d2dt2->module~class_dimensions proc~vector_pde_d2dt2->module~class_vector_field proc~vector_pde_d2dt2->module~class_scalar_field proc~vector_pde_d2dt2->module~class_vector_pde proc~vector_pde_grad vector_pde_grad proc~vector_pde_grad->module~class_dimensions proc~vector_pde_grad->module~class_scalar_field proc~vector_pde_grad->module~class_vector_pde proc~vector_field_sum vector_field_sum proc~vector_field_sum->module~class_dimensions proc~vector_field_dif vector_field_dif proc~vector_field_dif->module~class_dimensions proc~scalar_field_mul scalar_field_mul proc~scalar_field_mul->module~class_dimensions module~class_bc_wall class_bc_wall module~class_bc_wall->module~class_dimensions module~class_pde class_pde module~class_pde->module~class_dimensions proc~get_abc_v get_abc_v proc~get_abc_v->module~class_dimensions proc~vector_pde_div vector_pde_div proc~vector_pde_div->module~class_dimensions proc~vector_pde_div->module~class_bc proc~vector_pde_div->module~class_vector_pde proc~vector_pde_ddt vector_pde_ddt proc~vector_pde_ddt->module~class_dimensions proc~vector_pde_ddt->module~class_vector_field proc~vector_pde_ddt->module~class_scalar_field proc~vector_pde_ddt->module~class_vector_pde proc~vector_pde_source vector_pde_source proc~vector_pde_source->module~class_dimensions proc~vector_pde_source->module~class_vector_field proc~vector_pde_source->module~class_scalar_pde proc~vector_pde_source->module~class_vector_pde module~class_vector_field->module~class_dimensions module~class_vector_field->module~class_field module~class_vector_field->module~class_bc proc~scalar_field_sum scalar_field_sum proc~scalar_field_sum->module~class_dimensions proc~scalar_pde_source scalar_pde_source proc~scalar_pde_source->module~class_dimensions module~class_scalar_source_procedures class_scalar_source_procedures module~class_scalar_source_procedures->module~class_dimensions module~class_scalar_source_procedures->module~class_scalar_source proc~flux_pde_div flux_pde_div proc~flux_pde_div->module~class_dimensions proc~scalar_pde_div scalar_pde_div proc~scalar_pde_div->module~class_dimensions proc~scalar_pde_div->module~class_bc proc~scalar_field_dif scalar_field_dif proc~scalar_field_dif->module~class_dimensions proc~vector_field_scal vector_field_scal proc~vector_field_scal->module~class_dimensions proc~scalar_pde_ddt scalar_pde_ddt proc~scalar_pde_ddt->module~class_dimensions module~class_scalar_pde->module~class_dimensions module~class_scalar_pde->module~class_pde module~class_scalar_pde->module~class_scalar_field proc~matlaw_v matlaw_v proc~matlaw_v->module~class_dimensions module~class_dimensions_procedures class_dimensions_procedures module~class_dimensions_procedures->module~class_dimensions proc~create_vector_field create_vector_field proc~create_vector_field->module~class_dimensions proc~create_vector_field->module~class_bc proc~matlaw_s matlaw_s proc~matlaw_s->module~class_dimensions proc~get_abc_wall_s get_abc_wall_s proc~get_abc_wall_s->module~class_dimensions proc~create_pde~3 create_pde proc~create_pde~3->module~class_dimensions proc~update_boundary_wall_s update_boundary_wall_s proc~update_boundary_wall_s->module~class_dimensions proc~vector_pde_laplacian vector_pde_laplacian proc~vector_pde_laplacian->module~class_dimensions proc~vector_pde_laplacian->module~class_vector_field proc~vector_pde_laplacian->module~class_scalar_field proc~vector_pde_laplacian->module~op_grad proc~vector_pde_laplacian->module~class_bc proc~vector_pde_laplacian->module~class_vector_pde proc~vector_field_flux vector_field_flux proc~vector_field_flux->module~class_dimensions proc~vector_field_flux->module~class_field proc~vector_field_flux->module~class_vector_field proc~vector_field_flux->module~class_scalar_field proc~create_scalar_field create_scalar_field proc~create_scalar_field->module~class_dimensions proc~create_scalar_field->module~class_bc proc~create_field create_field proc~create_field->module~class_dimensions proc~update_boundary_s update_boundary_s proc~update_boundary_s->module~class_dimensions proc~update_scalar_field update_scalar_field proc~update_scalar_field->module~class_dimensions proc~update_scalar_field->module~class_bc proc~scalar_vector_fld_mul scalar_vector_fld_mul proc~scalar_vector_fld_mul->module~class_dimensions proc~scalar_vector_fld_mul->module~class_field proc~scalar_vector_fld_mul->module~class_vector_field proc~scalar_vector_fld_mul->module~class_scalar_field proc~scalar_fld_vector_mul scalar_fld_vector_mul proc~scalar_fld_vector_mul->module~class_dimensions proc~scalar_fld_vector_mul->module~class_field proc~scalar_fld_vector_mul->module~class_vector_field proc~scalar_fld_vector_mul->module~class_scalar_field module~class_scalar_source->module~class_dimensions proc~scalar_pde_laplacian scalar_pde_laplacian proc~scalar_pde_laplacian->module~class_dimensions proc~scalar_pde_laplacian->module~op_grad proc~scalar_pde_laplacian->module~class_bc proc~get_abc_wall_v get_abc_wall_v proc~get_abc_wall_v->module~class_dimensions module~class_scalar_field->module~class_dimensions module~class_scalar_field->module~class_field module~class_scalar_field->module~class_bc proc~scalar_pde_d2dt2 scalar_pde_d2dt2 proc~scalar_pde_d2dt2->module~class_dimensions proc~get_abc_s get_abc_s proc~get_abc_s->module~class_dimensions proc~update_boundary_v update_boundary_v proc~update_boundary_v->module~class_dimensions proc~create_pde~2 create_pde proc~create_pde~2->module~class_dimensions proc~scalar_field_div scalar_field_div proc~scalar_field_div->module~class_dimensions proc~update_vector_field update_vector_field proc~update_vector_field->module~class_dimensions proc~update_vector_field->module~class_bc proc~vector_field_grad vector_field_grad proc~vector_field_grad->module~class_vector_field module~op_grad->module~class_vector_field module~op_grad->module~class_scalar_field module~op_grad->module~class_vector_pde module~class_output->module~class_vector_field module~class_output->module~class_scalar_field module~op_field->module~class_vector_field module~op_field->module~class_scalar_field proc~get_scalar_field get_scalar_field proc~get_scalar_field->module~class_scalar_field proc~get_scalar_field->module~class_output module~class_vtk_output class_vtk_output module~class_vtk_output->module~class_vector_field module~class_vtk_output->module~class_scalar_field module~class_vtk_output->module~class_output module~op_ddt->module~class_vector_field module~op_ddt->module~class_scalar_pde module~op_ddt->module~class_scalar_field module~op_ddt->module~class_vector_pde module~tools_mesh_check->module~class_scalar_field module~op_d2dt2->module~class_vector_field module~op_d2dt2->module~class_scalar_pde module~op_d2dt2->module~class_scalar_field module~op_d2dt2->module~class_vector_pde module~class_field_procedures class_field_procedures module~class_field_procedures->module~class_field 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 module~class_bc->module~class_bc_wall proc~write_vector_field write_vector_field proc~write_vector_field->module~class_vector_field proc~write_vector_field->module~class_output module~op_div->module~class_vector_field module~op_div->module~class_scalar_pde module~op_div->module~class_scalar_field module~op_div->module~class_vector_pde module~class_vector_pde_procedures class_vector_pde_procedures module~class_vector_pde_procedures->module~class_pde module~class_vector_pde_procedures->module~class_vector_pde module~op_laplacian->module~class_vector_field module~op_laplacian->module~class_scalar_pde module~op_laplacian->module~class_scalar_field module~op_laplacian->module~class_vector_pde module~tools_output->module~class_vector_field module~tools_output->module~class_scalar_field module~tools_output->module~class_output module~class_bc_wall_procedures class_bc_wall_procedures module~class_bc_wall_procedures->module~class_bc_wall module~op_source->module~class_scalar_pde module~op_source->module~class_scalar_field proc~solve_vector_pde solve_vector_pde proc~solve_vector_pde->module~class_vector_field proc~check_mesh_quality check_mesh_quality proc~check_mesh_quality->module~class_scalar_field proc~check_mesh_quality->module~tools_mesh_check module~class_pde_procedures class_pde_procedures module~class_pde_procedures->module~class_pde module~class_exodus_procedures class_exodus_procedures module~class_exodus_procedures->module~class_vector_field module~class_exodus_procedures->module~class_scalar_field module~class_exodus_procedures->module~class_output module~class_exodus class_exodus module~class_exodus_procedures->module~class_exodus module~scalar_pde_source_implementation scalar_pde_source_implementation module~scalar_pde_source_implementation->module~class_scalar_source module~scalar_pde_source_implementation->module~op_source module~class_scalar_pde_procedures class_scalar_pde_procedures module~class_scalar_pde_procedures->module~class_scalar_pde module~class_vector_pde->module~class_pde module~class_vector_pde->module~class_vector_field proc~scalar_field_grad scalar_field_grad proc~scalar_field_grad->module~class_scalar_field proc~get_vector_field get_vector_field proc~get_vector_field->module~class_vector_field proc~get_vector_field->module~class_scalar_field proc~get_vector_field->module~class_output module~class_exodus->module~class_vector_field module~class_exodus->module~class_scalar_field module~class_exodus->module~class_output proc~solve_scalar_pde solve_scalar_pde 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~write_vtk_mesh write_vtk_mesh proc~write_vtk_mesh->module~class_output module~vector_pde_laplacian_implementation vector_pde_laplacian_implementation module~vector_pde_laplacian_implementation->module~op_laplacian module~tools_mesh_check_tet tools_mesh_check_tet module~tools_mesh_check_tet->module~tools_mesh_check module~tools_mesh_optimize->module~class_bc module~class_output_procedures class_output_procedures module~class_output_procedures->module~class_output module~scalar_pde_d2dt2_implementation scalar_pde_d2dt2_implementation module~scalar_pde_d2dt2_implementation->module~op_d2dt2 module~write_mesh_implementation write_mesh_implementation module~write_mesh_implementation->module~tools_output module~vector_pde_ddt_implementation vector_pde_ddt_implementation module~vector_pde_ddt_implementation->module~op_ddt 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~class_vtk_output_procedures class_vtk_output_procedures module~class_vtk_output_procedures->module~class_vtk_output 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_vector_fld_mul_implementation scalar_vector_fld_mul_implementation module~scalar_vector_fld_mul_implementation->module~op_field proc~smooth_mesh smooth_mesh proc~smooth_mesh->module~tools_mesh_check proc~smooth_mesh->module~class_bc proc~smooth_mesh->module~tools_mesh_optimize proc~check_right_handed check_right_handed proc~check_right_handed->module~tools_mesh_check proc~check_right_handed->module~tools_mesh_optimize module~rhie_chow_implementation rhie_chow_implementation module~rhie_chow_implementation->module~op_field module~scalar_pde_laplacian_implementation scalar_pde_laplacian_implementation module~scalar_pde_laplacian_implementation->module~op_laplacian proc~smooth_surf_vtx smooth_surf_vtx proc~smooth_surf_vtx->module~tools_mesh_check proc~smooth_surf_vtx->module~tools_mesh_optimize module~write_vector_field_implementation write_vector_field_implementation module~write_vector_field_implementation->module~tools_output module~vector_pde_div_implementation vector_pde_div_implementation module~vector_pde_div_implementation->module~op_div module~scalar_field_grad_implementation scalar_field_grad_implementation module~scalar_field_grad_implementation->module~op_grad module~op_laplacian_procedures op_laplacian_procedures module~op_laplacian_procedures->module~op_laplacian module~tools_mesh_check_vertex tools_mesh_check_vertex module~tools_mesh_check_vertex->module~tools_mesh_check module~write_scalar_field_implementation write_scalar_field_implementation module~write_scalar_field_implementation->module~tools_output proc~write_mesh write_mesh proc~write_mesh->module~class_output module~scalar_pde_div_implementation scalar_pde_div_implementation module~scalar_pde_div_implementation->module~op_div module~vector_field_flux_implementation vector_field_flux_implementation module~vector_field_flux_implementation->module~op_field module~check_mesh_quality_implementation check_mesh_quality_implementation module~check_mesh_quality_implementation->module~tools_mesh_check module~class_bc_procedures class_bc_procedures module~class_bc_procedures->module~class_bc module~vector_pde_d2dt2_implementation vector_pde_d2dt2_implementation module~vector_pde_d2dt2_implementation->module~op_d2dt2 module~vector_field_grad_implementation vector_field_grad_implementation module~vector_field_grad_implementation->module~op_grad proc~smooth_interior_vtx smooth_interior_vtx proc~smooth_interior_vtx->module~tools_mesh_check proc~smooth_interior_vtx->module~tools_mesh_optimize 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~vector_pde_grad_implementation vector_pde_grad_implementation module~vector_pde_grad_implementation->module~op_grad module~smooth_surf_vtx_implementation smooth_surf_vtx_implementation module~smooth_surf_vtx_implementation->module~tools_mesh_optimize module~mobile_verts_implementation mobile_verts_implementation module~mobile_verts_implementation->module~tools_mesh_optimize proc~tet_valid tet_valid proc~tet_valid->module~tools_mesh_optimize module~smooth_mesh_implementation smooth_mesh_implementation module~smooth_mesh_implementation->module~tools_mesh_optimize module~laplacian_smooth_implementation laplacian_smooth_implementation module~laplacian_smooth_implementation->module~tools_mesh_optimize module~check_right_handed_implementation check_right_handed_implementation module~check_right_handed_implementation->module~tools_mesh_optimize module~smooth_interior_vtx_implementation smooth_interior_vtx_implementation module~smooth_interior_vtx_implementation->module~tools_mesh_optimize

Contents


Variables

TypeVisibility AttributesNameInitial
type(dimensions), public, parameter:: acceleration_ =dimensions(1, 0, -2, 0)
type(dimensions), public, parameter:: conductivity_ =dimensions(1, 1, -3, -1)
type(dimensions), public, parameter:: density_ =dimensions(-3, 1, 0, 0)
type(dimensions), public, parameter:: energy_ =dimensions(2, 1, -2, 0)
type(dimensions), public, parameter:: force_ =dimensions(1, 1, -2, 0)
type(dimensions), public, parameter:: length_ =dimensions(1, 0, 0, 0)
type(dimensions), public, parameter:: mass_ =dimensions(0, 1, 0, 0)
type(dimensions), public, parameter:: null_dim_ =dimensions(0, 0, 0, 0)
type(dimensions), public, parameter:: power_ =dimensions(2, 1, -3, 0)
type(dimensions), public, parameter:: pressure_ =dimensions(-1, 1, -2, 0)
type(dimensions), public, parameter:: specific_heat_ =dimensions(2, 0, -2, -1)
type(dimensions), public, parameter:: surface_ =dimensions(2, 0, 0, 0)
type(dimensions), public, parameter:: temperature_ =dimensions(0, 0, 0, 1)
type(dimensions), public, parameter:: therm_exp_coeff_ =dimensions(0, 0, 0, -1)
type(dimensions), public, parameter:: time_ =dimensions(0, 0, 1, 0)
type(dimensions), public, parameter:: velocity_ =dimensions(1, 0, -1, 0)
type(dimensions), public, parameter:: viscosity_ =dimensions(-1, 1, -1, 0)
type(dimensions), public, parameter:: volume_ =dimensions(3, 0, 0, 0)
type(dimensions), public, parameter:: youngs_modulus_ =dimensions(-1, 1, -2, 0)

Interfaces

public interface operator(/=)

  • public pure function dim_ne(dim1, dim2)

    Arguments

    Type IntentOptional AttributesName
    type(dimensions), intent(in) :: dim1
    type(dimensions), intent(in) :: dim2

    Return Value logical

public interface operator(==)

  • public pure function dim_eq(dim1, dim2)

    Arguments

    Type IntentOptional AttributesName
    type(dimensions), intent(in) :: dim1
    type(dimensions), intent(in) :: dim2

    Return Value logical

interface

  • public module function quantity(dim)

    Arguments

    Type IntentOptional AttributesName
    class(dimensions), intent(in) :: dim

    Return Value character(len=:), allocatable

interface

  • private module subroutine bcast_dim(dim)

    Arguments

    Type IntentOptional AttributesName
    class(dimensions), intent(inout) :: dim

interface

  • private module subroutine debug_dim(dim)

    Arguments

    Type IntentOptional AttributesName
    class(dimensions), intent(in) :: dim

interface

interface

interface

interface

  • private pure module function dim_pow(dim, n)

    Arguments

    Type IntentOptional AttributesName
    class(dimensions), intent(in) :: dim
    integer, intent(in) :: n

    Return Value type(dimensions)

interface

interface

interface

  • private elemental module function nemo_dimensions_sizeof(dims)

    Arguments

    Type IntentOptional AttributesName
    class(dimensions), intent(in) :: dims

    Return Value integer(kind=nemo_int_long_)


Derived Types

type, public :: dimensions

Components

TypeVisibility AttributesNameInitial
integer, private :: l
integer, private :: m
integer, private :: t
integer, private :: theta

Type-Bound Procedures

procedure, public :: bcast_dim
procedure, public :: debug_dim
procedure, public :: dim_diff
procedure, public :: dim_div
procedure, public :: dim_mul
procedure, public :: dim_pow
procedure, public :: dim_sum
generic, public :: nemo_sizeof => nemo_dimensions_sizeof
generic, public :: operator(*) => dim_mul
generic, public :: operator(**) => dim_pow
generic, public :: operator(+) => dim_sum
generic, public :: operator(-) => dim_diff
generic, public :: operator(/) => dim_div
procedure, public :: quantity
generic, public :: sqrt => dim_sqrt
procedure, private :: dim_sqrt
procedure, private :: nemo_dimensions_sizeof