feat: implement 3d euler beam fortran kernel
This commit is contained in:
@@ -33,6 +33,23 @@
|
||||
"src/fortran/uel_3d_euler_beam_abi_adapter.f90",
|
||||
"tests/fortran/uel_3d_euler_beam/test_invalid_inputs.f90"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "uel_3d_euler_beam_kernel_source_smoke",
|
||||
"sources": [
|
||||
"tests/fortran/uel_3d_euler_beam/test_support.f90",
|
||||
"src/fortran/uel_3d_euler_beam_kernel.f90",
|
||||
"tests/fortran/test_uel_3d_euler_beam_kernel.f90"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "uel_3d_euler_beam_abi_adapter_source_smoke",
|
||||
"sources": [
|
||||
"tests/fortran/uel_3d_euler_beam/test_support.f90",
|
||||
"src/fortran/uel_3d_euler_beam_kernel.f90",
|
||||
"src/fortran/uel_3d_euler_beam_abi_adapter.f90",
|
||||
"tests/fortran/test_uel_3d_euler_beam_abi_adapter.f90"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
program test_uel_3d_euler_beam_abi_adapter
|
||||
use uel_3d_euler_beam_test_support
|
||||
use uel_3d_euler_beam_kernel, only: UEL3DEB_OK
|
||||
use uel_3d_euler_beam_abi_adapter, only: uel3deb_abi_static
|
||||
implicit none
|
||||
|
||||
real(dp) :: rhs(12, 1)
|
||||
real(dp) :: amatrx(12, 12)
|
||||
real(dp) :: energy(8)
|
||||
real(dp) :: props(9)
|
||||
real(dp) :: coords(3, 2)
|
||||
real(dp) :: u(12)
|
||||
real(dp) :: pnewdt
|
||||
integer :: lflags(5)
|
||||
integer :: jprops(1)
|
||||
integer :: status
|
||||
|
||||
coords(:, 1) = [0.0_dp, 0.0_dp, 0.0_dp]
|
||||
coords(:, 2) = [2.0_dp, 0.0_dp, 0.0_dp]
|
||||
props = [210.0e9_dp, 80.0e9_dp, 3.0e-3_dp, 4.0e-6_dp, 7.0e-6_dp, &
|
||||
2.5e-6_dp, 0.0_dp, 1.0_dp, 0.0_dp]
|
||||
u = 0.0_dp
|
||||
pnewdt = 1.0_dp
|
||||
lflags = 0
|
||||
lflags(3) = 2
|
||||
jprops = 0
|
||||
|
||||
call uel3deb_abi_static(rhs, amatrx, energy, 12, 1, 0, props, 9, coords, &
|
||||
3, 2, u, lflags, 12, 0, pnewdt, jprops, 0, status)
|
||||
call assert_equal_int(status, UEL3DEB_OK, 'abi adapter source smoke status')
|
||||
call assert_matrix_symmetric(amatrx, tol_symmetry, 'abi adapter source smoke K')
|
||||
write(*, '(A)') 'PASS uel_3d_euler_beam_abi_adapter_source_smoke'
|
||||
end program test_uel_3d_euler_beam_abi_adapter
|
||||
@@ -0,0 +1,19 @@
|
||||
program test_uel_3d_euler_beam_kernel
|
||||
use uel_3d_euler_beam_test_support
|
||||
use uel_3d_euler_beam_kernel, only: &
|
||||
UEL3DEB_OK, uel3deb_validate_kernel_inputs
|
||||
implicit none
|
||||
|
||||
real(dp) :: coords(3, 2)
|
||||
real(dp) :: props(9)
|
||||
integer :: status
|
||||
|
||||
coords(:, 1) = [0.0_dp, 0.0_dp, 0.0_dp]
|
||||
coords(:, 2) = [2.0_dp, 0.0_dp, 0.0_dp]
|
||||
props = [210.0e9_dp, 80.0e9_dp, 3.0e-3_dp, 4.0e-6_dp, 7.0e-6_dp, &
|
||||
2.5e-6_dp, 0.0_dp, 1.0_dp, 0.0_dp]
|
||||
|
||||
call uel3deb_validate_kernel_inputs(coords, props, status)
|
||||
call assert_equal_int(status, UEL3DEB_OK, 'kernel source smoke status')
|
||||
write(*, '(A)') 'PASS uel_3d_euler_beam_kernel_source_smoke'
|
||||
end program test_uel_3d_euler_beam_kernel
|
||||
Reference in New Issue
Block a user