subroutine hydraulic_assemble_system_linear_1(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
class(abst_mesh), pointer :: element
integer(int32) :: iE, num_elements
num_elements = domain%get_num_elements()
call J%set_all(0.0d0)
R(:) = 0.0d0
do iE = 1, num_elements
element => domain%elements(iE)%e
call process_element_hydraulic_linear_1(J, R, element, pressure, temperature, porosity, ice, &
properties, controls, actual_order)
end do
end subroutine hydraulic_assemble_system_linear_1