16 integer,
intent(in) :: np
17 integer,
intent(in) :: nodes(np)
18 integer,
intent(in) :: dofs(np)
19 real(kind=
kreal),
intent(in) :: values(np+1)
22 integer :: i, n_mpc, old_size, new_size
28 old_size = mpcs%mpc_index( n_mpc )
29 new_size = old_size+np
34 mpcs%mpc_index(mpcs%n_mpc) = mpcs%mpc_index(mpcs%n_mpc-1)+np
35 mpcs%mpc_const(mpcs%n_mpc) = values(np+1)
37 mpcs%mpc_item(old_size+i) = nodes(i)
38 mpcs%mpc_dof(old_size+i) = dofs(i)
39 mpcs%mpc_val(old_size+i) = values(i)
45 integer,
intent(in) :: np
48 integer :: n_mpc, old_size, nitem
50 old_size = mpcs%mpc_index( n_mpc )
51 nitem = old_size- mpcs%mpc_index( n_mpc-np )
This module provides functions to modify MPC conditions.
subroutine fstr_delete_mpc(np, mpcs)
Delete last n equation conditions from current mpc condition.
subroutine fstr_append_mpc(np, nodes, dofs, values, mpcs)
Append new equation condition at end of existing mpc conditions.
This module contains auxiliary functions in calculation setup.
subroutine fstr_delete_real_array(array, old_size, nitem)
subroutine fstr_expand_integer_array(array, old_size, new_size)
subroutine fstr_expand_index_array(array, old_size, new_size)
subroutine fstr_expand_real_array(array, old_size, new_size)
subroutine fstr_delete_integer_array(array, old_size, nitem)
subroutine fstr_delete_index_array(array, old_size, nindex)
integer(kind=4), parameter kreal