Skip to content
Snippets Groups Projects
Commit ff63a1ec authored by Nicolas Marsic's avatar Nicolas Marsic
Browse files

Removing concept of ElementData: not general enough -- Adding GroupOfJacobian:...

Removing concept of ElementData: not general enough -- Adding GroupOfJacobian: sexier -- Revert to by group assembly -- *BUT* weak() takes elementID: up to now use one sort at the beginning -- Need to fix that
parent 11687489
No related branches found
No related tags found
No related merge requests found
...@@ -82,13 +82,15 @@ void FunctionSpace::build(GroupOfElement& goe, ...@@ -82,13 +82,15 @@ void FunctionSpace::build(GroupOfElement& goe,
// Build Dof // // Build Dof //
buildDof(); buildDof();
// Link with GroupOfElement for ordering //
//goe.link(*this);
} }
void FunctionSpace::buildDof(void){ void FunctionSpace::buildDof(void){
// Get Elements // // Get Elements //
const unsigned int nElement = goe->getNumber(); const unsigned int nElement = goe->getNumber();
const vector<pair<const MElement*, ElementData> >& const vector<const MElement*>& element = goe->getAll();
element = goe->getAll();
// Init Struct // // Init Struct //
dof = new set<const Dof*, DofComparator>; dof = new set<const Dof*, DofComparator>;
...@@ -100,11 +102,11 @@ void FunctionSpace::buildDof(void){ ...@@ -100,11 +102,11 @@ void FunctionSpace::buildDof(void){
// Create Dofs // // Create Dofs //
for(unsigned int i = 0; i < nElement; i++){ for(unsigned int i = 0; i < nElement; i++){
// Get Dof for this Element // Get Dof for this Element
vector<Dof> myDof = getKeys(*(element[i].first)); vector<Dof> myDof = getKeys(*(element[i]));
unsigned int nDof = myDof.size(); unsigned int nDof = myDof.size();
// Create new GroupOfDof // Create new GroupOfDof
GroupOfDof* god = new GroupOfDof(nDof, *(element[i].first)); GroupOfDof* god = new GroupOfDof(nDof, *(element[i]));
(*group)[i] = god; (*group)[i] = god;
// Add Dof // Add Dof
...@@ -113,10 +115,7 @@ void FunctionSpace::buildDof(void){ ...@@ -113,10 +115,7 @@ void FunctionSpace::buildDof(void){
// Map GOD // Map GOD
eToGod->insert(pair<const MElement*, const GroupOfDof*> eToGod->insert(pair<const MElement*, const GroupOfDof*>
(element[i].first, god)); (element[i], god));
// Set in ElementData
goe->getElementData(i).setGroupOfDof(*god);
} }
} }
......
...@@ -37,6 +37,9 @@ ...@@ -37,6 +37,9 @@
Allow Hybrid Mesh Allow Hybrid Mesh
*/ */
class Mesh;
class GroupOfElement;
class FunctionSpace{ class FunctionSpace{
protected: protected:
// Geometry // // Geometry //
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment