FE-Project
Loading...
Searching...
No Matches
Data Types | Functions/Subroutines
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 516 of file scale_element_operation_tensorprod3D.F90.

517 use scale_prc, only: prc_abort
518 implicit none
519 class(ElementBase3D), intent(in) :: elem3D
520 class(ElementOperationTensorProd3D), intent(out), allocatable :: obj
521 !-----------------------------------------------------
522
523 if ( elem3d%PolyOrder_h /= elem3d%PolyOrder_v ) then
524 log_info('ElemenetOperationTensorprod3D_create',*) 'PolyOrder_h and PolyOrder_v should be same in this module. ElemenetOperationGeneral should be used!'
525 call prc_abort
526 end if
527
528 select case( elem3d%PolyOrder_h )
529 case(1)
530 allocate( elementoperationtensorprod3d_p1 :: obj )
531 case(2)
532 allocate( elementoperationtensorprod3d_p2 :: obj )
533 case(3)
534 allocate( elementoperationtensorprod3d_p3 :: obj )
535 case(4)
536 allocate( elementoperationtensorprod3d_p4 :: obj )
537 case(5)
538 allocate( elementoperationtensorprod3d_p5 :: obj )
539 case(6)
540 allocate( elementoperationtensorprod3d_p6 :: obj )
541 case(7)
542 allocate( elementoperationtensorprod3d_p7 :: obj )
543 case(8)
544 allocate( elementoperationtensorprod3d_p8 :: obj )
545 case(9)
546 allocate( elementoperationtensorprod3d_p9 :: obj )
547 case(10)
548 allocate( elementoperationtensorprod3d_p10 :: obj )
549 case(11)
550 allocate( elementoperationtensorprod3d_p11 :: obj )
551 case(12)
552 allocate( elementoperationtensorprod3d_p12 :: obj )
553 case(13)
554 allocate( elementoperationtensorprod3d_p13 :: obj )
555 case(14)
556 allocate( elementoperationtensorprod3d_p14 :: obj )
557 case(15)
558 allocate( elementoperationtensorprod3d_p15 :: obj )
559 case default
560 log_info('ElemenetOperationTensorprod3D_create',*) 'The specified polynomial order execceds 15 and is not supported in this module. ElemenetOperationGeneral should be used!'
561 call prc_abort
562 end select
563 call obj%Init( elem3d )
564
565 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().