solstice

Compute collected power and efficiencies of a solar plant
git clone git://git.meso-star.com/solstice.git
Log | Files | Refs | README | LICENSE

commit ce19269ae3ac8b54ea852961c3a47a7f640ce7c8
parent 788b495441c9a0e439fec76670fef0f0b988cde6
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Tue, 14 Mar 2017 16:07:18 +0100

Handle the per_primitive receiver flag in solstice

Diffstat:
Msrc/solstice.c | 1+
Msrc/solstice.h | 1+
Msrc/solstice_c.h | 3++-
Msrc/solstice_entity.c | 2+-
Msrc/solstice_node.c | 5+++--
5 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/solstice.c b/src/solstice.c @@ -417,6 +417,7 @@ setup_receivers(struct solstice* solstice, struct srcvl* srcvl) receiver.node = NULL; receiver.side = rcv.side; + receiver.per_primitive = rcv.per_primitive; res = htable_receiver_set(&solstice->receivers, &name, &receiver); if(res != RES_OK) { diff --git a/src/solstice.h b/src/solstice.h @@ -35,6 +35,7 @@ struct sanim_node; struct solstice_receiver { struct solstice_node* node; enum srcvl_side side; + int per_primitive; }; #define DARRAY_NAME nodes diff --git a/src/solstice_c.h b/src/solstice_c.h @@ -129,7 +129,8 @@ solstice_node_geometry_set_primary extern LOCAL_SYM res_T solstice_node_geometry_set_receiver (struct solstice_node* node, - const int mask); /* Combination of ssol_side_flag */ + const int mask, /* Combination of ssol_side_flag */ + const int per_primitive); /* Enable the per primitive integration */ extern LOCAL_SYM void solstice_node_target_get_tracking diff --git a/src/solstice_entity.c b/src/solstice_entity.c @@ -336,7 +336,7 @@ create_node const int mask = srcvl_side_to_ssol_mask(rcv->side); ASSERT(rcv->node == NULL); /* Receiver is not attached to a node */ - res = solstice_node_geometry_set_receiver(node, mask); + res = solstice_node_geometry_set_receiver(node, mask, rcv->per_primitive); if(res != RES_OK) { fprintf(stderr, "Could not define the entity `%s' as a receiver.\n", str_cget(&entity->name)); diff --git a/src/solstice_node.c b/src/solstice_node.c @@ -246,10 +246,11 @@ solstice_node_geometry_set_primary } res_T -solstice_node_geometry_set_receiver(struct solstice_node* node, const int mask) +solstice_node_geometry_set_receiver + (struct solstice_node* node, const int mask, const int per_primitive) { ASSERT(node && node->type == SOLSTICE_NODE_GEOMETRY); - return ssol_instance_set_receiver(node->instance, mask, 0); + return ssol_instance_set_receiver(node->instance, mask, per_primitive); } void