Memory consumption of DofMap::build?
Hi,
Im currently solving a linear elasticity problem with P2 elements in R^3. The function space has about 606.900 dofs.
Now I'm tring to refine the problem uniformly, which should give a function space with about 4.800.000 dofs.
The problem is that, ubuntu kills the process, because it takes too much memory (at least more than 6GB of 8GB).
I tried to figure out what takes so much memory and it seems like it is the DofMap::DofMap() / DofMap::build method, which is called inside adapt(FunctionS
Can anybody explain why this takes so much memory (1235 byte /dof)?
I guess it is the Cuthill McKee renumbering algorithm, which takes so much memory?
Is this necessary and is there a way to change this?
Could this be a problem of the topology of the domain? I'm starting with a cube which has topologically 6 holes in it.
like this:
http://
class ShapeDom : public SubDomain
{
public:
bool inside(const Array<double>& x, bool on_boundary) const
{
double r1 = 1.0/5.0+DOLFIN_EPS;
double r2 = 4.0/5.0-DOLFIN_EPS;
return ((x[0] < r1) || (x[0] > r2) || (x[1] < r1) || (x[1] > r2)) &&
((x[0] < r1) || (x[0] > r2) || (x[2] < r1) || (x[2] > r2)) &&
((x[1] < r1) || (x[1] > r2) || (x[2] < r1) || (x[2] > r2));
}
};
SubMesh mesh(UnitCube(
Thanks,
Felix
Question information
- Language:
- English Edit question
- Status:
- Answered
- For:
- DOLFIN Edit question
- Assignee:
- No assignee Edit question
- Last query:
- Last reply:
Can you help with this problem?
Provide an answer of your own, or ask Felix Ospald for more information if necessary.