FE-Project
Loading...
Searching...
No Matches
scale_element_operation_tensorprod3d Module Reference

module FElib / Element / Operation with 3D tensor product elements More...

Data Types

type  elementoperationtensorprod3d
interface  elementoperationtensorprod3d_init
type  elementoperationtensorprod3d_p1
type  elementoperationtensorprod3d_p10
type  elementoperationtensorprod3d_p11
type  elementoperationtensorprod3d_p12
type  elementoperationtensorprod3d_p13
type  elementoperationtensorprod3d_p14
type  elementoperationtensorprod3d_p15
type  elementoperationtensorprod3d_p2
type  elementoperationtensorprod3d_p3
type  elementoperationtensorprod3d_p4
type  elementoperationtensorprod3d_p5
type  elementoperationtensorprod3d_p6
type  elementoperationtensorprod3d_p7
type  elementoperationtensorprod3d_p8
type  elementoperationtensorprod3d_p9

Functions/Subroutines

subroutine, public elementoperationtensorprod3d_create (elem3d, obj)

Detailed Description

module FElib / Element / Operation with 3D tensor product elements

Description
A module for providing mathematical operations assuming a 3D tensor product element with (p+1)^3 DOF
Author
Yuta Kawai, Xuanzhengbo Ren, and Team SCALE

Function/Subroutine Documentation

◆ elementoperationtensorprod3d_create()

subroutine, public scale_element_operation_tensorprod3d::elementoperationtensorprod3d_create ( class(elementbase3d), intent(in) elem3d,
class(elementoperationtensorprod3d), intent(out), allocatable obj )

Definition at line 546 of file scale_element_operation_tensorprod3D.F90.

547 use scale_prc, only: prc_abort
548 implicit none
549 class(ElementBase3D), intent(in) :: elem3D
550 class(ElementOperationTensorProd3D), intent(out), allocatable :: obj
551 !-----------------------------------------------------
552
553 if ( elem3d%PolyOrder_h /= elem3d%PolyOrder_v ) then
554 log_info('ElemenetOperationTensorprod3D_create',*) 'PolyOrder_h and PolyOrder_v should be same in this module. ElemenetOperationGeneral should be used!'
555 call prc_abort
556 end if
557
558 select case( elem3d%PolyOrder_h )
559 case(1)
560 allocate( elementoperationtensorprod3d_p1 :: obj )
561 case(2)
562 allocate( elementoperationtensorprod3d_p2 :: obj )
563 case(3)
564 allocate( elementoperationtensorprod3d_p3 :: obj )
565 case(4)
566 allocate( elementoperationtensorprod3d_p4 :: obj )
567 case(5)
568 allocate( elementoperationtensorprod3d_p5 :: obj )
569 case(6)
570 allocate( elementoperationtensorprod3d_p6 :: obj )
571 case(7)
572 allocate( elementoperationtensorprod3d_p7 :: obj )
573 case(8)
574 allocate( elementoperationtensorprod3d_p8 :: obj )
575 case(9)
576 allocate( elementoperationtensorprod3d_p9 :: obj )
577 case(10)
578 allocate( elementoperationtensorprod3d_p10 :: obj )
579 case(11)
580 allocate( elementoperationtensorprod3d_p11 :: obj )
581 case(12)
582 allocate( elementoperationtensorprod3d_p12 :: obj )
583 case(13)
584 allocate( elementoperationtensorprod3d_p13 :: obj )
585 case(14)
586 allocate( elementoperationtensorprod3d_p14 :: obj )
587 case(15)
588 allocate( elementoperationtensorprod3d_p15 :: obj )
589 case default
590 log_info('ElemenetOperationTensorprod3D_create',*) 'The specified polynomial order execceds 15 and is not supported in this module. ElemenetOperationGeneral should be used!'
591 call prc_abort
592 end select
593 call obj%Init( elem3d )
594
595 return

References scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirx_p1(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirx_p10(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirx_p11(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirx_p12(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirx_p13(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirx_p14(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirx_p15(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirx_p2(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirx_p3(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirx_p4(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirx_p5(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirx_p6(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirx_p7(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirx_p8(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirx_p9(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_diry_p1(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_diry_p10(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_diry_p11(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_diry_p12(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_diry_p13(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_diry_p14(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_diry_p15(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_diry_p2(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_diry_p3(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_diry_p4(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_diry_p5(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_diry_p6(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_diry_p7(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_diry_p8(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_diry_p9(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirz_p1(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirz_p10(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirz_p11(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirz_p12(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirz_p13(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirz_p14(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirz_p15(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirz_p2(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirz_p3(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirz_p4(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirz_p5(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirz_p6(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirz_p7(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirz_p8(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_dirz_p9(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_divlike_dirxyz_p1(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_divlike_dirxyz_p10(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_divlike_dirxyz_p11(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_divlike_dirxyz_p12(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_divlike_dirxyz_p13(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_divlike_dirxyz_p14(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_divlike_dirxyz_p15(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_divlike_dirxyz_p2(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_divlike_dirxyz_p3(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_divlike_dirxyz_p4(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_divlike_dirxyz_p5(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_divlike_dirxyz_p6(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_divlike_dirxyz_p7(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_divlike_dirxyz_p8(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_divlike_dirxyz_p9(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_gradlike_dirxyz_p1(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_gradlike_dirxyz_p10(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_gradlike_dirxyz_p11(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_gradlike_dirxyz_p12(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_gradlike_dirxyz_p13(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_gradlike_dirxyz_p14(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_gradlike_dirxyz_p15(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_gradlike_dirxyz_p2(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_gradlike_dirxyz_p3(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_gradlike_dirxyz_p4(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_gradlike_dirxyz_p5(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_gradlike_dirxyz_p6(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_gradlike_dirxyz_p7(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_gradlike_dirxyz_p8(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_gradlike_dirxyz_p9(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_lift_hexahedral_p1(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_lift_hexahedral_p10(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_lift_hexahedral_p11(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_lift_hexahedral_p12(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_lift_hexahedral_p13(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_lift_hexahedral_p14(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_lift_hexahedral_p15(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_lift_hexahedral_p2(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_lift_hexahedral_p3(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_lift_hexahedral_p4(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_lift_hexahedral_p5(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_lift_hexahedral_p6(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_lift_hexahedral_p7(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_lift_hexahedral_p8(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_lift_hexahedral_p9(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_modalfilter_p1(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_modalfilter_p10(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_modalfilter_p11(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_modalfilter_p12(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_modalfilter_p13(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_modalfilter_p14(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_modalfilter_p15(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_modalfilter_p2(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_modalfilter_p3(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_modalfilter_p4(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_modalfilter_p5(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_modalfilter_p6(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_modalfilter_p7(), scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_modalfilter_p8(), and scale_element_operation_tensorprod3d_kernel::element_operation_kernel_matvec_modalfilter_p9().

Referenced by scale_element_operation_tensorprod3d::elementoperationtensorprod3d_init::elementoperationtensorprod3d_init(), and scale_model_meshbase_manager::modelmeshbase_init().