Factory_ Derived Type

type, public :: Factory_


Type-Bound Procedures

procedure, public :: cube => cube_Factory

  • public function cube_Factory(this, division, n) result(cubes)

    !$OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(Factory_), intent(in) :: this
    integer(kind=int32), intent(in) :: division(1:3)
    integer(kind=int32), intent(in) :: n

    Return Value type(FEMDomain_), (n)

procedure, public :: sphere => Sphere_Factory

  • public function Sphere_Factory(this, division, n) result(Spheres)

    $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(Factory_), intent(in) :: this
    integer(kind=int32), intent(in) :: division(1:3)
    integer(kind=int32), intent(in) :: n

    Return Value type(FEMDomain_), (n)

procedure, public :: soybean => Soybean_Factory

  • public function Soybean_Factory(this, config, n) result(Soybeans)

    $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(Factory_), intent(in) :: this
    character(len=*), intent(in) :: config
    integer(kind=int32), intent(in) :: n

    Return Value type(soybean_), (n)

procedure, public, pass :: move_forall_femdomain_Factory

  • public subroutine move_forall_femdomain_Factory(this, objects, x, y, z)

    $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(Factory_), intent(in) :: this
    type(FEMDomain_), intent(inout) :: objects(:)
    real(kind=real64), intent(in) :: x
    real(kind=real64), intent(in) :: y
    real(kind=real64), intent(in) :: z

procedure, public, pass :: move_foreach_femdomain_Factory

  • public subroutine move_foreach_femdomain_Factory(this, objects, x, y, z)

    $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(Factory_), intent(in) :: this
    type(FEMDomain_), intent(inout) :: objects(:)
    real(kind=real64), intent(in) :: x(:)
    real(kind=real64), intent(in) :: y(:)
    real(kind=real64), intent(in) :: z(:)

procedure, public, pass :: move_foreach_soybean_Factory => move_foreach_Soybean_Factory

  • public subroutine move_foreach_Soybean_Factory(this, objects, x, y, z)

    $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(Factory_), intent(in) :: this
    type(soybean_), intent(inout) :: objects(:)
    real(kind=real64), intent(in) :: x(:)
    real(kind=real64), intent(in) :: y(:)
    real(kind=real64), intent(in) :: z(:)
  • public subroutine move_forall_femdomain_Factory(this, objects, x, y, z)

    $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(Factory_), intent(in) :: this
    type(FEMDomain_), intent(inout) :: objects(:)
    real(kind=real64), intent(in) :: x
    real(kind=real64), intent(in) :: y
    real(kind=real64), intent(in) :: z
  • public subroutine move_foreach_femdomain_Factory(this, objects, x, y, z)

    $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(Factory_), intent(in) :: this
    type(FEMDomain_), intent(inout) :: objects(:)
    real(kind=real64), intent(in) :: x(:)
    real(kind=real64), intent(in) :: y(:)
    real(kind=real64), intent(in) :: z(:)
  • public subroutine move_foreach_Soybean_Factory(this, objects, x, y, z)

    $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(Factory_), intent(in) :: this
    type(soybean_), intent(inout) :: objects(:)
    real(kind=real64), intent(in) :: x(:)
    real(kind=real64), intent(in) :: y(:)
    real(kind=real64), intent(in) :: z(:)

procedure, public, pass :: rotate_forall_Factory

  • public subroutine rotate_forall_Factory(this, objects, x, y, z)

    $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(Factory_), intent(in) :: this
    type(FEMDomain_), intent(inout) :: objects(:)
    real(kind=real64), intent(in) :: x
    real(kind=real64), intent(in) :: y
    real(kind=real64), intent(in) :: z

procedure, public, pass :: rotate_foreach_Factory

  • public subroutine rotate_foreach_Factory(this, objects, x, y, z)

    $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(Factory_), intent(in) :: this
    type(FEMDomain_), intent(inout) :: objects(:)
    real(kind=real64), intent(in) :: x(:)
    real(kind=real64), intent(in) :: y(:)
    real(kind=real64), intent(in) :: z(:)

generic, public :: rotate => rotate_forall_Factory, rotate_foreach_Factory

  • public subroutine rotate_forall_Factory(this, objects, x, y, z)

    $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(Factory_), intent(in) :: this
    type(FEMDomain_), intent(inout) :: objects(:)
    real(kind=real64), intent(in) :: x
    real(kind=real64), intent(in) :: y
    real(kind=real64), intent(in) :: z
  • public subroutine rotate_foreach_Factory(this, objects, x, y, z)

    $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(Factory_), intent(in) :: this
    type(FEMDomain_), intent(inout) :: objects(:)
    real(kind=real64), intent(in) :: x(:)
    real(kind=real64), intent(in) :: y(:)
    real(kind=real64), intent(in) :: z(:)

procedure, public, pass :: resize_forall_Factory

  • public subroutine resize_forall_Factory(this, objects, x, y, z)

    $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(Factory_), intent(in) :: this
    type(FEMDomain_), intent(inout) :: objects(:)
    real(kind=real64), intent(in), optional :: x
    real(kind=real64), intent(in), optional :: y
    real(kind=real64), intent(in), optional :: z

procedure, public, pass :: resize_foreach_Factory

  • public subroutine resize_foreach_Factory(this, objects, x, y, z)

    $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(Factory_), intent(in) :: this
    type(FEMDomain_), intent(inout) :: objects(:)
    real(kind=real64), intent(in) :: x(:)
    real(kind=real64), intent(in) :: y(:)
    real(kind=real64), intent(in) :: z(:)

generic, public :: resize => resize_forall_Factory, resize_foreach_Factory

  • public subroutine resize_forall_Factory(this, objects, x, y, z)

    $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(Factory_), intent(in) :: this
    type(FEMDomain_), intent(inout) :: objects(:)
    real(kind=real64), intent(in), optional :: x
    real(kind=real64), intent(in), optional :: y
    real(kind=real64), intent(in), optional :: z
  • public subroutine resize_foreach_Factory(this, objects, x, y, z)

    $OMP end parallel do

    Arguments

    Type IntentOptional Attributes Name
    class(Factory_), intent(in) :: this
    type(FEMDomain_), intent(inout) :: objects(:)
    real(kind=real64), intent(in) :: x(:)
    real(kind=real64), intent(in) :: y(:)
    real(kind=real64), intent(in) :: z(:)