subroutine hydraulic_assemble_system_linear_1_parallel(J, R, domain, pressure, temperature, porosity, ice, &
properties, controls, actual_order)
implicit none
type(type_crs), intent(inout) :: J
real(real64), intent(inout) :: R(:)
type(type_domain), intent(inout), target :: domain
type(type_variable), intent(in) :: pressure
type(type_variable), intent(in) :: temperature
type(type_variable), intent(in) :: ice
type(type_variable), intent(in) :: porosity
type(type_properties_manager), intent(in) :: properties
type(type_controls), intent(in) :: controls
integer(int32), intent(in) :: actual_order
integer(int32) :: c, ie_idx
class(abst_mesh), pointer :: element
call J%set_all(0.0d0)
R(:) = 0.0d0
!$omp parallel private(c, ie_idx, element)
do c = 1, domain%colors%num_colors
!$omp do
do ie_idx = 1, domain%colors%colored(c)%num_elements
element => domain%elements(domain%colors%colored(c)%elements(ie_idx))%e
call process_element_hydraulic_linear_1(J, R, element, pressure, temperature, porosity, ice, &
properties, controls, actual_order)
end do
!$omp end do
end do
!$omp end parallel
end subroutine hydraulic_assemble_system_linear_1_parallel