/* * Add variable to map */ void Model::addFloatVariableToMap(const std::string& variable, std::vector<float>* varData){ int numberOfVariables = getNumberOfVariables(); //number of variables in data file long newVariableId = numberOfVariables + variablesAdded; //ID#s start at 0, variablesAdded initially 0 // std::cout<<"adding variable "<<variable<<" to map with id "<< newVariableId << std::endl; variableData[variable]=varData; variableDataByID[newVariableId]=varData; fileReader->addVariableName(variable,newVariableId); variablesAdded ++; return; }
void Polynomial::scaleMarkedCoefficientToOne() { assert(isMarked()); FieldElement a=marked.c.inverse(); Monomial k(theRing); k.exponent=IntegerVector(getNumberOfVariables()); Term s(a,k); *this*=s; marked.c=marked.c.one(); }
void CSensProblem::addVariables(const CSensItem & item) { //create parameter group corresponding to sens item CCopasiParameterGroup* tmp; mpVariablesGroup->addGroup("Variables"); tmp = (CCopasiParameterGroup*)(mpVariablesGroup->getParameter(getNumberOfVariables() - 1)); createParametersInGroup(tmp); copySensItemToParameterGroup(&item, tmp); }
bool CSensProblem::changeVariables(size_t index, const CSensItem & item) { size_t num = getNumberOfVariables(); if (index > num) return false; if (index == num) addVariables(item); else { CCopasiParameterGroup * tmp = (CCopasiParameterGroup *)(mpVariablesGroup->getParameter(index)); copySensItemToParameterGroup(&item, tmp); } return true; }
std::vector<int> LocalToGlobalIndexMap::getElementVariableIDs( std::size_t const mesh_item_id) const { std::vector<int> vec; for (int i = 0; i < getNumberOfVariables(); i++) { for (int j=0; j<getNumberOfVariableComponents(i); j++) { auto comp_id = getGlobalComponent(i, j); if (!_rows(mesh_item_id, comp_id).empty()) vec.push_back(i); } } std::sort(vec.begin(), vec.end()); vec.erase(std::unique(vec.begin(), vec.end()), vec.end()); return vec; }
int LocalToGlobalIndexMap::getNumberOfVariableComponents(int variable_id) const { assert(variable_id < getNumberOfVariables()); return _variable_component_offsets[variable_id + 1] - _variable_component_offsets[variable_id]; }