Skip to content
Snippets Groups Projects
Commit 6ae1dbcb authored by Stephan Schulz's avatar Stephan Schulz
Browse files

add set_min_domain_size and print_vtk_outlines to interface

parent b2866326
Branches
Tags
No related merge requests found
This commit is part of merge request !6. Comments created here will be created in the context of that merge request.
...@@ -40,10 +40,10 @@ extern "C" ...@@ -40,10 +40,10 @@ extern "C"
} }
// wrapper to set the minimum domain size // wrapper to set the minimum domain size
void ALL_set_min_domain_size_f(ALL<double,double>* all_obj, int dim, double* domain_size) void ALL_set_min_domain_size_f(ALL<double,double>* all_obj, ALL_LB_t method, int dim, double* domain_size)
{ {
if(all_obj->get_dimension() != dim) throw ALL_Invalid_Argument_Exception(__FILE__,__func__,__LINE__,"Length of array does not match dimension"); if(all_obj->get_dimension() != dim) throw ALL_Invalid_Argument_Exception(__FILE__,__func__,__LINE__,"Length of array does not match dimension");
all_obj->set_min_domain_size(domain_size); all_obj->set_min_domain_size(method, domain_size);
} }
// wrapper to set the work (scalar only for the moment) // wrapper to set the work (scalar only for the moment)
...@@ -112,4 +112,10 @@ extern "C" ...@@ -112,4 +112,10 @@ extern "C"
} }
} }
} }
void ALL_print_vtk_outlines_f(ALL<double,double>* all_obj, int step)
{
#ifdef ALL_VTK_OUTPUT
all_obj->print_vtk_outlines(step);
#endif
}
} }
...@@ -49,10 +49,11 @@ MODULE ALL_module ...@@ -49,10 +49,11 @@ MODULE ALL_module
REAL(c_double),VALUE :: gamma REAL(c_double),VALUE :: gamma
TYPE(c_ptr) :: this TYPE(c_ptr) :: this
END FUNCTION END FUNCTION
SUBROUTINE ALL_set_min_domain_size_int(obj, dim, domain_size) BIND(C,NAME="ALL_set_min_domain_size_f") SUBROUTINE ALL_set_min_domain_size_int(obj, method, dim, domain_size) BIND(C,NAME="ALL_set_min_domain_size_f")
USE ISO_C_BINDING USE ISO_C_BINDING
INTEGER(c_int), VALUE :: dim INTEGER(c_int), VALUE :: dim
REAL(c_double), DIMENSION(n) :: domain_size INTEGER(c_short), VALUE :: method
REAL(c_double), DIMENSION(dim) :: domain_size
TYPE(c_ptr), VALUE :: obj TYPE(c_ptr), VALUE :: obj
END SUBROUTINE END SUBROUTINE
SUBROUTINE ALL_set_work_int(obj, work) BIND(C,NAME="ALL_set_work_f") SUBROUTINE ALL_set_work_int(obj, work) BIND(C,NAME="ALL_set_work_f")
...@@ -102,6 +103,11 @@ MODULE ALL_module ...@@ -102,6 +103,11 @@ MODULE ALL_module
INTEGER(c_int) :: n INTEGER(c_int) :: n
REAL(c_double) :: vertices(*) REAL(c_double) :: vertices(*)
END SUBROUTINE END SUBROUTINE
SUBROUTINE ALL_print_vtk_outlines_int(obj, step) BIND(C,NAME="ALL_print_vtk_outlines_f")
USE ISO_C_BINDING
TYPE(c_ptr), VALUE :: obj
INTEGER(c_int), VALUE :: step
END SUBROUTINE
END INTERFACE END INTERFACE
! module subroutines to be called from Fortran code ! module subroutines to be called from Fortran code
CONTAINS CONTAINS
...@@ -111,11 +117,12 @@ MODULE ALL_module ...@@ -111,11 +117,12 @@ MODULE ALL_module
REAL(8) :: gamma REAL(8) :: gamma
obj%object = ALL_init_int(INT(dim,c_int),REAL(gamma,c_double)) obj%object = ALL_init_int(INT(dim,c_int),REAL(gamma,c_double))
END SUBROUTINE END SUBROUTINE
SUBROUTINE ALL_set_min_domain_size(obj, dim, domain_size) SUBROUTINE ALL_set_min_domain_size(obj, method, dim, domain_size)
INTEGER(c_short) :: method
INTEGER :: dim INTEGER :: dim
REAL(8), DIMENSION(n) :: domain_size REAL(8), DIMENSION(dim) :: domain_size
TYPE(ALL_t) :: obj TYPE(ALL_t) :: obj
CALL ALL_set_min_domain_size(obj%object, dim, domain_size) CALL ALL_set_min_domain_size_int(obj%object, method, dim, domain_size)
END SUBROUTINE END SUBROUTINE
SUBROUTINE ALL_set_work(obj, work) SUBROUTINE ALL_set_work(obj, work)
TYPE(ALL_t) :: obj TYPE(ALL_t) :: obj
...@@ -163,5 +170,10 @@ MODULE ALL_module ...@@ -163,5 +170,10 @@ MODULE ALL_module
REAL(8) :: vertices(*) REAL(8) :: vertices(*)
CALL ALL_get_new_vertices_int(obj%object,n,vertices) CALL ALL_get_new_vertices_int(obj%object,n,vertices)
END SUBROUTINE END SUBROUTINE
SUBROUTINE ALL_print_vtk_outlines(obj,step)
TYPE(ALL_t) :: obj
INTEGER :: step
CALL ALL_print_vtk_outlines_int(obj%object,step)
END SUBROUTINE
END MODULE ALL_module END MODULE ALL_module
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment