mirror of
https://github.com/JuliaFEM/JuliaFEM.jl.git
synced 2026-08-06 04:21:33 +00:00
refactor(domains): Darcy, heat, and thermo-elastic kernels
Align primal Darcy and heat kernels with Pass~1 updates; extend thermo_elastic kernel; document new poroelastic/THM folders in domains README.
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2015-2026 Jukka Aho
|
||||
SPDX-License-Identifier: MIT
|
||||
-->
|
||||
|
||||
# src/domains/
|
||||
|
||||
Physics kernels that plug into the shared assembler infrastructure. Each
|
||||
@@ -17,6 +22,8 @@ same checkout.
|
||||
| `heat/` | `HeatKernel` | `test/domains/heat/` |
|
||||
| `darcy/` | `DarcyPotentialKernel` (primal potential); `DarcyMixedRT0P0Kernel` (Tet4 RT₀–P₀ H(div)) | `test/domains/darcy/` |
|
||||
| `thermo_elastic/` | `ThermoElasticKernel` (multi-field `u` + `T`) | `test/domains/thermo_elastic/` |
|
||||
| `poroelastic/` | `BiotPoroelasticKernel` (multi-field `u` + pore pressure `p`) | `test/domains/poroelastic/` |
|
||||
| `thermo_poroelastic/` | `ThermoPoroelasticKernel` (`u` + `T` + `p`; optional `kappa_tp`, `zeta_tp`, `heat_capacity`, `density` for `M_uu`). Module notes: `thermo_poroelastic/README.md`. | `test/domains/thermo_poroelastic/` (incl. column thermal decay vs Fourier) |
|
||||
|
||||
Narrative walkthrough for thermo-elasticity: `docs/src/thermo_elastic_walkthrough.md`
|
||||
in the package Documenter tree.
|
||||
|
||||
@@ -30,7 +30,7 @@ steady primal Darcy: same assembly path as thermal diffusion with tensor
|
||||
|
||||
```julia
|
||||
kernel = DarcyPotentialKernel(
|
||||
ContinuumFormulation{FullThreeD}(),
|
||||
ContinuumFormulation{ThreeDimensional}(),
|
||||
HydraulicConductivity(K = 1e-4),
|
||||
)
|
||||
```
|
||||
|
||||
@@ -36,7 +36,7 @@ Differences from `ContinuumKernel`:
|
||||
using Tensors
|
||||
|
||||
using ..JuliaFEM: AbstractKernel, AbstractFormulation, AbstractMaterial, AbstractField
|
||||
using ..JuliaFEM: ContinuumFormulation, FullThreeD
|
||||
using ..JuliaFEM: ContinuumFormulation, ThreeDimensional
|
||||
using ..JuliaFEM: Temperature, MoistureContent, PressurePotential, dofs_per_node, get_field
|
||||
using ..JuliaFEM: HeatConductivity, MoistureDiffusivity, HydraulicConductivity,
|
||||
ElementWiseScalarDiffusion, scalar_diffusion_tensor
|
||||
@@ -58,7 +58,7 @@ Domain kernel for steady-state **scalar diffusion**: linear heat conduction
|
||||
volume element.
|
||||
|
||||
Reuses `ContinuumFormulation{Theory}` (the geometric formulation is
|
||||
field-agnostic; `FullThreeD` works equally well for displacement,
|
||||
field-agnostic; `ThreeDimensional` works equally well for displacement,
|
||||
temperature, potential, …).
|
||||
|
||||
# Fields
|
||||
@@ -71,7 +71,7 @@ temperature, potential, …).
|
||||
|
||||
```julia
|
||||
kernel = HeatKernel(
|
||||
ContinuumFormulation{FullThreeD}(),
|
||||
ContinuumFormulation{ThreeDimensional}(),
|
||||
HeatConductivity(k = 401.0),
|
||||
)
|
||||
```
|
||||
|
||||
@@ -41,7 +41,7 @@ geometry batches via `GeometryCache.∇N_data` / `GeometryCache.N_data`
|
||||
using Tensors
|
||||
|
||||
using ..JuliaFEM: AbstractKernel, AbstractFormulation
|
||||
using ..JuliaFEM: ContinuumFormulation, FullThreeD, AbstractContinuumTheory
|
||||
using ..JuliaFEM: ContinuumFormulation, ThreeDimensional, AbstractContinuumTheory
|
||||
using ..JuliaFEM: AbstractMaterial, LinearElastic, HeatConductivity
|
||||
using ..JuliaFEM: elasticity_tensor, conductivity_tensor
|
||||
using ..JuliaFEM: AssemblyMaterialWorkspace
|
||||
|
||||
Reference in New Issue
Block a user