Skip to content
Snippets Groups Projects
Commit 43f00580 authored by Nils-Arne Dreier's avatar Nils-Arne Dreier
Browse files

add mpi_rank and decomp_domain variables

parent d9491eb6
No related branches found
No related tags found
No related merge requests found
......@@ -79,6 +79,7 @@ void catalyst_adapter_secondary_constructor(){
}
channel["data/topologies/mesh/elements/connectivity"].set(vidx);
// add all 2d variables
for(void* it = comin_var_get_descr_list_head();
it != nullptr;
it = comin_var_get_descr_list_next(it)){
......@@ -88,6 +89,7 @@ void catalyst_adapter_secondary_constructor(){
comin_metadata_get_integer(var_desc, "zaxis_id", &zaxis_id, &ierr);
if(var_desc.id == jg &&
zaxis_id == COMIN_ZAXIS_2D){
// TODO split tracers in separate arrays
channel["data/fields/" + std::string(var_desc.name) + "/association"] = "element";
channel["data/fields/" + std::string(var_desc.name) + "/topology"] = "mesh";
channel["data/fields/" + std::string(var_desc.name) + "/volume_dependend"] = false;
......@@ -97,6 +99,22 @@ void catalyst_adapter_secondary_constructor(){
.set_external(comin_var_get_ptr(handle), ncells);
}
}
// add some special fields
channel["data/fields/mpi_rank/association"] = "element";
channel["data/fields/mpi_rank/topology"] = "mesh";
channel["data/fields/mpi_rank/volume_dependend"] = false;
channel["data/fields/mpi_rank/values"]
.set(std::vector<int>(ncells, comin_parallel_get_host_mpi_rank()));
channel["data/fields/decomp_domain/association"] = "element";
channel["data/fields/decomp_domain/topology"] = "mesh";
channel["data/fields/decomp_domain/volume_dependend"] = false;
int* decomp_domain_ptr = nullptr;
int arr_size2[2];
comin_descrdata_get_domain_cells_decomp_domain(jg, &decomp_domain_ptr, arr_size2);
channel["data/fields/decomp_domain/values"]
.set_external(decomp_domain_ptr, ncells);
}
}
......@@ -104,9 +122,12 @@ void catalyst_adapter_execute(){
static int64_t cycle = 0;
catalyst_exec_params["catalyst/state/cycle"] = cycle;
catalyst_exec_params["catalyst/state/time"] = cycle;
static double dt = comin_descrdata_get_timesteplength(1); // TODO jg=1?!
catalyst_exec_params["catalyst/state/time"] = cycle*dt;
cycle++;
// TODO: update pointers of time dependend variables
enum catalyst_status err = catalyst_execute(conduit_cpp::c_node(&catalyst_exec_params));
if (err != catalyst_status_ok)
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment