FrontISTR  5.7.1
Large-scale structural analysis program with finit element method
hecmw_couple_f.f90
Go to the documentation of this file.
1 !-------------------------------------------------------------------------------
2 ! Copyright (c) 2019 FrontISTR Commons
3 ! This software is released under the MIT License, see LICENSE.txt
4 !-------------------------------------------------------------------------------
6 
8 
9  use hecmw_util
13 
14  implicit none
15  private
16  public :: hecmw_couple
17 
18 contains
19 
20 subroutine hecmw_couple(boundary_id, couple_value)
21 
22  character(len=HECMW_NAME_LEN), intent(in) :: boundary_id
23  type(hecmw_couple_value), intent(inout) :: couple_value
24  integer(kind=kint) :: ierr
25 
26  call hecmw_couple_exec_init_if(ierr)
27  if(ierr /= 0) call hecmw_abort(hecmw_comm_get_comm())
28 
29  call hecmw_couple_copy_f2c(couple_value, ierr)
30  if(ierr /= 0) call hecmw_abort(hecmw_comm_get_comm())
31 
32  call hecmw_couple_if(boundary_id, ierr)
33  if(ierr /= 0) call hecmw_abort(hecmw_comm_get_comm())
34 
35  call hecmw_couple_copy_c2f(couple_value, ierr)
36  if(ierr /= 0) call hecmw_abort(hecmw_comm_get_comm())
37 
39  if(ierr /= 0) call hecmw_abort(hecmw_comm_get_comm())
40 
41 end subroutine hecmw_couple
42 
43 end module hecmw_couple_f
void hecmw_couple_exec_finalize_if(int *err)
void hecmw_couple_if(char *boundary_id, int *err, int len)
void hecmw_couple_exec_init_if(int *err)
subroutine, public hecmw_couple_copy_c2f(couple_value, ierr)
subroutine, public hecmw_couple_copy_f2c(couple_value, ierr)
Coupling Interface.
subroutine, public hecmw_couple(boundary_id, couple_value)
I/O and Utility.
Definition: hecmw_util_f.F90:7
integer(kind=kint) function hecmw_comm_get_comm()
subroutine hecmw_abort(comm)