class PDESolver[source]

PDESolver(assemble_tensors_when_passed_to_problem:bool=False)

A parent class that inherits all PDE solvers.

Type Default Details
assemble_tensors_when_passed_to_problem bool False Whether the PDE solver methods pre-assembles any tensors or arrays before solving the PDE for a concrete problem.

PDESolver.solve_pde[source]

PDESolver.solve_pde(solution:dl4to.solution.Solution, p:float=1.0, binary:bool=False)

Solves the pde for solution and SIMP exponent p. Returns three torch.Tensor objects: displacements u, stresses σ and von Mises stresses σ_vm.

Type Default Details
solution dl4to.solution.Solution The solution for which the PDE should be solved.
p float 1.0 The SIMP exponent when solving the PDE. Should usually be left at its default value of 1..
binary bool False Whether the densities in the solution should be binarized before solving the PDE.

PDESolver.__call__[source]

PDESolver.__call__(solution:dl4to.solution.Solution, p:float=1.0, binary:bool=False)

Does the same as the solve_pde method. Solves the pde for solution and SIMP exponent p. Returns three torch.Tensor objects: displacements u, stresses σ and von Mises stresses σ_vm.

Type Default Details
solution dl4to.solution.Solution The solution for which the PDE should be solved.
p float 1.0 The SIMP exponent when solving the PDE. Should usually be left at its default value of 1..
binary bool False Whether the densities in the solution should be binarized before solving the PDE.

PDESolver.clone[source]

PDESolver.clone()

Returns a dl4to.pde.PDESolver object, which is a deepcopy of the PDE solver.