Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
b494dd5
Made the initial build for npm (#25)
sridhar-mani May 22, 2025
261a474
Update author and contributors information in package.json
nikoscham May 22, 2025
21abdee
Add publishConfig to package.json for public access
nikoscham May 22, 2025
c556727
sync with dev branch (#26)
nikoscham May 22, 2025
eb7eeed
Update import statements in README.md to use ESM version of FEAScript
nikoscham May 22, 2025
767da8a
Merge remote-tracking branch 'origin/dev'
nikoscham May 22, 2025
9750827
frontPropagationScript solver (#29)
nikoscham Jul 30, 2025
c97116b
Set default value for eikonalActivationFlag in assembleFrontPropagati…
nikoscham Jul 30, 2025
b8eee2d
Refactor eikonalActivationFlag handling in FEAScriptModel and frontPr…
nikoscham Jul 30, 2025
0f188d7
Refactor FEAScript and Newton-Raphson methods
nikoscham Jul 30, 2025
1560d41
Add Solidification Front 2D example (#30)
nikoscham Jul 31, 2025
d16b94b
chore: bump version to 0.1.3 and update description in package.json (…
nikoscham Aug 22, 2025
46edd41
Add Liberapay username to FUNDING.yml
nikoscham Aug 22, 2025
4d88687
Fix capitalization in download instructions
nikoscham Aug 22, 2025
c07d377
Initial plan
Copilot Sep 2, 2025
4aaf7ef
Initial plan for WebGPU conjugate gradient solver implementation
Copilot Sep 2, 2025
ac704dc
Implement WebGPU conjugate gradient solver with improved precision
Copilot Sep 2, 2025
34bd6a0
Complete WebGPU conjugate gradient solver with robust fallback mechan…
Copilot Sep 2, 2025
474bc4c
Add comprehensive examples and WebGPU demo for conjugate gradient solver
Copilot Sep 2, 2025
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Refactor FEAScript and Newton-Raphson methods
- Updated the context object in FEAScriptModel to explicitly assign eikonalActivationFlag. - Simplified the assembly function call in newtonRaphson by removing conditional logic for front propagation, ensuring consistent parameter passing.
  • Loading branch information
nikoscham committed Jul 30, 2025
commit 0f188d7c55116affbdc19918f0cf75b86ecf913c
4 changes: 2 additions & 2 deletions dist/feascript.cjs.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/feascript.cjs.js.map

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dist/feascript.esm.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/feascript.esm.js.map

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dist/feascript.umd.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/feascript.umd.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/FEAScript.js
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ export class FEAScriptModel {
const context = {
meshConfig: this.meshConfig,
boundaryConditions: this.boundaryConditions,
eikonalActivationFlag,
eikonalActivationFlag: eikonalActivationFlag,
solverMethod: this.solverMethod,
initialSolution,
};
Expand Down
21 changes: 6 additions & 15 deletions src/methods/newtonRaphsonScript.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,21 +55,12 @@ export function newtonRaphson(assembleMat, context, maxIterations = 100, toleran
}

// Compute Jacobian and residual matrices
if (assembleMat.name === "assembleFrontPropagationMat") {
// Pass an additional viscous parameter for front propagation
({ jacobianMatrix, residualVector, nodesCoordinates } = assembleMat(
context.meshConfig,
context.boundaryConditions,
solutionVector, // The solution vector is required in the case of a non-linear equation
context.eikonalActivationFlag
));
} else {
// Standard call for other assembly functions
({ jacobianMatrix, residualVector, nodesCoordinates } = assembleMat(
context.meshConfig,
context.boundaryConditions
));
}
({ jacobianMatrix, residualVector, nodesCoordinates } = assembleMat(
context.meshConfig,
context.boundaryConditions,
solutionVector, // The solution vector is required in the case of a non-linear equation
context.eikonalActivationFlag
));

// Solve the linear system based on the specified solver method
const linearSystemResult = solveLinearSystem(context.solverMethod, jacobianMatrix, residualVector);
Expand Down