Compare commits

...

13 Commits

Author SHA1 Message Date
김경종 702f28a758 add fem theory query skill
Tests / Hermetic test suite (push) Has been cancelled
Tests / Skill frontmatter validation (push) Has been cancelled
2026-06-04 15:00:16 +09:00
김경종 e2078ef8d7 modify skill
Tests / Hermetic test suite (push) Has been cancelled
Tests / Skill frontmatter validation (push) Has been cancelled
2026-06-02 17:02:59 +09:00
김경종 553842ac3b modify wiki
Tests / Hermetic test suite (push) Has been cancelled
Tests / Skill frontmatter validation (push) Has been cancelled
2026-06-02 16:57:41 +09:00
김경종 b13258af9f add documents and wiki
Tests / Hermetic test suite (push) Has been cancelled
Tests / Skill frontmatter validation (push) Has been cancelled
2026-06-02 16:33:07 +09:00
김경종 bd50e09e36 add documents
Tests / Hermetic test suite (push) Has been cancelled
Tests / Skill frontmatter validation (push) Has been cancelled
2026-06-02 11:38:52 +09:00
김경종 d0af0c7066 add .md 2026-06-02 11:38:17 +09:00
김경종 b195ac126c add wiki
Tests / Hermetic test suite (push) Has been cancelled
Tests / Skill frontmatter validation (push) Has been cancelled
2026-06-01 09:36:33 +09:00
김경종 b7b79e38b1 modify wiki
Tests / Hermetic test suite (push) Has been cancelled
Tests / Skill frontmatter validation (push) Has been cancelled
2026-05-29 17:05:53 +09:00
김경종 b7f84e1c0f add documents
Tests / Hermetic test suite (push) Has been cancelled
Tests / Skill frontmatter validation (push) Has been cancelled
2026-05-29 15:59:56 +09:00
김경종 4cc312954f add wiki
Tests / Hermetic test suite (push) Has been cancelled
Tests / Skill frontmatter validation (push) Has been cancelled
2026-05-28 17:16:48 +09:00
김경종 665c5ab4e4 remove unnecessary files
Tests / Hermetic test suite (push) Has been cancelled
Tests / Skill frontmatter validation (push) Has been cancelled
2026-05-28 11:16:58 +09:00
김경종 72dad72703 add claude-obsidian
Tests / Hermetic test suite (push) Has been cancelled
Tests / Skill frontmatter validation (push) Has been cancelled
2026-05-28 10:57:16 +09:00
김경종 1b07531a45 revert commit 2026-05-28 10:49:52 +09:00
25601 changed files with 455040 additions and 116 deletions
+27
View File
@@ -0,0 +1,27 @@
{
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
"name": "agricidaniel-claude-obsidian",
"owner": {
"name": "AgriciDaniel",
"url": "https://github.com/AgriciDaniel"
},
"metadata": {
"description": "claude-obsidian: a self-organizing AI second brain for Obsidian + Claude Code by AgriciDaniel. A persistent, compounding wiki vault of plain Markdown you own, based on Karpathy's LLM Wiki pattern.",
"version": "1.9.2"
},
"plugins": [
{
"name": "claude-obsidian",
"source": "./",
"description": "Claude + Obsidian knowledge companion. v1.7 \"Compound Vault\" + v1.8 methodology modes close 5 of 5 priority gaps from the May 2026 compass artifact. Ships: substrate alignment with kepano/obsidian-skills, default Obsidian CLI transport, hybrid retrieval (Anthropic Sept 2024 contextual retrieval pattern: BM25 + cosine rerank), per-file advisory locking for multi-writer safety, pre-commit verifier agent, AND methodology modes (LYT / PARA / Zettelkasten / Generic) — first-class organizational support no other Claude+Obsidian competitor offers. v1.7.x audit fully closed; 50-query retrieval benchmark verified at +32pp top-1 / +41% error-reduction vs v1.6 baseline. Optional DragonScale Memory extension. Pairs with kepano/obsidian-skills (recommended) for canonical Obsidian primitives.",
"version": "1.9.2",
"author": {
"name": "AgriciDaniel",
"url": "https://github.com/AgriciDaniel"
},
"homepage": "https://github.com/AgriciDaniel/claude-obsidian",
"repository": "https://github.com/AgriciDaniel/claude-obsidian",
"license": "MIT"
}
]
}
+28
View File
@@ -0,0 +1,28 @@
{
"name": "claude-obsidian",
"version": "1.9.2",
"description": "Claude + Obsidian knowledge companion. Sets up a persistent, compounding wiki vault (Karpathy's LLM Wiki pattern). v1.7 \"Compound Vault\" + v1.8 methodology modes close 5 of 5 priority gaps from the May 2026 compass artifact. Ships: substrate alignment with kepano/obsidian-skills, default Obsidian CLI transport, hybrid retrieval (contextual prefix + BM25 + cosine rerank per Anthropic's Sept 2024 research), per-file advisory locking for multi-writer safety, pre-commit verifier agent, AND methodology modes (LYT / PARA / Zettelkasten / Generic) for first-class organizational support no other Claude+Obsidian competitor offers. v1.7.x audit closure: every BLOCKER + HIGH + MEDIUM + LOW finding from the v1.7.0 audit is CLOSED or DEFERRED-with-rationale. Optional DragonScale Memory extension (log folds, deterministic addresses, semantic tiling lint, boundary-first autoresearch).",
"author": {
"name": "AgriciDaniel",
"url": "https://github.com/AgriciDaniel"
},
"license": "MIT",
"homepage": "https://github.com/AgriciDaniel/claude-obsidian",
"repository": "https://github.com/AgriciDaniel/claude-obsidian",
"keywords": [
"obsidian",
"knowledge-base",
"wiki",
"memory",
"notetaker",
"second-brain",
"vault",
"markdown",
"cross-project",
"llm-wiki",
"karpathy",
"pkm",
"canvas",
"visual"
]
}
+65
View File
@@ -0,0 +1,65 @@
---
description: claude-obsidian: LLM Wiki Pattern for Obsidian vaults. Always-on context for any project pointed at this repo.
globs:
- "wiki/**/*.md"
- ".raw/**/*"
- "skills/**/SKILL.md"
alwaysApply: true
---
# claude-obsidian
A Claude Code plugin and Obsidian vault that builds persistent, compounding knowledge bases using Andrej Karpathy's LLM Wiki pattern. This repo works with Cursor's AI through the cross-platform Agent Skills format.
## What This Project Is
- **Vault root**: contains `wiki/` (agent-generated knowledge) and `.raw/` (source documents: immutable)
- **Hot cache**: `wiki/hot.md` (~500 tokens) holds recent session context
- **Index**: `wiki/index.md` is the master catalog Claude reads first
- **Skills**: 10 skills under `skills/<name>/SKILL.md` define ingest/query/lint/save/canvas/etc
## Skills Available
| Skill | When to use |
|---|---|
| `wiki` | Scaffold new vault, route to sub-skills |
| `wiki-ingest` | Ingest a file, URL, or image: creates 8-15 wiki pages |
| `wiki-query` | Answer questions from the wiki (Quick / Standard / Deep modes) |
| `wiki-lint` | Health check: orphans, dead links, gaps |
| `save` | File current conversation as a wiki note |
| `autoresearch` | Autonomous research loop |
| `canvas` | Create/edit Obsidian canvas files |
| `defuddle` | Clean web pages before ingest |
| `obsidian-markdown` | Obsidian syntax reference |
| `obsidian-bases` | Obsidian Bases (.base files) |
Read the relevant `skills/<name>/SKILL.md` file when the user's request matches a skill's trigger phrases.
## Critical Conventions
1. **Never modify `.raw/`**. Sources are immutable
2. **Read `wiki/hot.md` first** when starting a session (if it exists)
3. **Use wikilinks** (`[[Note Name]]`) for all internal references in wiki pages
4. **Frontmatter is flat YAML**. See `skills/wiki/references/frontmatter.md`
5. **Append to `wiki/log.md`**, never edit past entries
6. **Hot cache is overwritten** at session end (it's a cache, not a journal)
## Setup for Cursor
To make these skills first-class in Cursor, run:
```bash
ln -s "$(pwd)/skills" .cursor/skills
```
Or use the bundled installer:
```bash
bash bin/setup-multi-agent.sh
```
## Cross-Reference
- Plugin: https://github.com/AgriciDaniel/claude-obsidian
- Pattern: https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f
- Related: https://github.com/kepano/obsidian-skills
+2
View File
@@ -0,0 +1,2 @@
custom:
- https://www.skool.com/ai-marketing-hub-pro
+41
View File
@@ -0,0 +1,41 @@
---
name: Bug report
about: Something is broken or behaves unexpectedly
title: "[bug] "
labels: bug
assignees: ''
---
## What happened
A clear description of the unexpected behavior.
## Expected behavior
What you expected to happen instead.
## Reproduction steps
1. ...
2. ...
3. ...
## Environment
- Plugin version: (e.g. v1.9.0)
- Claude Code version: (run `claude --version`)
- OS: (e.g. macOS 14.5, Pop!_OS 24.04, Windows 11)
- Obsidian version: (if relevant)
- Transport selected: (filesystem / obsidian-cli / mcp-obsidian — see `.vault-meta/transport.json`)
## Skill / agent / script involved
Which surface is affected? (e.g. `/wiki-ingest`, `scripts/wiki-mode.py`, `agents/verifier.md`)
## Logs / output
```
Paste relevant terminal output or error messages here.
```
## What you tried
- [ ] Ran `make test` — all 8 suites green? Yes / No
- [ ] Checked CHANGELOG for known issues at your version
- [ ] Searched existing issues for similar reports
## Additional context
Anything else that might help (screenshots, related issues, recent changes).
+36
View File
@@ -0,0 +1,36 @@
---
name: Feature request
about: Suggest an idea, new skill, or enhancement
title: "[feature] "
labels: enhancement
assignees: ''
---
## Problem
What user need or workflow gap motivates this request? Be specific about the situation where today's behavior falls short.
## Proposed solution
Describe what you'd like to see. New skill? New agent? Change to an existing one? Sketch the interface (slash command, trigger phrases, expected output).
## Alternatives considered
What other approaches did you think about, and why is this one preferred?
## Scope
Which existing surface(s) does this touch?
- [ ] A new skill (`skills/<name>/`)
- [ ] A new agent (`agents/<name>.md`)
- [ ] A new script (`scripts/<name>`)
- [ ] Change to existing skill: (which?)
- [ ] Change to plugin manifest / hooks / setup scripts
- [ ] Documentation only
## Compatibility
- Does this change behavior for existing v1.x vaults? Yes / No
- Does it require a new opt-in (`bin/setup-*.sh`)? Yes / No
- Does it introduce a new dependency? Yes / No
## Testing
How would this be tested hermetically? (No network, no external services.)
## Additional context
Links, examples, or references to similar features in other tools.
+51
View File
@@ -0,0 +1,51 @@
# claude-obsidian: GitHub Copilot Instructions
This repository is a **Claude Code plugin and Obsidian vault** that builds persistent, compounding knowledge bases using Andrej Karpathy's LLM Wiki pattern. It is markdown-only. No build step, no compiled code, no runtime dependencies.
## Project Type
- Agent Skills package (cross-platform Agent Skills standard)
- Obsidian vault (interpretable by Obsidian directly)
- Claude Code plugin (installable via marketplace)
## Repository Layout
- `skills/`: 10 skills, each with a `SKILL.md` defining trigger phrases and instructions
- `hooks/hooks.json`: Claude Code lifecycle hooks (SessionStart, PostCompact, PostToolUse, Stop)
- `.claude-plugin/plugin.json`: plugin manifest
- `wiki/`: generated knowledge base (Markdown files with YAML frontmatter)
- `.raw/`: immutable source documents (never modify)
- `_templates/`: Obsidian Templater templates
- `_attachments/`: images and PDFs referenced by wiki pages
## Conventions Copilot Should Follow
When suggesting edits:
1. **Frontmatter is flat YAML** with plural keys: `tags`, `aliases`, `cssclasses`
2. **Internal links are wikilinks**: `[[Note Name]]`, not Markdown links to `.md` paths
3. **Dates are `YYYY-MM-DD`**, not ISO datetimes
4. **`.raw/` is immutable**. Never suggest edits to anything under that path
5. **`wiki/log.md` is append-only**, with new entries at the top
6. **`wiki/hot.md` is overwritten** at session end, not appended to
7. **Skills use only `name` and `description` in frontmatter**. No `allowed-tools`, no `triggers`, no `globs` (these are not part of the Agent Skills spec)
8. **Custom callouts**: this vault defines `[!contradiction]`, `[!gap]`, `[!key-insight]`, `[!stale]` in `.obsidian/snippets/vault-colors.css`. These render only with that snippet enabled.
## When Editing Skills (`skills/<name>/SKILL.md`)
- Frontmatter: `name` (matches directory name) and `description` (single quoted line, max ~250 useful chars)
- Body: short, imperative instructions. Reference files with backticks. Do not paste large code blocks unless they're essential.
- Trigger phrases go in the `description` field, not in body or non-standard fields
## When Editing Hooks (`hooks/hooks.json`)
- Valid event names only: `SessionStart`, `Stop`, `PreToolUse`, `PostToolUse`, `PreCompact`, `PostCompact`, `UserPromptSubmit`
- Hook types: `command` (shell), `prompt` (LLM), `http` (POST), `agent` (subagent)
- `matcher` field uses regex against tool names for `PreToolUse`/`PostToolUse`
- For `SessionStart`: matcher uses `startup`, `resume`, `clear`, or `compact`
## Cross-Reference
- Plugin: https://github.com/AgriciDaniel/claude-obsidian
- Pattern source: https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f
- Authoritative Obsidian-specific skills: https://github.com/kepano/obsidian-skills
+54
View File
@@ -0,0 +1,54 @@
# Pull request
## Summary
One-paragraph description of what this PR changes and why.
## Type
- [ ] Bug fix (`fix:`)
- [ ] New feature (`feat:`)
- [ ] Documentation (`docs:`)
- [ ] Refactor (`refactor:`)
- [ ] Test coverage (`test:`)
- [ ] Chore / build / maintenance (`chore:`)
## Related issue
Closes #<issue-number> (if applicable)
## Changes
List the files and surfaces touched:
- `skills/<name>/SKILL.md` — what changed
- `scripts/<name>.py` — what changed
- ...
## Six-cut self-review
- [ ] Read every file before changing it
- [ ] New identifiers named for the next reader
- [ ] Smallest unit that works (no speculative abstraction)
- [ ] Deletions kept up with additions where applicable
- [ ] New behavior has hermetic test coverage
- [ ] New failure modes have explicit handling + undo plan
## Testing
```
make test
```
Paste the tail of the output here (or a summary if too long):
```
All tests passed.
```
## Verifier
For non-trivial changes, dispatch `agents/verifier.md` on the staged diff and paste its verdict:
- Verdict: SHIP / HOLD-FIX-FIRST / NEEDS-REWORK
- BLOCKER: N / HIGH: N / MEDIUM: N / LOW: N
## CHANGELOG
- [ ] Added an entry under `## [Unreleased]` in `CHANGELOG.md`
## Screenshots / output
If the change affects user-visible output, paste a before/after example.
## Notes for reviewer
Anything specific the reviewer should focus on, or context that's not obvious from the diff.
+124
View File
@@ -0,0 +1,124 @@
name: Tests
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
jobs:
test:
name: Hermetic test suite
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Verify Python version
run: python3 --version
- name: Verify Bash + GNU coreutils
run: bash --version && date --version | head -1
- name: Make scripts executable
run: chmod +x scripts/*.sh scripts/*.py bin/*.sh tests/*.sh 2>/dev/null || true
- name: Run hermetic test suite
run: make test
- name: Verify wiki-mode CLI surfaces
run: |
python3 scripts/wiki-mode.py get
python3 scripts/wiki-mode.py config | python3 -m json.tool > /dev/null
python3 scripts/wiki-mode.py id
python3 scripts/wiki-mode.py templates
- name: Verify transport detection
run: bash scripts/detect-transport.sh --peek | python3 -m json.tool > /dev/null
lint-skills:
name: Skill frontmatter validation
runs-on: ubuntu-latest
timeout-minutes: 2
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install PyYAML
run: pip install pyyaml
- name: Validate every SKILL.md has valid YAML frontmatter
run: |
python3 <<'PYEOF'
import os, sys, yaml
errors = []
for root, dirs, files in os.walk('skills'):
for f in files:
if f == 'SKILL.md':
path = os.path.join(root, f)
with open(path) as fh:
content = fh.read()
if not content.startswith('---'):
errors.append(f"{path}: missing frontmatter")
continue
try:
end = content.index('\n---', 4)
frontmatter = yaml.safe_load(content[4:end])
if not frontmatter.get('name'):
errors.append(f"{path}: missing 'name' in frontmatter")
if not frontmatter.get('description'):
errors.append(f"{path}: missing 'description' in frontmatter")
except Exception as e:
errors.append(f"{path}: frontmatter parse error: {e}")
if errors:
print("\n".join(errors))
sys.exit(1)
print("All SKILL.md files have valid frontmatter.")
PYEOF
- name: Validate every agent has tools declared
run: |
python3 <<'PYEOF'
import os, sys, yaml
errors = []
for f in os.listdir('agents'):
if f.endswith('.md'):
path = os.path.join('agents', f)
with open(path) as fh:
content = fh.read()
if not content.startswith('---'):
errors.append(f"{path}: missing frontmatter")
continue
try:
end = content.index('\n---', 4)
frontmatter = yaml.safe_load(content[4:end])
if not frontmatter.get('tools'):
errors.append(f"{path}: missing 'tools' in frontmatter")
except Exception as e:
errors.append(f"{path}: frontmatter parse error: {e}")
if errors:
print("\n".join(errors))
sys.exit(1)
print("All agents have tools declared.")
PYEOF
- name: Validate plugin.json + marketplace.json
run: |
python3 -c "import json; json.load(open('.claude-plugin/plugin.json'))"
python3 -c "import json; json.load(open('.claude-plugin/marketplace.json'))"
python3 -c "import json; json.load(open('hooks/hooks.json'))"
echo "All plugin manifests are valid JSON."
+134
View File
@@ -0,0 +1,134 @@
# Obsidian
# workspace.json is intentionally tracked — ships with pre-configured graph view
# .obsidian/workspace.json
.obsidian/workspace-mobile.json
.obsidian/workspace-visual.json
.obsidian/plugins/*/data.json
!.obsidian/plugins/calendar/data.json
!.obsidian/plugins/thino/data.json
# Excalidraw main.js is 8MB — downloaded by setup-vault.sh, not tracked in git
.obsidian/plugins/obsidian-excalidraw-plugin/main.js
# Large binary assets — add your own images to _attachments/images/
# Uncomment the line below to exclude images from git (recommended for large vaults)
# _attachments/images/
.smart-connections/
.obsidian-git-data
.trash/
# System
.DS_Store
Thumbs.db
# Python
__pycache__/
*.pyc
.venv/
# Node
node_modules/
# Local secrets
.env
.env.local
*.local.md
# Private keys and credentials (defense-in-depth, catches accidental drops)
*.pem
*.key
*.p12
*.pfx
*.jks
id_rsa*
id_ed25519*
id_ecdsa*
id_dsa*
credentials*
secrets.y*ml
auth.json
# Personal files dropped into vault root by Obsidian (don't commit these)
WIKI*.md
PROMPT.md
Welcome.md
*.tmp.*
Obsidian vault*
Untitled.canvas
Cosmic Brain*.gif
Cosmic Brain*.png
Untitled *.canvas
Untitled.base
*.base
# Track our committed dashboard.base (Bases dashboard shipped with the vault)
!wiki/meta/dashboard.base
# Scratch canvases and personal vault files
Banana Images.canvas
Demo Images.canvas
*Images.canvas
# Daily notes created by Calendar plugin
????-??-??.md
# Video and large media files
*.mkv
*.mp4
*.mov
*.avi
# Transcripts (copyright — do not commit)
*Trascipt*.txt
*Transcript*.txt
# Personal images dropped in vault root
cosmic code.png
_attachments/code-genesis.png
_attachments/neural-voyager.png
_attachments/the-frontier.png
# Excalidraw drawings (personal, user-specific)
Excalidraw/
# Loose brand/personal GIFs and images in vault root (not _attachments/)
Claude SEO*.gif
Claude SEO*.png
# Private Skool Hub assets — not for public repos
_attachments/images/skool-hub/
# Archive of old versions (cosmic-brain, GIF assets)
claude-obsidian-archive/
# Sibling-plugin marketing assets that landed in working tree (claude-canvas covers / tutorials)
claude-canvas-covers and stuff/
claude-canvas/
# Codex CLI sentinel marker (0-byte read-only file created by `codex` runs)
.codex
# User-specific attachments
_attachments/
# DragonScale runtime lockfiles and local caches (flock + embedding cache; state files like counter.txt and thresholds.json ARE tracked)
.vault-meta/.address.lock
.vault-meta/.tiling.lock
.vault-meta/tiling-cache.json
.vault-meta/tiling-cache.*.tmp
# v1.7 Compound Vault runtime artifacts (regenerable; host-specific)
.vault-meta/.wiki-lock.meta
.vault-meta/.bm25.lock
.vault-meta/.embed-cache.lock
.vault-meta/locks/*
!.vault-meta/locks/.gitkeep
.vault-meta/chunks/
.vault-meta/bm25/
.vault-meta/embed-cache.json
.vault-meta/embed-cache.*.tmp
.vault-meta/transport.json
.vault-meta/transport.*.tmp
.vault-meta/hook.log
# v1.8 methodology mode (host-specific by default; `git add -f` to commit if desired)
.vault-meta/mode.json
.vault-meta/mode.*.tmp
+13
View File
@@ -0,0 +1,13 @@
{
"userIgnoreFilters": [
"agents/",
"commands/",
"hooks/",
"skills/",
"_templates/",
"README.md",
"CLAUDE.md",
"WIKI.md",
"Welcome.md"
]
}
+7
View File
@@ -0,0 +1,7 @@
{
"enabledCssSnippets": [
"vault-colors",
"ITS-Dataview-Cards",
"ITS-Image-Adjustments"
]
}
+11
View File
@@ -0,0 +1,11 @@
[
"obsidian-excalidraw-plugin",
"obsidian-banners",
"calendar",
"thino",
"calendar-beta",
"obsidian-memos",
"dataview",
"templater-obsidian",
"obsidian-git"
]
+33
View File
@@ -0,0 +1,33 @@
{
"file-explorer": true,
"global-search": true,
"switcher": true,
"graph": true,
"backlink": true,
"canvas": true,
"outgoing-link": true,
"tag-pane": true,
"footnotes": false,
"properties": true,
"page-preview": true,
"daily-notes": true,
"templates": true,
"note-composer": true,
"command-palette": true,
"slash-command": false,
"editor-status": true,
"bookmarks": true,
"markdown-importer": false,
"zk-prefixer": false,
"random-note": false,
"outline": true,
"word-count": true,
"slides": false,
"audio-recorder": false,
"workspaces": false,
"file-recovery": true,
"publish": false,
"sync": true,
"bases": true,
"webviewer": false
}
+58
View File
@@ -0,0 +1,58 @@
{
"collapse-filter": false,
"search": "path:wiki",
"showTags": false,
"showAttachments": false,
"hideUnresolved": true,
"showOrphans": false,
"collapse-color-groups": false,
"colorGroups": [
{
"query": "path:wiki/entities",
"color": {
"a": 1,
"rgb": 12945088
}
},
{
"query": "path:wiki/concepts",
"color": {
"a": 1,
"rgb": 5227007
}
},
{
"query": "path:wiki/sources",
"color": {
"a": 1,
"rgb": 6986069
}
},
{
"query": "path:wiki/meta",
"color": {
"a": 1,
"rgb": 5676246
}
},
{
"query": "path:wiki",
"color": {
"a": 1,
"rgb": 5676246
}
}
],
"collapse-display": true,
"showArrow": true,
"textFadeMultiplier": -1,
"nodeSizeMultiplier": 1.8,
"lineSizeMultiplier": 1.2,
"collapse-forces": true,
"centerStrength": 0.5,
"repelStrength": 20,
"linkStrength": 1,
"linkDistance": 120,
"scale": 0.3628873693012104,
"close": false
}
+34
View File
@@ -0,0 +1,34 @@
{
"shouldConfirmBeforeCreate": false,
"localeOverride": "en-GB",
"weekStart": "monday",
"showWeeklyNote": false,
"sourceSettings": {
"wordCount": {
"color": "#ebcb8b",
"display": "calendar-and-menu",
"wordsPerDot": 250
},
"tasks": {
"color": "#d08770",
"display": "calendar-and-menu",
"maxIncompleteTaskDots": 1
},
"links": {
"color": "#a3be8c",
"display": "menu"
},
"backlinks": {
"color": "#5e81ac",
"display": "menu"
},
"zettels": {
"color": "#b48ead",
"display": "calendar-and-menu"
},
"emoji-tags": {
"display": "none"
}
},
"showNoteIndicator": true
}
+15646
View File
File diff suppressed because it is too large Load Diff
+10
View File
@@ -0,0 +1,10 @@
{
"id": "calendar-beta",
"name": "Calendar (Beta)",
"description": "Calendar view of your daily notes",
"version": "2.0.0",
"author": "Liam Cain",
"authorUrl": "https://github.com/liamcain/",
"isDesktopOnly": false,
"minAppVersion": "0.9.11"
}
+13
View File
@@ -0,0 +1,13 @@
button:focus {
box-shadow: 0 0 0 1px var(--interactive-accent);
}
#calendar-container [data-emoji-tag]::after {
content: attr(data-emoji-tag);
position: absolute;
top: -4px;
right: 4px;
height: 8px;
width: 8px;
z-index: 1;
}
+20876
View File
File diff suppressed because one or more lines are too long
+11
View File
@@ -0,0 +1,11 @@
{
"id": "dataview",
"name": "Dataview",
"version": "0.5.68",
"minAppVersion": "0.13.11",
"description": "Complex data views for the data-obsessed.",
"author": "Michael Brenan <blacksmithgu@gmail.com>",
"authorUrl": "https://github.com/blacksmithgu",
"helpUrl": "https://blacksmithgu.github.io/obsidian-dataview/",
"isDesktopOnly": false
}
+141
View File
@@ -0,0 +1,141 @@
.block-language-dataview {
overflow-y: auto;
}
/*****************/
/** Table Views **/
/*****************/
/* List View Default Styling; rendered internally as a table. */
.table-view-table {
width: 100%;
}
.table-view-table > thead > tr, .table-view-table > tbody > tr {
margin-top: 1em;
margin-bottom: 1em;
text-align: left;
}
.table-view-table > tbody > tr:hover {
background-color: var(--table-row-background-hover);
}
.table-view-table > thead > tr > th {
font-weight: 700;
font-size: larger;
border-top: none;
border-left: none;
border-right: none;
border-bottom: solid;
max-width: 100%;
}
.table-view-table > tbody > tr > td {
text-align: left;
border: none;
font-weight: 400;
max-width: 100%;
}
.table-view-table ul, .table-view-table ol {
margin-block-start: 0.2em !important;
margin-block-end: 0.2em !important;
}
/** Rendered value styling for any view. */
.dataview-result-list-root-ul {
padding: 0em !important;
margin: 0em !important;
}
.dataview-result-list-ul {
margin-block-start: 0.2em !important;
margin-block-end: 0.2em !important;
}
/** Generic grouping styling. */
.dataview.result-group {
padding-left: 8px;
}
/*******************/
/** Inline Fields **/
/*******************/
.dataview.inline-field-key {
padding-left: 8px;
padding-right: 8px;
font-family: var(--font-monospace);
background-color: var(--background-primary-alt);
color: var(--nav-item-color-selected);
}
.dataview.inline-field-value {
padding-left: 8px;
padding-right: 8px;
font-family: var(--font-monospace);
background-color: var(--background-secondary-alt);
color: var(--nav-item-color-selected);
}
.dataview.inline-field-standalone-value {
padding-left: 8px;
padding-right: 8px;
font-family: var(--font-monospace);
background-color: var(--background-secondary-alt);
color: var(--nav-item-color-selected);
}
/***************/
/** Task View **/
/***************/
.dataview.task-list-item, .dataview.task-list-basic-item {
margin-top: 3px;
margin-bottom: 3px;
transition: 0.4s;
}
.dataview.task-list-item:hover, .dataview.task-list-basic-item:hover {
background-color: var(--text-selection);
box-shadow: -40px 0 0 var(--text-selection);
cursor: pointer;
}
/*****************/
/** Error Views **/
/*****************/
div.dataview-error-box {
width: 100%;
min-height: 150px;
display: flex;
align-items: center;
justify-content: center;
border: 4px dashed var(--background-secondary);
}
.dataview-error-message {
color: var(--text-muted);
text-align: center;
}
/*************************/
/** Additional Metadata **/
/*************************/
.dataview.small-text {
font-size: smaller;
color: var(--text-muted);
margin-left: 3px;
}
.dataview.small-text::before {
content: "(";
}
.dataview.small-text::after {
content: ")";
}
File diff suppressed because one or more lines are too long
+10
View File
@@ -0,0 +1,10 @@
{
"id": "obsidian-banners",
"name": "Banners",
"description": "Add banner images to your notes!",
"version": "1.3.3",
"minAppVersion": "0.13.21",
"author": "Danny Hernandez",
"authorUrl": "https://github.com/noatpad",
"isDesktopOnly": false
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,12 @@
{
"id": "obsidian-excalidraw-plugin",
"name": "Excalidraw",
"version": "2.22.0",
"minAppVersion": "1.5.7",
"description": "Sketch Your Mind. An Obsidian plugin to edit and view Excalidraw drawings. Enter the world of 4D Visual PKM.",
"author": "Zsolt Viczian",
"authorUrl": "https://excalidraw-obsidian.online",
"fundingUrl": "https://ko-fi.com/zsolt",
"helpUrl": "https://github.com/zsviczian/obsidian-excalidraw-plugin#readme",
"isDesktopOnly": false
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+10
View File
@@ -0,0 +1,10 @@
{
"author": "Vinzent",
"authorUrl": "https://github.com/Vinzent03",
"id": "obsidian-git",
"name": "Git",
"description": "Integrate Git version control with automatic backup and other advanced features.",
"isDesktopOnly": false,
"fundingUrl": "https://ko-fi.com/vinzent",
"version": "2.38.3"
}
+705
View File
@@ -0,0 +1,705 @@
@keyframes loading {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.workspace-leaf-content[data-type="git-view"] .button-border {
border: 2px solid var(--interactive-accent);
border-radius: var(--radius-s);
}
.workspace-leaf-content[data-type="git-view"] .view-content {
padding-left: 0;
padding-top: 0;
padding-right: 0;
}
.workspace-leaf-content[data-type="git-history-view"] .view-content {
padding-left: 0;
padding-top: 0;
padding-right: 0;
}
.loading {
overflow: hidden;
}
.loading > svg {
animation: 2s linear infinite loading;
transform-origin: 50% 50%;
display: inline-block;
}
.obsidian-git-center {
margin: auto;
text-align: center;
width: 50%;
}
.obsidian-git-textarea {
display: block;
margin-left: auto;
margin-right: auto;
}
.obsidian-git-disabled {
opacity: 0.5;
}
.obsidian-git-center-button {
display: block;
margin: 20px auto;
}
.tooltip.mod-left {
overflow-wrap: break-word;
}
.tooltip.mod-right {
overflow-wrap: break-word;
}
/* Limits the scrollbar to the view body */
.git-view {
display: flex;
flex-direction: column;
position: relative;
height: 100%;
}
/* Re-enable wrapping of nav buttns to prevent overflow on smaller screens #*/
.workspace-drawer .git-view .nav-buttons-container {
flex-wrap: wrap;
}
.git-tools {
display: flex;
margin-left: auto;
}
.git-tools .type {
padding-left: var(--size-2-1);
display: flex;
align-items: center;
justify-content: center;
width: 11px;
}
.git-tools .type[data-type="M"] {
color: orange;
}
.git-tools .type[data-type="D"] {
color: red;
}
.git-tools .buttons {
display: flex;
}
.git-tools .buttons > * {
padding: 0;
height: auto;
}
.workspace-leaf-content[data-type="git-view"] .tree-item-self,
.workspace-leaf-content[data-type="git-history-view"] .tree-item-self {
align-items: center;
}
.workspace-leaf-content[data-type="git-view"]
.tree-item-self:hover
.clickable-icon,
.workspace-leaf-content[data-type="git-history-view"]
.tree-item-self:hover
.clickable-icon {
color: var(--icon-color-hover);
}
/* Highlight an item as active if it's diff is currently opened */
.is-active .git-tools .buttons > * {
color: var(--nav-item-color-active);
}
.git-author {
color: var(--text-accent);
}
.git-date {
color: var(--text-accent);
}
.git-ref {
color: var(--text-accent);
}
/* ====== diff2html ======
The following styles are adapted from the obsidian-version-history plugin by
@kometenstaub https://github.com/kometenstaub/obsidian-version-history-diff/blob/main/src/styles.scss
which itself is adapted from the diff2html library with the following original license:
https://github.com/rtfpessoa/diff2html/blob/master/LICENSE.md
Copyright 2014-2016 Rodrigo Fernandes https://rtfpessoa.github.io/
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
.theme-dark,
.theme-light {
--git-delete-bg: #ff475040;
--git-delete-hl: #96050a75;
--git-insert-bg: #68d36840;
--git-insert-hl: #23c02350;
--git-change-bg: #ffd55840;
--git-selected: #3572b0;
--git-delete: #cc3333;
--git-insert: #399839;
--git-change: #d0b44c;
--git-move: #3572b0;
}
.git-diff {
.d2h-d-none {
display: none;
}
.d2h-wrapper {
text-align: left;
border-radius: 0.25em;
overflow: auto;
}
.d2h-file-header.d2h-file-header {
background-color: var(--background-secondary);
border-bottom: 1px solid var(--background-modifier-border);
font-family:
Source Sans Pro,
Helvetica Neue,
Helvetica,
Arial,
sans-serif;
height: 35px;
padding: 5px 10px;
}
.d2h-file-header,
.d2h-file-stats {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.d2h-file-header {
display: none;
}
.d2h-file-stats {
font-size: 14px;
margin-left: auto;
}
.d2h-lines-added {
border: 1px solid var(--color-green);
border-radius: 5px 0 0 5px;
color: var(--color-green);
padding: 2px;
text-align: right;
vertical-align: middle;
}
.d2h-lines-deleted {
border: 1px solid var(--color-red);
border-radius: 0 5px 5px 0;
color: var(--color-red);
margin-left: 1px;
padding: 2px;
text-align: left;
vertical-align: middle;
}
.d2h-file-name-wrapper {
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
font-size: 15px;
width: 100%;
}
.d2h-file-name {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: var(--text-normal);
font-size: var(--h5-size);
}
.d2h-file-wrapper {
border: 1px solid var(--background-secondary-alt);
border-radius: 3px;
margin-bottom: 1em;
max-height: 100%;
}
.d2h-file-collapse {
-webkit-box-pack: end;
-ms-flex-pack: end;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
border: 1px solid var(--background-secondary-alt);
border-radius: 3px;
cursor: pointer;
display: none;
font-size: 12px;
justify-content: flex-end;
padding: 4px 8px;
}
.d2h-file-collapse.d2h-selected {
background-color: var(--git-selected);
}
.d2h-file-collapse-input {
margin: 0 4px 0 0;
}
.d2h-diff-table {
border-collapse: collapse;
font-family: var(--font-monospace);
font-size: var(--code-size);
width: 100%;
}
.d2h-files-diff {
width: 100%;
}
.d2h-file-diff {
/*
overflow-y: scroll;
*/
border-radius: 5px;
font-size: var(--font-text-size);
line-height: var(--line-height-normal);
}
.d2h-file-side-diff {
display: inline-block;
margin-bottom: -8px;
margin-right: -4px;
overflow-x: scroll;
overflow-y: hidden;
width: 50%;
}
.d2h-code-line {
padding-left: 6em;
padding-right: 1.5em;
}
.d2h-code-line,
.d2h-code-side-line {
display: inline-block;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
white-space: nowrap;
width: 100%;
}
.d2h-code-side-line {
/* needed to be changed */
padding-left: 0.5em;
padding-right: 0.5em;
}
.d2h-code-line-ctn {
word-wrap: normal;
background: none;
display: inline-block;
padding: 0;
-webkit-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
vertical-align: middle;
width: 100%;
/* only works for line-by-line */
white-space: pre-wrap;
}
.d2h-code-line del,
.d2h-code-side-line del {
background-color: var(--git-delete-hl);
color: var(--text-normal);
}
.d2h-code-line del,
.d2h-code-line ins,
.d2h-code-side-line del,
.d2h-code-side-line ins {
border-radius: 0.2em;
display: inline-block;
margin-top: -1px;
text-decoration: none;
vertical-align: middle;
}
.d2h-code-line ins,
.d2h-code-side-line ins {
background-color: var(--git-insert-hl);
text-align: left;
}
.d2h-code-line-prefix {
word-wrap: normal;
background: none;
display: inline;
padding: 0;
white-space: pre;
}
.line-num1 {
float: left;
}
.line-num1,
.line-num2 {
-webkit-box-sizing: border-box;
box-sizing: border-box;
overflow: hidden;
/*
padding: 0 0.5em;
*/
text-overflow: ellipsis;
width: 2.5em;
padding-left: 0;
}
.line-num2 {
float: right;
}
.d2h-code-linenumber {
background-color: var(--background-primary);
border: solid var(--background-modifier-border);
border-width: 0 1px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: var(--text-faint);
cursor: pointer;
display: inline-block;
position: absolute;
text-align: right;
width: 5.5em;
}
.d2h-code-linenumber:after {
content: "\200b";
}
.d2h-code-side-linenumber {
background-color: var(--background-primary);
border: solid var(--background-modifier-border);
border-width: 0 1px;
-webkit-box-sizing: border-box;
box-sizing: border-box;
color: var(--text-faint);
cursor: pointer;
overflow: hidden;
padding: 0 0.5em;
text-align: right;
text-overflow: ellipsis;
width: 4em;
/* needed to be changed */
display: table-cell;
position: relative;
}
.d2h-code-side-linenumber:after {
content: "\200b";
}
.d2h-code-side-emptyplaceholder,
.d2h-emptyplaceholder {
background-color: var(--background-primary);
border-color: var(--background-modifier-border);
}
.d2h-code-line-prefix,
.d2h-code-linenumber,
.d2h-code-side-linenumber,
.d2h-emptyplaceholder {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.d2h-code-linenumber,
.d2h-code-side-linenumber {
direction: rtl;
}
.d2h-del {
background-color: var(--git-delete-bg);
border-color: var(--git-delete-hl);
}
.d2h-ins {
background-color: var(--git-insert-bg);
border-color: var(--git-insert-hl);
}
.d2h-info {
background-color: var(--background-primary);
border-color: var(--background-modifier-border);
color: var(--text-faint);
}
.d2h-del,
.d2h-ins,
.d2h-file-diff .d2h-change {
color: var(--text-normal);
}
.d2h-file-diff .d2h-del.d2h-change {
background-color: var(--git-change-bg);
}
.d2h-file-diff .d2h-ins.d2h-change {
background-color: var(--git-insert-bg);
}
.d2h-file-list-wrapper {
a {
text-decoration: none;
cursor: default;
-webkit-user-drag: none;
}
svg {
display: none;
}
}
.d2h-file-list-header {
text-align: left;
}
.d2h-file-list-title {
display: none;
}
.d2h-file-list-line {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
text-align: left;
}
.d2h-file-list {
}
.d2h-file-list > li {
border-bottom: 1px solid var(--background-modifier-border);
margin: 0;
padding: 5px 10px;
}
.d2h-file-list > li:last-child {
border-bottom: none;
}
.d2h-file-switch {
cursor: pointer;
display: none;
font-size: 10px;
}
.d2h-icon {
fill: currentColor;
margin-right: 10px;
vertical-align: middle;
}
.d2h-deleted {
color: var(--git-delete);
}
.d2h-added {
color: var(--git-insert);
}
.d2h-changed {
color: var(--git-change);
}
.d2h-moved {
color: var(--git-move);
}
.d2h-tag {
background-color: var(--background-secondary);
display: -webkit-box;
display: -ms-flexbox;
display: flex;
font-size: 10px;
margin-left: 5px;
padding: 0 2px;
}
.d2h-deleted-tag {
border: 1px solid var(--git-delete);
}
.d2h-added-tag {
border: 1px solid var(--git-insert);
}
.d2h-changed-tag {
border: 1px solid var(--git-change);
}
.d2h-moved-tag {
border: 1px solid var(--git-move);
}
/* needed for line-by-line*/
.d2h-diff-tbody {
position: relative;
}
/* My additions */
.cm-merge-revert {
width: 4em;
}
/* Ensure that merge revert markers are positioned correctly */
.cm-merge-revert > * {
position: absolute;
background-color: var(--background-secondary);
display: flex;
}
}
/* ====================== Line Authoring Information ====================== */
.cm-gutterElement.obs-git-blame-gutter {
/* Add background color to spacing inbetween and around the gutter for better aesthetics */
border-width: 0px 2px 0.2px;
border-style: solid;
border-color: var(--background-secondary);
background-color: var(--background-secondary);
}
.cm-gutterElement.obs-git-blame-gutter > div,
.line-author-settings-preview {
/* delegate text color to settings */
color: var(--obs-git-gutter-text);
font-family: monospace;
height: 100%; /* ensure, that age-based background color occupies entire parent */
text-align: right;
padding: 0px 6px;
white-space: pre; /* Keep spaces and do not collapse them. */
}
@media (max-width: 800px) {
/* hide git blame gutter not to superpose text */
.cm-gutterElement.obs-git-blame-gutter {
display: none;
}
}
.git-unified-diff-view,
.git-split-diff-view .cm-deletedLine .cm-changedText {
background-color: #ee443330;
}
.git-unified-diff-view,
.git-split-diff-view .cm-insertedLine .cm-changedText {
background-color: #22bb2230;
}
.git-obscure-prompt[git-is-obscured="true"] #git-show-password:after {
-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-eye"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg>');
}
.git-obscure-prompt[git-is-obscured="false"] #git-show-password:after {
-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-eye-off"><path d="M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49"></path><path d="M14.084 14.158a3 3 0 0 1-4.242-4.242"></path><path d="M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143"></path><path d="m2 2 20 20"></path></svg>');
}
/* Override styling of Codemirror merge view "collapsed lines" indicator */
.git-split-diff-view .ͼ2 .cm-collapsedLines {
background: var(--interactive-normal);
border-radius: var(--radius-m);
color: var(--text-accent);
font-size: var(--font-small);
padding: var(--size-4-1) var(--size-4-1);
}
.git-split-diff-view .ͼ2 .cm-collapsedLines:hover {
background: var(--interactive-hover);
color: var(--text-accent-hover);
}
.git-signs-gutter {
.cm-gutterElement {
display: grid;
/* Needed to align the sign properly for different line heigts. Such as
* when having a heading or list item.
*/
padding-top: 0 !important;
}
}
.git-gutter-marker:hover {
border-radius: 2px;
}
.git-gutter-marker.git-add {
background-color: var(--color-green);
justify-self: center;
height: inherit;
width: 0.2rem;
}
.git-gutter-marker.git-change {
background-color: var(--color-yellow);
justify-self: center;
height: inherit;
width: 0.2rem;
}
.git-gutter-marker.git-changedelete {
color: var(--color-yellow);
font-weight: var(--font-bold);
font-size: 1rem;
justify-self: center;
height: inherit;
}
.git-gutter-marker.git-delete {
background-color: var(--color-red);
height: 0.2rem;
width: 0.8rem;
align-self: end;
}
.git-gutter-marker.git-topdelete {
background-color: var(--color-red);
height: 0.2rem;
width: 0.8rem;
align-self: start;
}
div:hover > .git-gutter-marker.git-change {
width: 0.6rem;
}
div:hover > .git-gutter-marker.git-add {
width: 0.6rem;
}
div:hover > .git-gutter-marker.git-delete {
height: 0.6rem;
}
div:hover > .git-gutter-marker.git-topdelete {
height: 0.6rem;
}
div:hover > .git-gutter-marker.git-changedelete {
font-weight: var(--font-bold);
}
.git-gutter-marker.staged {
opacity: 0.5;
}
/* Prevent shifting of the editor when git signs gutter is the only gutter present */
.cm-gutters.cm-gutters-before:has(> .git-signs-gutter:only-child) {
margin-inline-end: 0;
.git-signs-gutter {
margin-inline-start: -1rem;
}
}
.git-changes-status-bar-colored {
.git-add {
color: var(--color-green);
}
.git-change {
color: var(--color-yellow);
}
.git-delete {
color: var(--color-red);
}
}
.git-changes-status-bar .git-add {
margin-right: 0.3em;
}
.git-changes-status-bar .git-change {
margin-right: 0.3em;
}
File diff suppressed because one or more lines are too long
+17
View File
@@ -0,0 +1,17 @@
{
"id": "templater-obsidian",
"name": "Templater",
"version": "2.20.5",
"description": "Advanced templating and automation using handlebars-like syntax.",
"minAppVersion": "1.12.2",
"author": "SilentVoid",
"authorUrl": "https://github.com/SilentVoid13",
"fundingUrl": {
"GitHub Sponser (Zachatoo, maintainer)": "https://github.com/sponsors/Zachatoo",
"Ko-fi (Zachatoo, maintainer)": "https://ko-fi.com/zachatoo",
"GitHub Sponser (SilentVoid13, creator)": "https://github.com/sponsors/SilentVoid13",
"Paypal (SilentVoid13, creator)": "https://www.paypal.com/donate?hosted_button_id=U2SRGAFYXT32Q"
},
"helpUrl": "https://silentvoid13.github.io/Templater/",
"isDesktopOnly": false
}
+226
View File
@@ -0,0 +1,226 @@
.templater_search {
width: calc(100% - 20px);
}
.templater_div {
border-top: 1px solid var(--background-modifier-border);
}
.templater_div > .setting-item {
border-top: none !important;
align-self: center;
}
.templater_div > .setting-item > .setting-item-control {
justify-content: space-around;
padding: 0;
width: 100%;
}
.templater_div
> .setting-item
> .setting-item-control
> .setting-editor-extra-setting-button {
align-self: center;
}
.templater_donating {
margin: 10px;
}
.templater_title {
margin: 0;
padding: 0;
margin-top: 5px;
text-align: center;
}
.templater_template {
align-self: center;
margin-left: 5px;
margin-right: 5px;
width: 70%;
}
.templater_cmd {
margin-left: 5px;
margin-right: 5px;
font-size: 14px;
width: 100%;
}
.templater_div2 > .setting-item {
align-content: center;
justify-content: center;
}
.templater-prompt-div,
.templater-multisuggester-div {
display: flex;
}
.templater-prompt-form {
display: flex;
flex-grow: 1;
}
.templater-prompt-input,
.templater-multisuggester-input {
flex-grow: 1;
}
.templater-button-div {
display: flex;
flex-direction: column;
align-items: center;
margin-top: 1rem;
}
textarea.templater-prompt-input {
height: 10rem;
}
textarea.templater-prompt-input:focus {
border-color: var(--interactive-accent);
}
.templater-multisuggester-list {
margin: 1.5em 0;
}
.cm-s-obsidian .templater-command-bg {
left: 0px;
right: 0px;
background-color: var(--background-primary-alt);
}
.cm-s-obsidian .cm-templater-command {
font-size: 0.85em;
font-family: var(--font-monospace);
line-height: 1.3;
}
.cm-s-obsidian .templater-inline .cm-templater-command {
background-color: var(--background-primary-alt);
}
.cm-s-obsidian .cm-templater-command.cm-templater-opening-tag {
font-weight: bold;
}
.cm-s-obsidian .cm-templater-command.cm-templater-closing-tag {
font-weight: bold;
}
.cm-s-obsidian .cm-templater-command.cm-templater-interpolation-tag {
color: var(--code-property, #008bff);
}
.cm-s-obsidian .cm-templater-command.cm-templater-execution-tag {
color: var(--code-function, #c0d700);
}
.cm-s-obsidian .cm-templater-command.cm-keyword {
color: var(--code-keyword, #00a7aa);
font-weight: normal;
}
.cm-s-obsidian .cm-templater-command.cm-atom {
color: var(--code-normal, #f39b35);
}
.cm-s-obsidian .cm-templater-command.cm-value,
.cm-s-obsidian .cm-templater-command.cm-number,
.cm-s-obsidian .cm-templater-command.cm-type {
color: var(--code-value, #a06fca);
}
.cm-s-obsidian .cm-templater-command.cm-def,
.cm-s-obsidian .cm-templater-command.cm-type.cm-def {
color: var(--code-normal, var(--text-normal));
}
.cm-s-obsidian .cm-templater-command.cm-property,
.cm-s-obsidian .cm-templater-command.cm-property.cm-def,
.cm-s-obsidian .cm-templater-command.cm-attribute {
color: var(--code-function, #98e342);
}
.cm-s-obsidian .cm-templater-command.cm-variable,
.cm-s-obsidian .cm-templater-command.cm-variable-2,
.cm-s-obsidian .cm-templater-command.cm-variable-3,
.cm-s-obsidian .cm-templater-command.cm-meta {
color: var(--code-property, #d4d4d4);
}
.cm-s-obsidian .cm-templater-command.cm-callee,
.cm-s-obsidian .cm-templater-command.cm-operator,
.cm-s-obsidian .cm-templater-command.cm-qualifier,
.cm-s-obsidian .cm-templater-command.cm-builtin {
color: var(--code-operator, #fc4384);
}
.cm-s-obsidian .cm-templater-command.cm-tag {
color: var(--code-tag, #fc4384);
}
.cm-s-obsidian .cm-templater-command.cm-comment,
.cm-s-obsidian .cm-templater-command.cm-comment.cm-tag,
.cm-s-obsidian .cm-templater-command.cm-comment.cm-attribute {
color: var(--code-comment, #696d70);
}
.cm-s-obsidian .cm-templater-command.cm-string,
.cm-s-obsidian .cm-templater-command.cm-string-2 {
color: var(--code-string, #e6db74);
}
.cm-s-obsidian .cm-templater-command.cm-header,
.cm-s-obsidian .cm-templater-command.cm-hr {
color: var(--code-keyword, #da7dae);
}
.cm-s-obsidian .cm-templater-command.cm-link {
color: var(--code-normal, #696d70);
}
.cm-s-obsidian .cm-templater-command.cm-error {
border-bottom: 1px solid #c42412;
}
.CodeMirror-hints {
position: absolute;
z-index: 10;
overflow: hidden;
list-style: none;
margin: 0;
padding: 2px;
-webkit-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
border-radius: 3px;
border: 1px solid silver;
background: white;
font-size: 90%;
font-family: monospace;
max-height: 20em;
overflow-y: auto;
}
.CodeMirror-hint {
margin: 0;
padding: 0 4px;
border-radius: 2px;
white-space: pre;
color: black;
cursor: pointer;
}
li.CodeMirror-hint-active {
background: #0088ff;
color: white;
}
+207
View File
@@ -0,0 +1,207 @@
{
"FirstLoaded": true,
"StartDate": "Sunday",
"InsertAfter": "",
"UserName": "THINO 😉",
"ProcessEntriesBelow": "",
"Language": "en",
"SaveMemoButtonLabel": "NOTE",
"SaveMemoButtonIcon": "",
"ShareFooterStart": "{ThinoNum} Thino {UsedDay} Day",
"ShareFooterEnd": "✍️ by {UserName}",
"DefaultPrefix": "List",
"DefaultTimePrefix": "HH:mm",
"UseDailyOrPeriodic": "Daily",
"InsertDateFormat": "Tasks",
"DefaultEditorLocation": "Top",
"UseButtonToShowEditor": false,
"FocusOnEditor": true,
"ShowClipboardOnFocus": true,
"OpenDailyMemosWithMemos": true,
"HideDoneTasks": false,
"ShowTaskLabel": true,
"AppendDateWhenTaskDone": false,
"MobileAndDesktop": "All",
"OpenMemosAutomatically": false,
"ShowScrollbar": false,
"ShowTime": true,
"ShowDate": true,
"AddBlankLineWhenDate": false,
"AutoSaveWhenOnMobile": false,
"DeleteFileName": "delete",
"QueryFileName": "query",
"UseVaultTags": false,
"SetCustomBackgroundImage": false,
"SetCustomMemoFooter": false,
"DefaultLightBackgroundImage": "",
"DefaultDarkBackgroundImage": "",
"DefaultLightBackgroundImageForClean": "",
"DefaultDarkBackgroundImageForClean": "",
"DefaultMemoComposition": "{TIME} {CONTENT}",
"CommentOnMemos": false,
"CommentsInOriginalNotes": false,
"FetchMemosMark": "#memo",
"FetchMemosFromNote": false,
"ShowCommentOnMemos": false,
"ShowLeftSideBar": false,
"MemoListView": "list",
"MemoSaveLocation": "DAILY",
"MemoOtherSaveLocation": {
"MemoDefaultCanvasPath": "basic.thino.canvas",
"MemoDefaultMultiFilePath": "Thino",
"MemoDefaultSingleFilePath": "basic.thino.md"
},
"JournalSettings": {
"granularity": "day",
"useIndependentSettings": false,
"headingDateFormat": "YYYY-MM-DD",
"daily": {
"folder": "",
"format": "YYYY-MM-DD",
"template": ""
},
"weekly": {
"folder": "",
"format": "gggg-[W]ww",
"template": ""
},
"monthly": {
"folder": "",
"format": "YYYY-MM",
"template": ""
},
"yearly": {
"folder": "",
"format": "YYYY",
"template": ""
}
},
"MemoDailyTarget": 5,
"HeatmapColorScheme": "default",
"EnabledHttpApi": false,
"HttpApiIpType": "127.0.0.1",
"HttpApiPort": "43999",
"AutoDownloadImage": false,
"EditorType": "obsidian",
"EnabledLocationList": [
{
"value": "DAILY",
"target": "ProcessEntriesBelow",
"insert": "InsertAfter"
}
],
"DeleteThinoDirectly": false,
"CaptureKey": {
"EnableCaptureKey": false,
"OpenThinoGlobally": "CommandOrControl+Shift+T",
"ShowNearMouse": false
},
"startSync": false,
"tokenForVerify": {},
"saveThinoType": "FILE",
"showDayMark": false,
"dayMarkRange": "day",
"navigation": false,
"password": "",
"needVerify": false,
"addTagAutomatically": false,
"addTagPosition": "End",
"addTagWithNewline": false,
"chatViewStyle": "default",
"MomentsBackgroundImage": "https://images.pexels.com/photos/531767/pexels-photo-531767.jpeg",
"MomentsIcon": "https://images.pexels.com/photos/256514/pexels-photo-256514.jpeg",
"MomentsQuote": "Share your thino with the world",
"DefaultThemeForThino": "modern",
"LastUpdatedVersion": "3.0.4",
"ShareToThinoWithText": false,
"ShareToThinoWithTextAppend": "",
"ShareToThinoWithTextPrepend": "",
"ShareToThinoWithTextNewline": "none",
"hidePinnedGroup": false,
"DifferentInsertTarget": false,
"InsertAfterForTask": "",
"ProcessContentTarget": "custom",
"InsertType": "custom",
"ShareAppendType": "preset",
"SharePrependType": "preset",
"SetFileNameAfterCreate": false,
"TagForFileTypeFiles": "thino/file",
"TagForMultiTypeFiles": "thino/multi",
"MinHeightForShare": "200px",
"ThinoMaxHeight": 0,
"ThinoCollapsedHeight": 100,
"OptimizeForCallout": true,
"AppendOrPrependTextViaServer": false,
"AppendViaServer": "",
"PrependViaServer": "",
"WithNewLineViaServer": "none",
"SupportSelectOtherView": false,
"WaitTemplaterToFinishParse": false,
"NavbarButton": false,
"AlwaysShowStatusText": false,
"FilterByMetadata": false,
"ShowSourcePath": false,
"ShowUpdateMessage": true,
"SyncManually": false,
"MemoFixedPrefix": "",
"MemoFixedSuffix": "",
"UseMemoFixedStrings": false,
"enableWordCount": false,
"maxWordCount": 0,
"enableReferenceLinksGroup": false,
"doubleClickBehavior": "edit-thino",
"useMobileViewDefaultHeader": false,
"IgnoreFolderForMultiType": [],
"UseBlockLinkWhenDragging": false,
"ShowScrollToTopButton": true,
"ZoomImageWhenViewing": false,
"ViewArchiveInRandomReview": false,
"DraggingBehavior": "block-link",
"superEnabled": false,
"enableSecretMasking": false,
"secretContentRegex": "",
"secretMaskingStyle": "blur",
"fsrsRequestRetention": 0.9,
"fsrsMaximumInterval": 36500,
"fsrsEnableFuzz": true,
"fsrsEnableShortTerm": true,
"fsrsWeights": [],
"fsrsDailyLimit": 100,
"wechat": {
"enabled": false,
"autoStart": false,
"defaultReply": "",
"voiceSaveMode": "both",
"agentRouting": {
"enabled": false,
"defaultAgent": "claude",
"agents": {
"claude": {
"type": "cli",
"command": "claude",
"aliases": [
"cc"
]
},
"codex": {
"type": "cli",
"command": "codex",
"aliases": [
"cx"
]
},
"gemini": {
"type": "cli",
"command": "gemini",
"aliases": [
"gm"
]
}
}
}
},
"general": {
"tokenExpiresAt": 0,
"userInfo": null
}
}
+372
View File
File diff suppressed because one or more lines are too long
+10
View File
@@ -0,0 +1,10 @@
{
"id": "obsidian-memos",
"name": "Thino",
"description": "Capturing ideas and save them into daily notes. (Closed source)",
"version": "3.0.4",
"author": "Boninall",
"authorUrl": "https://github.com/Quorafind/",
"isDesktopOnly": false,
"minAppVersion": "1.0.0"
}
File diff suppressed because one or more lines are too long
+70
View File
@@ -0,0 +1,70 @@
/* ITS Dataview Cards by SlRvb
* Source: https://github.com/SlRvb/Obsidian--ITS-Theme
* License: GPL-2.0 (https://github.com/SlRvb/Obsidian--ITS-Theme/blob/main/LICENSE)
*/
.dvl-c .table-view-table > thead::before {
content: "⚙";
font-family: var(--its, var(--default-font));
float: right;
padding: 5px 10px 5px 10px;
}
.dvl-c .table-view-table > thead > tr {
display: flex;
flex-direction: row;
border: 1px solid var(--outline, var(--background-modifier-box-shadow));
margin: 0;
flex-wrap: wrap;
border-radius: var(--radius, 3px);
}
.dvl-c table .table-view-table > thead > tr {
position: absolute;
right: 0;
}
.dvl-c .table-view-table > thead:not(:hover) > * {
display: none;
}
.dvl-c .dataview th {
font-family: var(--default-font);
background: var(--note, var(--background-primary));
font-size: var(--f-s-text, var(--editor-font-size));
border: 0;
color: var(--text, var(--text-normal));
opacity: 1;
}
.dvl-c .dataview th:hover {
background: var(--td, var(--background-modifier-form-field));
}
.dvl-c .list-view-ul li, .dvl-c .dataview.table-view-table > tbody > tr {
display: flex;
flex-direction: column;
background-color: var(--aside-bg, var(--background-primary-alt));
box-shadow: var(--outline, var(--background-modifier-box-shadow)) 0px 0px 0px 1px, var(--outline, var(--background-modifier-box-shadow)) 0px 2px 4px;
margin: 5px 0;
padding: 10px;
border-radius: var(--radius, 3px);
border: 0;
}
.dvl-c .list-view-ul, .dvl-c .dataview.table-view-table > tbody.table-view-tbody {
display: flex;
flex-direction: row;
flex-wrap: wrap;
padding-inline-start: 0;
}
.dvl-c .block-language-dataviewjs .dataview-result-list-li, .dvl-c .list-view-ul li, .dvl-c .dataview.table-view-table > tbody > tr {
flex: 1 0 150px;
margin: 10px;
}
.dvl-c .dataview.dataview.table-view-table td {
padding: 0;
background-color: transparent;
border: 0;
}
.dvl-c .list-view-ul li::before {
display: none;
}
.dvl-c .dataview.table-view-table li {
box-shadow: none;
border: 0;
padding: 0;
}
+668
View File
@@ -0,0 +1,668 @@
/* ITS Image Adjustments by SlRvb
* Source: https://github.com/SlRvb/Obsidian--ITS-Theme
* License: GPL-2.0 (https://github.com/SlRvb/Obsidian--ITS-Theme/blob/main/LICENSE)
*/
body {
--image-border-color: var(--background-modifier-border);
--image-border-width: 1px;
--image-border-padding: 8px;
--image-border-background: var(--td);
}
/*----Image Positions/Adjustments----*/
body {
--micro: 70px;
--tiny: 100px;
--small: 200px;
--small-med: 300px;
--med-small: 400px;
--medium: 500px;
--med-tall: 600px;
--tall: 700px;
}
.popover.hover-popover {
--micro: 70px;
--tiny: 100px;
--small: 150px;
--small-med: 200px;
--med-small: 250px;
--medium: 300px;
--med-tall: 450px;
--tall: 500px;
}
/*----Mobile----*/
@media (max-width: 500px) {
.theme-dark, .theme-light {
/*Mobile Sizes*/
--radius: 0px;
--micro: 70px;
--tiny: 100px;
--small: 150px;
--small-med: 200px;
--med-small: 250px;
--medium: 300px;
--med-tall: 450px;
--tall: 500px;
}
}
/*-Image Sizing-*/
/*Fit image within bounds WITHOUT stretching*/
img:is([alt*=cover], [alt*=cvr]),
.image-embed:is([src*="#cover"], [src*="#cvr"]),
span.image-embed:is([src*="#cover"], [src*="#cvr"]) img {
object-fit: cover;
}
:is(.view-content, .popover) img[alt][alt]:not([alt*=relative]):is([alt*=wmicro],
[alt*=wtiny],
[alt*=wsmall],
[alt*=ws-med],
[alt*=wm-sm],
[alt*=wmed],
[alt*=wm-tl],
[alt*=wtall],
[alt*=wfull]) {
width: var(--image-adj-size-w);
}
:is(.view-content, .popover) img[alt][alt]:not([alt*=relative]):is([alt*=hmicro],
[alt*=htiny],
[alt*=hsmall],
[alt*=hs-med],
[alt*=hm-sm],
[alt*=hmed],
[alt*=hm-tl],
[alt*=htall],
[alt*=hfull]) {
height: var(--image-adj-size-h);
}
:is(.view-content, .popover) img[alt][alt]:not([alt*=relative])[alt*=hmicro] {
--image-adj-size-h: var(--micro);
}
:is(.view-content, .popover) img[alt][alt]:not([alt*=relative])[alt*=htiny] {
--image-adj-size-h: var(--tiny);
}
:is(.view-content, .popover) img[alt][alt]:not([alt*=relative])[alt*=hsmall] {
--image-adj-size-h: var(--small);
}
:is(.view-content, .popover) img[alt][alt]:not([alt*=relative])[alt*=hs-med] {
--image-adj-size-h: var(--small-med);
}
:is(.view-content, .popover) img[alt][alt]:not([alt*=relative])[alt*=hm-sm] {
--image-adj-size-h: var(--med-small);
}
:is(.view-content, .popover) img[alt][alt]:not([alt*=relative])[alt*=hmed] {
--image-adj-size-h: var(--medium);
}
:is(.view-content, .popover) img[alt][alt]:not([alt*=relative])[alt*=hm-tl] {
--image-adj-size-h: var(--med-tall);
}
:is(.view-content, .popover) img[alt][alt]:not([alt*=relative])[alt*=htall] {
--image-adj-size-h: var(--tall);
}
:is(.view-content, .popover) img[alt][alt]:not([alt*=relative])[alt*=hfull] {
--image-adj-size-h: 100%;
}
:is(.view-content, .popover) img[alt][alt]:not([alt*=relative])[alt*=wmicro] {
--image-adj-size-w: var(--micro);
}
:is(.view-content, .popover) img[alt][alt]:not([alt*=relative])[alt*=wtiny] {
--image-adj-size-w: var(--tiny);
}
:is(.view-content, .popover) img[alt][alt]:not([alt*=relative])[alt*=wsmall] {
--image-adj-size-w: var(--small);
}
:is(.view-content, .popover) img[alt][alt]:not([alt*=relative])[alt*=ws-med] {
--image-adj-size-w: var(--small-med);
}
:is(.view-content, .popover) img[alt][alt]:not([alt*=relative])[alt*=wm-sm] {
--image-adj-size-w: var(--med-small);
}
:is(.view-content, .popover) img[alt][alt]:not([alt*=relative])[alt*=wmed] {
--image-adj-size-w: var(--medium);
}
:is(.view-content, .popover) img[alt][alt]:not([alt*=relative])[alt*=wm-tl] {
--image-adj-size-w: var(--med-tall);
}
:is(.view-content, .popover) img[alt][alt]:not([alt*=relative])[alt*=wtall] {
--image-adj-size-w: var(--tall);
}
:is(.view-content, .popover) img[alt][alt]:not([alt*=relative])[alt*=wfull] {
--image-adj-size-w: 100%;
}
.image-embed[alt][alt*=relative],
div:not(.image-embed) > img[alt][alt*=relative] {
--micro: 10%;
--tiny: 20%;
--small: 30%;
--small-med: 40%;
--med-small: 50%;
--medium: 60%;
--med-tall: 70%;
--tall: 85%;
}
.image-embed[alt][alt*=relative][alt*=wmicro],
div:not(.image-embed) > img[alt][alt*=relative][alt*=wmicro] {
width: var(--micro);
}
.image-embed[alt][alt*=relative][alt*=wtiny],
div:not(.image-embed) > img[alt][alt*=relative][alt*=wtiny] {
width: var(--tiny);
}
.image-embed[alt][alt*=relative][alt*=wsmall],
div:not(.image-embed) > img[alt][alt*=relative][alt*=wsmall] {
width: var(--small);
}
.image-embed[alt][alt*=relative][alt*=ws-med],
div:not(.image-embed) > img[alt][alt*=relative][alt*=ws-med] {
width: var(--small-med);
}
.image-embed[alt][alt*=relative][alt*=wm-sm],
div:not(.image-embed) > img[alt][alt*=relative][alt*=wm-sm] {
width: var(--med-small);
}
.image-embed[alt][alt*=relative][alt*=wmed],
div:not(.image-embed) > img[alt][alt*=relative][alt*=wmed] {
width: var(--medium);
}
.image-embed[alt][alt*=relative][alt*=wm-tl],
div:not(.image-embed) > img[alt][alt*=relative][alt*=wm-tl] {
width: var(--med-tall);
}
.image-embed[alt][alt*=relative][alt*=wtall],
div:not(.image-embed) > img[alt][alt*=relative][alt*=wtall] {
width: var(--tall);
}
.image-embed[alt][alt*=relative][alt*=hmicro],
div:not(.image-embed) > img[alt][alt*=relative][alt*=hmicro] {
width: var(--micro);
}
.image-embed[alt][alt*=relative][alt*=htiny],
div:not(.image-embed) > img[alt][alt*=relative][alt*=htiny] {
width: var(--tiny);
}
.image-embed[alt][alt*=relative][alt*=hsmall],
div:not(.image-embed) > img[alt][alt*=relative][alt*=hsmall] {
width: var(--small);
}
.image-embed[alt][alt*=relative][alt*=hs-med],
div:not(.image-embed) > img[alt][alt*=relative][alt*=hs-med] {
width: var(--small-med);
}
.image-embed[alt][alt*=relative][alt*=hm-sm],
div:not(.image-embed) > img[alt][alt*=relative][alt*=hm-sm] {
width: var(--med-small);
}
.image-embed[alt][alt*=relative][alt*=hmed],
div:not(.image-embed) > img[alt][alt*=relative][alt*=hmed] {
width: var(--medium);
}
.image-embed[alt][alt*=relative][alt*=hm-tl],
div:not(.image-embed) > img[alt][alt*=relative][alt*=hm-tl] {
width: var(--med-tall);
}
.image-embed[alt][alt*=relative][alt*=htall],
div:not(.image-embed) > img[alt][alt*=relative][alt*=htall] {
width: var(--tall);
}
.image-embed[alt][alt*=relative][alt*=hfull],
div:not(.image-embed) > img[alt][alt*=relative][alt*=hfull] {
width: 100%;
}
.image-embed[alt][alt*=relative],
div:not(.image-embed) > img[alt][alt*=relative] {
display: block;
margin: auto;
max-height: 100%;
object-fit: cover;
}
/*Height*/
/*Image Locations*/
/*Center Image*/
.img-adj-center.img-adj-center img,
img:is([alt~=ctr], [alt~=center]) {
display: block;
margin-left: auto;
margin-right: auto;
}
.img-adj-center.img-adj-center .is-live-preview img {
margin-left: auto !important;
margin-right: auto !important;
}
/*Left & Right*/
.markdown-rendered img:is([alt~=left], [alt~=locl]), .markdown-rendered img:is([src*="#left"], [src*="#locl"]), .markdown-rendered .image-embed:is([alt~=left], [alt~=locl]), .markdown-rendered .image-embed:is([src*="#left"], [src*="#locl"]) {
float: left;
margin-right: 2%;
margin-top: 0px;
margin-bottom: 0px;
float: inline-start;
}
.markdown-rendered img:is([alt~=right], [alt~=locr]), .markdown-rendered img:is([src*="#right"], [src*="#locr"]), .markdown-rendered .image-embed:is([alt~=right], [alt~=locr]), .markdown-rendered .image-embed:is([src*="#right"], [src*="#locr"]) {
float: right;
margin-left: 2%;
margin-bottom: 0px;
float: inline-end;
}
/*--Image Position--*/
img[alt*="p+"], .image-embed[src*="#p+"] img {
object-fit: cover;
}
/*Inner Image*/
img[alt*="p+c"], .image-embed[src*="#p+c"] img {
object-position: center;
}
img[alt*="p+t"], .image-embed[src*="#p+t"] img {
object-position: top;
}
img[alt*="p+b"], .image-embed[src*="#p+b"] img {
object-position: bottom;
}
img[alt*="p+l"], .image-embed[src*="#p+l"] img {
object-position: left;
}
img[alt*="p+r"], .image-embed[src*="#p+r"] img {
object-position: right;
}
img[alt*="p+cl"], .image-embed[src*="#p+cl"] img {
object-position: 15%;
}
img[alt*="p+ccl"], .image-embed[src*="#p+ccl"] img {
object-position: 25%;
}
img[alt*="p+cr"], .image-embed[src*="#p+cr"] img {
object-position: 60%;
}
img[alt*="p+ccr"], .image-embed[src*="#p+ccr"] img {
object-position: 75%;
}
img[alt*="p+tc"], .image-embed[src*="#p+tc"] img {
object-position: 50% 10%;
}
img[alt*="p+tcc"], .image-embed[src*="#p+tcc"] img {
object-position: 50% 20%;
}
img[alt*="p+cct"], .image-embed[src*="#p+cct"] img {
object-position: 50% 30%;
}
img[alt*="p+ct"], .image-embed[src*="#p+ct"] img {
object-position: 50% 40%;
}
img[alt*="p+cb"], .image-embed[src*="#p+cb"] img {
object-position: 50% 60%;
}
img[alt*="p+ccb"], .image-embed[src*="#p+ccb"] img {
object-position: 50% 70%;
}
img[alt*="p+bc"], .image-embed[src*="#p+bc"] img {
object-position: 50% 80%;
}
img[alt*="p+bcc"], .image-embed[src*="#p+bcc"] img {
object-position: 50% 90%;
}
/*Invert Colors*/
.theme-dark img[alt*=invertb], .theme-dark .image-embed[src*="#invertb"] {
filter: invert(1) hue-rotate(180deg);
}
.theme-dark img[alt*=invertbc],
.theme-dark .image-embed[src*="#invertbc"] {
filter: invert(1) hue-rotate(180deg) contrast(1.5);
}
.theme-light img[alt*=invertw], .theme-light .image-embed[src*="#invertw"] {
filter: invert(1) hue-rotate(180deg);
}
.theme-light img[alt*=invertwc], .theme-light .image-embed[src*="#invertwc"] {
filter: invert(1) hue-rotate(180deg) contrast(1.45);
}
img:is([alt*=flip-x],
[alt*=flip-horizontal]) {
transform: scale(-1, 1);
}
img:is([alt*=flip-y],
[alt*=flip-vertical]) {
transform: scale(1, -1);
}
img:is([alt*=flip-xy],
[alt*=flip-vertical-horizontal]) {
transform: scale(-1, -1);
}
/*Fit image within bounds WITHOUT stretching*/
img[alt*=cover],
img:is([alt*=cover], [alt*=cvr]),
.image-embed:is([src*="#cover"], [src*="#cvr"]),
span.image-embed:is([src*="#cover"], [src*="#cvr"]) img {
object-fit: cover;
}
/*Fix Float Issues*/
:is(img, .image-embed)[alt*=clear],
.image-embed[src*="#clear"] {
clear: both;
}
img[alt*=unclr],
.image-embed[src*="#unclr"] {
clear: none !important;
}
img:is([alt~=lp], [alt~=live-preview]):is([alt*=right], [alt*=locr]),
.image-embed:is([alt~=lp], [alt~=live-preview]):is([alt*=right], [alt*=locr]) {
float: right !important;
}
img:is([alt~=lp], [alt~=live-preview]):is([alt*=left], [alt*=locl]),
.image-embed:is([alt~=lp], [alt~=live-preview]):is([alt*=left], [alt*=locl]) {
float: left !important;
}
.clear-hr {
--hr-width: 100%;
}
.clear-headings :is(h1, h2, h3, h4, h5, h6),
.clear-heading-1 h1,
.clear-heading-2 h2,
.clear-heading-3 h3,
.clear-heading-4 h4,
.clear-heading-5 h5,
.clear-heading-6 h6 {
clear: both;
}
/*Banners*/
img[alt*=banner]:not([width]),
.image-embed[alt*=banner]:not([width]) img {
display: block;
object-fit: cover;
width: 100%;
margin-bottom: 0px;
clear: both;
}
img[alt~=banner],
.image-embed[alt~=banner] img,
.image-embed[src*="#banner"] {
height: var(--small);
}
img[alt~="banner+small"],
.image-embed[alt~="banner+small"] img,
.image-embed[src*="#banner+small"] {
height: var(--tiny);
}
img[alt~="banner+tall"],
.image-embed[alt~="banner+tall"] img,
.image-embed[src*="#banner+tall"] {
height: var(--medium);
}
:is(img, .internal-embed)[alt*=sban],
:is(img, .internal-embed)[alt~=sban],
.internal-embed[src*="#sban"] img {
object-fit: cover;
width: 100%;
}
/*Portait*/
img[alt*=portrait],
.image-embed[alt*=portrait] img {
object-fit: cover;
}
.image-embed[src~="#portrait"] {
height: var(--small-med);
width: 40%;
}
.image-embed[src~="#portrait+small"] {
height: var(--small);
width: 25%;
}
.image-embed[src~="#portrait+tall"] {
height: 500px;
width: 50%;
}
img:is([alt~=portrait],
[alt*="portrait+"]),
.image-embed:is([alt~=portrait],
[alt*="portrait+"]) img {
--img-adj-portrait-size: var(--med-small);
height: var(--img-adj-portrait-size);
width: calc(var(--img-adj-portrait-size) / 1.7);
}
img[alt~="portrait+small"],
.image-embed[alt~="portrait+small"] img {
--img-adj-portrait-size: var(--small-med);
}
img[alt~="portrait+tall"],
.image-embed[alt~="portrait+tall"] img {
--img-adj-portrait-size: var(--medium);
}
/*Profile*/
img[alt*=profile],
.image-embed[alt*=profile] img {
object-fit: cover;
border-radius: 50%;
}
img[alt~=profile],
.image-embed[alt~=profile] img,
.image-embed[src*="#profile"] {
height: var(--tiny);
width: var(--tiny);
}
img[alt~="profile+medium"],
.image-embed[alt~="profile+medium"] img,
.image-embed[src*="#profile+medium"] {
height: var(--small);
width: var(--small);
}
img[alt~="profile+tall"],
.image-embed[alt~="profile+tall"] img,
.image-embed[src*="#profile+tall"] {
height: var(--medium);
width: var(--medium);
}
img[alt~=sprf] {
object-fit: cover;
border-radius: 100%;
}
/*Image Shapes*/
img[alt][alt*=circle] {
border-radius: 50%;
}
img[alt~=square],
.image-embed[alt~=square] img {
border-radius: 0;
}
img[alt~=border],
.internal-embed[alt~=border] img {
border: var(--image-border-width) solid var(--image-border-color);
padding: var(--image-border-padding);
background: var(--image-border-background);
}
.image-captions .image-embed::after,
.image-embed[src*="#cap"]::after {
content: attr(alt);
color: var(--inactive, var(--faint-text));
display: block;
text-align: center;
}
.image-embed[src*="#cap"] {
display: inline-block;
}
.image-embed[src*="#cap"] img {
float: unset !important;
object-fit: cover;
}
.image-embed[src*="#cap"][src*="#hmicro"] img {
height: var(--micro);
}
.image-embed[src*="#cap"][src*="#htiny"] img {
height: var(--tiny);
}
.image-embed[src*="#cap"][src*="#hsmall"] img {
height: var(--small);
}
.image-embed[src*="#cap"][src*="#hs-med"] img {
height: var(--small-med);
}
.image-embed[src*="#cap"][src*="#hm-sm"] img {
height: var(--med-small);
}
.image-embed[src*="#cap"][src*="#hmed"] img {
height: var(--medium);
}
.image-embed[src*="#cap"][src*="#hm-tl"] img {
height: var(--med-tall);
}
.image-embed[src*="#cap"][src*="#htall"] img {
height: var(--tall);
}
.image-embed[src*="#cap"][src*="#hfull"] img {
height: 100%;
}
.image-embed[src*="#cap"][src*="#wmicro"], .image-embed[src*="#cap"][src*="#wmicro"] img {
width: var(--micro);
}
.image-embed[src*="#cap"][src*="#wtiny"], .image-embed[src*="#cap"][src*="#wtiny"] img {
width: var(--tiny);
}
.image-embed[src*="#cap"][src*="#wsmall"], .image-embed[src*="#cap"][src*="#wsmall"] img {
width: var(--small);
}
.image-embed[src*="#cap"][src*="#ws-med"], .image-embed[src*="#cap"][src*="#ws-med"] img {
width: var(--small-med);
}
.image-embed[src*="#cap"][src*="#wm-sm"], .image-embed[src*="#cap"][src*="#wm-sm"] img {
width: var(--med-small);
}
.image-embed[src*="#cap"][src*="#wmed"], .image-embed[src*="#cap"][src*="#wmed"] img {
width: var(--medium);
}
.image-embed[src*="#cap"][src*="#wm-tl"], .image-embed[src*="#cap"][src*="#wm-tl"] img {
width: var(--med-tall);
}
.image-embed[src*="#cap"][src*="#wtall"], .image-embed[src*="#cap"][src*="#wtall"] img {
width: var(--tall);
}
.image-embed[src*="#cap"][src*="#wfull"], .image-embed[src*="#cap"][src*="#wfull"] img {
width: 100%;
}
.mobile-image-viewer img[alt][alt][alt] {
height: 100%;
width: 100%;
object-fit: contain;
}
/*@settings
name: Image Adjustments
id: image-adjustments
settings:
-
id: info-text-SlRvb-img-adj
type: info-text
title: Image Adjustments by SlRvb
description: "[Image Adjustments Snippet How-To Guide](https://publish.obsidian.md/slrvb-docs/ITS+Theme/Image+Adjustments)"
markdown: true
-
title: List Overlap Fix
description: Fix list bullets overlapping with images
id: img-adj-list
type: class-toggle
default: true
-
title: Clear Images
description: Push image under/over headings or horizontal lines
id: img-adj-clears
type: heading
level: 1
collapsed: true
-
title: Horizontal Lines
description: Push image under/over any horizontal lines
id: clear-hr
type: class-toggle
-
title: Headings
description: Push image under/over all headings 1-6
id: clear-headings
type: class-toggle
-
title: Heading Specific
description: Push image under/over some headings and not others
id: img-adj-clears-headings
type: heading
level: 2
collapsed: true
-
title: Header 1
id: clear-heading-1
type: class-toggle
-
title: Header 2
id: clear-heading-2
type: class-toggle
-
title: Header 3
id: clear-heading-3
type: class-toggle
-
title: Header 4
id: clear-heading-4
type: class-toggle
-
title: Header 5
id: clear-heading-5
type: class-toggle
-
title: Header 6
id: clear-heading-6
type: class-toggle
*/
/*Theme fixes*/
.img-adj-list :is(ul, ol) {
display: flow-root;
}
+60
View File
@@ -0,0 +1,60 @@
/* ============================================================
claude-obsidian vault colors
3-color scheme: blue (knowledge) | green (content) | purple (people)
============================================================ */
:root {
--cb-blue: #4fc1ff; /* concepts, domains — knowledge nodes */
--cb-green: #6a9955; /* sources, questions — content nodes */
--cb-purple: #c586c0; /* entities — people & orgs */
--cb-meta: #569cd6; /* wiki meta: index, hot, log */
--cb-dim: #606060; /* templates, raw — de-emphasized */
}
/* ── Wiki meta (light blue) ── */
.nav-folder-title[data-path="wiki"] { color: var(--cb-meta); }
.nav-folder-title[data-path^="wiki/meta"] { color: var(--cb-meta); }
/* ── Knowledge — blue ── */
.nav-folder-title[data-path^="wiki/concepts"] { color: var(--cb-blue); }
.nav-folder-title[data-path^="wiki/domains"] { color: var(--cb-blue); }
/* ── Content — green ── */
.nav-folder-title[data-path^="wiki/sources"] { color: var(--cb-green); }
.nav-folder-title[data-path^="wiki/questions"] { color: var(--cb-green); }
.nav-folder-title[data-path^="wiki/comparisons"] { color: var(--cb-green); }
/* ── People & orgs — purple ── */
.nav-folder-title[data-path^="wiki/entities"] { color: var(--cb-purple); }
/* ── De-emphasized ── */
.nav-folder-title[data-path=".raw"] { color: var(--cb-dim); opacity: 0.55; }
.nav-folder-title[data-path="_templates"] { color: var(--cb-dim); opacity: 0.55; }
.nav-folder-title[data-path="agents"] { color: var(--cb-dim); opacity: 0.55; }
.nav-folder-title[data-path="commands"] { color: var(--cb-dim); opacity: 0.55; }
.nav-folder-title[data-path="hooks"] { color: var(--cb-dim); opacity: 0.55; }
.nav-folder-title[data-path="skills"] { color: var(--cb-dim); opacity: 0.55; }
/* ── Custom callouts ── */
.callout[data-callout='contradiction'] {
--callout-color: 209, 105, 105;
--callout-icon: lucide-alert-triangle;
}
.callout[data-callout='gap'] {
--callout-color: 220, 220, 170;
--callout-icon: lucide-help-circle;
}
.callout[data-callout='key-insight'] {
--callout-color: 79, 193, 255;
--callout-icon: lucide-lightbulb;
}
.callout[data-callout='stale'] {
--callout-color: 128, 128, 128;
--callout-icon: lucide-clock;
}
/* ── Canvas card accents (match graph node colors) ── */
.canvas-node[data-color="1"] { --canvas-color: 79, 193, 255; } /* blue */
.canvas-node[data-color="3"] { --canvas-color: 197, 134, 192; } /* purple */
.canvas-node[data-color="4"] { --canvas-color: 106, 153, 85; } /* green */
.canvas-node[data-color="5"] { --canvas-color: 86, 156, 214; } /* meta */
+242
View File
@@ -0,0 +1,242 @@
{
"main": {
"id": "cb698273c33e48de",
"type": "split",
"children": [
{
"id": "3069b19e4433d230",
"type": "tabs",
"children": [
{
"id": "31299cd80f02d44f",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "AGENTS.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "AGENTS"
}
}
]
}
],
"direction": "vertical"
},
"left": {
"id": "db8d83ac47ae599f",
"type": "split",
"children": [
{
"id": "554fd2b4fa6f8741",
"type": "tabs",
"children": [
{
"id": "5565f1231fe95c42",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical",
"autoReveal": false
},
"icon": "lucide-folder-closed",
"title": "파일 탐색기"
}
},
{
"id": "832ab43d08cf9e30",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
},
"icon": "lucide-search",
"title": "Search"
}
},
{
"id": "097e8347bb8aa054",
"type": "leaf",
"state": {
"type": "bookmarks",
"state": {},
"icon": "lucide-bookmark",
"title": "Bookmarks"
}
}
]
}
],
"direction": "horizontal",
"width": 300
},
"right": {
"id": "7092b65be1e76349",
"type": "split",
"children": [
{
"id": "9f4de9402eae371b",
"type": "tabs",
"children": [
{
"id": "a32b7215b7814fbb",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-coming-in",
"title": "Backlinks"
}
},
{
"id": "7936f8ba26007091",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
"linksCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-going-out",
"title": "Outgoing links"
}
},
{
"id": "ed8ccb323a603d61",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": true,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-tags",
"title": "Tags"
}
},
{
"id": "b140a331162907cf",
"type": "leaf",
"state": {
"type": "all-properties",
"state": {
"sortOrder": "frequency",
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-archive",
"title": "All properties"
}
},
{
"id": "111a21e12ab1a293",
"type": "leaf",
"state": {
"type": "outline",
"state": {
"followCursor": false,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-list",
"title": "Outline"
}
},
{
"id": "20a272e103b5d792",
"type": "leaf",
"state": {
"type": "calendar",
"state": {},
"icon": "lucide-ghost",
"title": "calendar"
}
}
]
}
],
"direction": "horizontal",
"width": 300,
"collapsed": true
},
"left-ribbon": {
"hiddenItems": {
"switcher:빠른 전환기 열기": false,
"graph:그래프 뷰 열기": false,
"canvas:새 캔버스 만들기": false,
"daily-notes:오늘의 일일 노트 열기": false,
"templates:템플릿 삽입": false,
"command-palette:명령어 팔레트 열기": false,
"bases:새 베이스 생성하기": false,
"obsidian-excalidraw-plugin:New drawing": false,
"obsidian-memos:Thino": false,
"obsidian-memos:Thino Super": false,
"templater-obsidian:Templater": false,
"obsidian-git:Open Git source control": false
}
},
"active": "31299cd80f02d44f",
"lastOpenFiles": [
"skills/fem-theory-query/vault-path.txt",
"skills/fem-theory-query/agents/openai.yaml",
"skills/fem-theory-query/agents",
"skills/fem-theory-query/SKILL.md",
"skills/fem-theory-query",
"wiki/getting-started.md",
"wiki/hot.md",
"wiki/index.md",
"wiki/log.md",
"wiki/overview.md",
"WIKI.md",
"wiki/concepts/Midas NFX Structural Optimization and Forming Limit Analysis.md",
"wiki/concepts/Midas NFX Heat Transfer Joule Heating and Thermal Stress.md",
"wiki/concepts/Midas NFX Fatigue Analysis.md",
"wiki/concepts/Midas NFX Contact Analysis.md",
"wiki/concepts/Midas NFX Nonlinear Static and Dynamic Algorithms.md",
"wiki/concepts/Midas NFX Linear Dynamics and Buckling Analyses.md",
"wiki/concepts/Midas NFX Equation Solvers and Eigen Extraction.md",
"wiki/concepts/Midas NFX Material and Composite Models.md",
"wiki/concepts/Midas NFX Element Library.md",
"wiki/concepts/Midas NFX Analysis Workflow.md",
"wiki/entities/midas NFX.md",
"wiki/sources/Midas-NFX-Analysis-Manual.md",
"wiki/meta/lint-report-2026-06-02.md",
"wiki/sources/Midas-FEA-Analysis-Manual.md",
"wiki/concepts/Uniform Optimal Convergence.md",
"wiki/sources/On-the-Finite-Element-Analysis-of-Shell-Structures.md",
"wiki/concepts/Midas FEA Embedded Reinforcement Modeling.md",
"wiki/concepts/Midas Civil PSC and Prestress Loss Analysis.md",
"wiki/Wiki Map.canvas",
"wiki/canvases/main.canvas",
"wiki/meta/dashboard.base",
"wiki/questions",
"wiki/새 폴더",
"wiki/comparisons",
"wiki/canvases",
"wiki/새 폴더 (2)",
"wiki/domains",
"wiki/canvases/youtube-explainer.canvas",
"wiki/canvases/welcome.canvas",
"wiki/canvases/claude-obsidian-presentation.canvas"
]
}
View File
+867
View File
@@ -0,0 +1,867 @@
{
"version": 1,
"created": "2026-04-23",
"description": "Ingest delta tracker and address map for the claude-obsidian vault. Do not hand-edit; wiki-ingest maintains this.",
"sources": {
".raw/FiniteElementProcedures/": {
"hash": "8414b5ffb038d5b8e71c03fe430cd0a6b3141e5d2cdcceb3cba383701cd1f45f",
"hash_algorithm": "sha256-composite-path-length-content",
"ingested_at": "2026-05-28",
"pages_created": [
"wiki/sources/Finite Element Procedures.md",
"wiki/entities/Klaus-Jurgen Bathe.md",
"wiki/domains/_index.md",
"wiki/domains/Computational Mechanics.md",
"wiki/concepts/Finite Element Method.md",
"wiki/concepts/Engineering Mathematical Models.md",
"wiki/concepts/Displacement-Based Finite Element Formulation.md",
"wiki/concepts/Isoparametric Finite Elements.md",
"wiki/concepts/Mixed Finite Element Formulations.md",
"wiki/concepts/Nonlinear Finite Element Analysis.md",
"wiki/concepts/Finite Element Heat Transfer and Field Problems.md",
"wiki/concepts/Static Equilibrium Equation Solvers.md",
"wiki/concepts/Direct Time Integration Methods.md",
"wiki/concepts/Finite Element Eigenproblem Solvers.md",
"wiki/concepts/Finite Element Program Implementation.md"
],
"pages_updated": [
"wiki/index.md",
"wiki/overview.md",
"wiki/log.md",
"wiki/hot.md",
"wiki/sources/_index.md",
"wiki/concepts/_index.md",
"wiki/entities/_index.md"
]
},
".raw/AContinuumMechanicsBasedFourNodeShell/": {
"hash": "65c73881a529e2adcb9d46213054123a4f36c03466db1ff540e24bfd72bc8c74",
"hash_algorithm": "sha256-composite-path-length-content",
"ingested_at": "2026-05-28",
"pages_created": [
"wiki/sources/A Continuum Mechanics Based Four-Node Shell.md",
"wiki/entities/Eduardo N. Dvorkin.md",
"wiki/concepts/Continuum Mechanics Based Four-Node Shell Element.md",
"wiki/concepts/Assumed Transverse Shear Strain Interpolation.md",
"wiki/concepts/Total Lagrangian Shell Formulation.md"
],
"pages_updated": [
"wiki/index.md",
"wiki/overview.md",
"wiki/log.md",
"wiki/hot.md",
"wiki/sources/_index.md",
"wiki/concepts/_index.md",
"wiki/entities/_index.md",
"wiki/domains/Computational Mechanics.md",
"wiki/entities/Klaus-Jurgen Bathe.md",
"wiki/concepts/Finite Element Method.md",
"wiki/concepts/Displacement-Based Finite Element Formulation.md",
"wiki/concepts/Isoparametric Finite Elements.md",
"wiki/concepts/Mixed Finite Element Formulations.md",
"wiki/concepts/Nonlinear Finite Element Analysis.md",
"wiki/Wiki Map.canvas"
]
},
".raw/FourNodeQuadrilateralShellElementMITC4/": {
"hash": "1c4997087b8b345be37bb1574bdaeb328f9ef8bbd5f98d1a956f769ba12e16ca",
"hash_algorithm": "sha256-composite-path-length-content",
"ingested_at": "2026-05-28",
"pages_created": [
"wiki/sources/Four-Node-Quadrilateral-Shell-Element-MITC4.md",
"wiki/concepts/MITC4 Shell Element.md",
"wiki/concepts/Scordelis-Lo Shell Benchmark.md",
"wiki/entities/Edita Dvorakova.md",
"wiki/entities/Borek Patzak.md",
"wiki/entities/OOFEM.md"
],
"pages_updated": [
"wiki/index.md",
"wiki/overview.md",
"wiki/log.md",
"wiki/hot.md",
"wiki/sources/_index.md",
"wiki/concepts/_index.md",
"wiki/entities/_index.md",
"wiki/domains/Computational Mechanics.md",
"wiki/concepts/Continuum Mechanics Based Four-Node Shell Element.md",
"wiki/concepts/Assumed Transverse Shear Strain Interpolation.md",
"wiki/concepts/Finite Element Program Implementation.md",
"wiki/sources/A Continuum Mechanics Based Four-Node Shell.md",
"wiki/Wiki Map.canvas"
]
},
".raw/MITC공부/": {
"hash": "719ed5595f4f2d0ec8ca58b8c33b3ac6e5bbab82ca077de8e4b04337fde6b4bc",
"hash_algorithm": "sha256-composite-path-length-content",
"ingested_at": "2026-05-28",
"pages_created": [
"wiki/sources/MITC Study Notes.md",
"wiki/concepts/MITC Shell Kinematics.md",
"wiki/concepts/Green-Lagrange Strain Linearization.md",
"wiki/concepts/Nonlinear Newmark-Beta Integration.md"
],
"pages_updated": [
"wiki/index.md",
"wiki/overview.md",
"wiki/log.md",
"wiki/hot.md",
"wiki/sources/_index.md",
"wiki/concepts/_index.md",
"wiki/domains/Computational Mechanics.md",
"wiki/concepts/MITC4 Shell Element.md",
"wiki/concepts/Assumed Transverse Shear Strain Interpolation.md",
"wiki/concepts/Total Lagrangian Shell Formulation.md",
"wiki/concepts/Direct Time Integration Methods.md",
"wiki/concepts/Nonlinear Finite Element Analysis.md",
"wiki/Wiki Map.canvas"
]
},
".raw/유한요소해석법을이용한쉘구조물의동적좌굴해석/": {
"hash": "e83980cac279ed4ed2a6046ac910b42e63543e55d96d323ecff48c3ddc1c9a6f",
"hash_algorithm": "sha256-composite-path-length-content",
"ingested_at": "2026-05-28",
"pages_created": [
"wiki/sources/Dynamic-Buckling-Analysis-of-Shell-Structures-using-Finite-Element-Method.md",
"wiki/entities/Hee Jun Lee.md",
"wiki/entities/Inha University.md",
"wiki/entities/BLZPACK.md",
"wiki/entities/ABAQUS.md",
"wiki/concepts/Dynamic Buckling Analysis.md",
"wiki/concepts/Dynamic Instability Region.md",
"wiki/concepts/Geometric Stiffness Matrix.md"
],
"pages_updated": [
"wiki/index.md",
"wiki/overview.md",
"wiki/log.md",
"wiki/hot.md",
"wiki/sources/_index.md",
"wiki/concepts/_index.md",
"wiki/entities/_index.md",
"wiki/domains/Computational Mechanics.md",
"wiki/concepts/MITC4 Shell Element.md",
"wiki/concepts/Total Lagrangian Shell Formulation.md",
"wiki/concepts/Finite Element Eigenproblem Solvers.md",
"wiki/concepts/Direct Time Integration Methods.md",
"wiki/concepts/Nonlinear Finite Element Analysis.md",
"wiki/concepts/Finite Element Program Implementation.md",
"wiki/concepts/Static Equilibrium Equation Solvers.md",
"wiki/Wiki Map.canvas"
]
},
".raw/쉘구조물의유한요소해석에대하여/": {
"hash": "c2e05ba503ef81fdbb651ed1784293e8d89bec4ebbfd6b5fdcec6bdf33e4d646",
"hash_algorithm": "sha256-composite-path-length-content",
"ingested_at": "2026-05-28",
"pages_created": [
"wiki/sources/On-the-Finite-Element-Analysis-of-Shell-Structures.md",
"wiki/entities/Phill-Seung Lee.md",
"wiki/entities/Hyuk-Chun Noh.md",
"wiki/concepts/Basic Shell Mathematical Model.md",
"wiki/concepts/Shell Structure Asymptotic Behavior.md",
"wiki/concepts/Shell Locking Phenomenon.md",
"wiki/concepts/Uniform Optimal Convergence.md",
"wiki/concepts/Shell Element Benchmark Testing.md"
],
"pages_updated": [
"wiki/index.md",
"wiki/overview.md",
"wiki/log.md",
"wiki/hot.md",
"wiki/sources/_index.md",
"wiki/concepts/_index.md",
"wiki/entities/_index.md",
"wiki/domains/Computational Mechanics.md",
"wiki/concepts/Finite Element Method.md",
"wiki/concepts/Continuum Mechanics Based Four-Node Shell Element.md",
"wiki/concepts/Assumed Transverse Shear Strain Interpolation.md",
"wiki/concepts/Mixed Finite Element Formulations.md",
"wiki/concepts/MITC4 Shell Element.md",
"wiki/concepts/Scordelis-Lo Shell Benchmark.md",
"wiki/entities/Klaus-Jurgen Bathe.md",
"wiki/meta/dashboard.md",
"wiki/getting-started.md",
"wiki/Wiki Map.canvas"
]
},
".raw/SolidElement/": {
"hash": "6038cd92133ac4607ef09e9540a47fd992747f368de86324e3a5755f12b4518a",
"hash_algorithm": "sha256-composite-path-length-content",
"ingested_at": "2026-05-28",
"pages_created": [
"wiki/sources/Solid Element Notes.md",
"wiki/concepts/Isoparametric Linear Solid Elements.md",
"wiki/concepts/Solid Element Shape Functions.md",
"wiki/concepts/Solid Element Strain-Displacement Matrix.md",
"wiki/concepts/Solid Element Stiffness Integration.md",
"wiki/concepts/Incompatible Mode Solid Elements.md"
],
"pages_updated": [
"wiki/index.md",
"wiki/overview.md",
"wiki/log.md",
"wiki/hot.md",
"wiki/sources/_index.md",
"wiki/concepts/_index.md",
"wiki/domains/Computational Mechanics.md",
"wiki/concepts/Finite Element Method.md",
"wiki/concepts/Isoparametric Finite Elements.md",
"wiki/concepts/Displacement-Based Finite Element Formulation.md",
"wiki/concepts/Mixed Finite Element Formulations.md",
"wiki/meta/dashboard.md",
"wiki/getting-started.md",
"wiki/Wiki Map.canvas"
]
},
".raw/AbaqusTheoriesManual/": {
"hash": "e378b72aeb2fe8a6a580fdd5ec9de20f457df90b6007c45be1b95a6326962607",
"hash_algorithm": "sha256-composite-path-length-content",
"ingested_at": "2026-05-29",
"pages_created": [
"wiki/sources/Abaqus Theory Manual.md",
"wiki/concepts/Abaqus Analysis Procedures.md",
"wiki/concepts/Abaqus Element Library.md",
"wiki/concepts/Reduced Integration and Hourglass Control.md",
"wiki/concepts/Hybrid Incompressible Elements.md",
"wiki/concepts/Abaqus Constitutive Integration.md",
"wiki/concepts/Finite Element Contact Formulation.md"
],
"pages_updated": [
"wiki/index.md",
"wiki/overview.md",
"wiki/log.md",
"wiki/hot.md",
"wiki/sources/_index.md",
"wiki/concepts/_index.md",
"wiki/entities/_index.md",
"wiki/domains/Computational Mechanics.md",
"wiki/entities/ABAQUS.md",
"wiki/concepts/Finite Element Method.md",
"wiki/concepts/Nonlinear Finite Element Analysis.md",
"wiki/concepts/Isoparametric Finite Elements.md",
"wiki/concepts/Mixed Finite Element Formulations.md",
"wiki/concepts/Direct Time Integration Methods.md",
"wiki/concepts/Finite Element Eigenproblem Solvers.md",
"wiki/concepts/Solid Element Stiffness Integration.md",
"wiki/meta/dashboard.md",
"wiki/getting-started.md",
"wiki/Wiki Map.canvas"
]
},
".raw/AFirstCourseInTheFiniteElementMethod/": {
"hash": "d5a513a540f36ea134f82d54205572834f6afee01f75c73a98dfc37c5b1389fd",
"hash_algorithm": "sha256-composite-path-length-content",
"ingested_at": "2026-05-29",
"pages_created": [
"wiki/sources/A-First-Course-in-the-Finite-Element-Method.md",
"wiki/entities/Daryl L. Logan.md",
"wiki/concepts/Direct Stiffness Method.md",
"wiki/concepts/Bar and Truss Finite Elements.md",
"wiki/concepts/Beam and Frame Finite Elements.md",
"wiki/concepts/Plane Stress and Plane Strain Elements.md",
"wiki/concepts/Axisymmetric Finite Elements.md",
"wiki/concepts/Finite Element Load Vector Assembly.md",
"wiki/concepts/Finite Element Modeling and Convergence Checks.md",
"wiki/concepts/Finite Element Thermal Stress Analysis.md"
],
"pages_updated": [
"wiki/index.md",
"wiki/overview.md",
"wiki/log.md",
"wiki/hot.md",
"wiki/sources/_index.md",
"wiki/concepts/_index.md",
"wiki/entities/_index.md",
"wiki/domains/Computational Mechanics.md",
"wiki/concepts/Finite Element Method.md",
"wiki/concepts/Displacement-Based Finite Element Formulation.md",
"wiki/concepts/Isoparametric Finite Elements.md",
"wiki/concepts/Finite Element Heat Transfer and Field Problems.md",
"wiki/concepts/Static Equilibrium Equation Solvers.md",
"wiki/concepts/Direct Time Integration Methods.md",
"wiki/concepts/Finite Element Program Implementation.md",
"wiki/concepts/Isoparametric Linear Solid Elements.md",
"wiki/meta/dashboard.md",
"wiki/getting-started.md",
"wiki/Wiki Map.canvas"
]
},
".raw/AbaqusAnalysisUserGuide1/": {
"hash": "4b70ea0a54a47305ee87e6fa871d60d7d7dda7dc4108976aa7a128710b0d5fcc",
"hash_algorithm": "sha256-composite-path-length-content",
"ingested_at": "2026-05-29",
"pages_created": [
"wiki/sources/Abaqus-Analysis-User-s-Guide-Volume-I.md",
"wiki/concepts/Abaqus Input File Syntax.md",
"wiki/concepts/Abaqus Spatial Model Definition.md",
"wiki/concepts/Abaqus Surface and Assembly Modeling.md",
"wiki/concepts/Abaqus Matrix-Based Model Definition.md",
"wiki/concepts/Abaqus Job Execution Workflow.md",
"wiki/concepts/Abaqus Resource and Parallel Execution.md",
"wiki/concepts/Abaqus Output Database and Results Files.md"
],
"pages_updated": [
"wiki/index.md",
"wiki/overview.md",
"wiki/log.md",
"wiki/hot.md",
"wiki/sources/_index.md",
"wiki/concepts/_index.md",
"wiki/entities/_index.md",
"wiki/domains/Computational Mechanics.md",
"wiki/entities/ABAQUS.md",
"wiki/sources/Abaqus Theory Manual.md",
"wiki/concepts/Abaqus Analysis Procedures.md",
"wiki/concepts/Abaqus Element Library.md",
"wiki/concepts/Finite Element Program Implementation.md",
"wiki/concepts/Finite Element Contact Formulation.md",
"wiki/concepts/Finite Element Load Vector Assembly.md",
"wiki/concepts/Finite Element Modeling and Convergence Checks.md",
"wiki/meta/dashboard.md",
"wiki/getting-started.md",
"wiki/Wiki Map.canvas"
]
},
".raw/AbaqusAnalysisUserGuide2/": {
"hash": "58cef5bc8de1b0b82434c0d830c6d7ce103601e22d19637e76c83d75570a121b",
"hash_algorithm": "sha256-composite-path-length-content",
"ingested_at": "2026-05-29",
"pages_created": [
"wiki/sources/Abaqus-Analysis-User-s-Guide-Volume-II.md",
"wiki/concepts/Abaqus General and Linear Perturbation Steps.md",
"wiki/concepts/Abaqus Nonlinear Solution Control.md",
"wiki/concepts/Abaqus Restart and Results Transfer.md",
"wiki/concepts/Abaqus Substructuring and Submodeling.md",
"wiki/concepts/Abaqus Matrix Generation and Reduced Models.md",
"wiki/concepts/Abaqus Fracture and Enriched Discontinuity Modeling.md",
"wiki/concepts/Abaqus Adaptivity and Mesh Replacement.md",
"wiki/concepts/Abaqus Explicit Analysis Efficiency Techniques.md",
"wiki/concepts/Abaqus Eulerian and Particle Methods.md",
"wiki/concepts/Abaqus Multiphysics Coupling and Co-simulation.md",
"wiki/concepts/Abaqus Structural Optimization and Parametric Studies.md",
"wiki/concepts/Abaqus User Subroutines and Utility Routines.md"
],
"pages_updated": [
"wiki/index.md",
"wiki/overview.md",
"wiki/log.md",
"wiki/hot.md",
"wiki/sources/_index.md",
"wiki/concepts/_index.md",
"wiki/entities/_index.md",
"wiki/domains/Computational Mechanics.md",
"wiki/entities/ABAQUS.md",
"wiki/sources/Abaqus Theory Manual.md",
"wiki/sources/Abaqus-Analysis-User-s-Guide-Volume-I.md",
"wiki/concepts/Abaqus Analysis Procedures.md",
"wiki/concepts/Abaqus Matrix-Based Model Definition.md",
"wiki/concepts/Abaqus Job Execution Workflow.md",
"wiki/concepts/Abaqus Resource and Parallel Execution.md",
"wiki/concepts/Static Equilibrium Equation Solvers.md",
"wiki/concepts/Direct Time Integration Methods.md",
"wiki/concepts/Finite Element Eigenproblem Solvers.md",
"wiki/concepts/Finite Element Heat Transfer and Field Problems.md",
"wiki/concepts/Finite Element Program Implementation.md",
"wiki/concepts/Finite Element Modeling and Convergence Checks.md",
"wiki/meta/dashboard.md",
"wiki/getting-started.md",
"wiki/Wiki Map.canvas"
]
},
".raw/AbaqusAnalysisUserGuide3/": {
"hash": "1ed8caba282de5b2fc9f8b7508f58723957ad3bda345b1b3ccd42e1623a96b5a",
"hash_algorithm": "sha256-composite-path-length-content",
"ingested_at": "2026-06-01",
"pages_created": [
"wiki/sources/Abaqus-Analysis-User-s-Guide-Volume-III.md",
"wiki/concepts/Abaqus Material Library and Data Definition.md",
"wiki/concepts/Abaqus Elastic Material Models.md",
"wiki/concepts/Abaqus Hyperelastic and Viscoelastic Materials.md",
"wiki/concepts/Abaqus Metal Plasticity Models.md",
"wiki/concepts/Abaqus Geomaterial and Concrete Plasticity.md",
"wiki/concepts/Abaqus Progressive Damage and Failure.md",
"wiki/concepts/Abaqus Hydrodynamic Equation of State Materials.md",
"wiki/concepts/Abaqus Thermal Expansion and Damping Materials.md",
"wiki/concepts/Abaqus Transport Acoustic and Electromagnetic Materials.md",
"wiki/concepts/Abaqus Porous Media and Pore Fluid Materials.md",
"wiki/concepts/Abaqus User-Defined Material Behavior.md"
],
"pages_updated": [
"wiki/index.md",
"wiki/overview.md",
"wiki/log.md",
"wiki/hot.md",
"wiki/sources/_index.md",
"wiki/concepts/_index.md",
"wiki/entities/_index.md",
"wiki/domains/Computational Mechanics.md",
"wiki/entities/ABAQUS.md",
"wiki/sources/Abaqus Theory Manual.md",
"wiki/sources/Abaqus-Analysis-User-s-Guide-Volume-I.md",
"wiki/sources/Abaqus-Analysis-User-s-Guide-Volume-II.md",
"wiki/concepts/Abaqus Constitutive Integration.md",
"wiki/concepts/Abaqus User Subroutines and Utility Routines.md",
"wiki/concepts/Finite Element Heat Transfer and Field Problems.md",
"wiki/concepts/Nonlinear Finite Element Analysis.md",
"wiki/concepts/Hybrid Incompressible Elements.md",
"wiki/concepts/Finite Element Thermal Stress Analysis.md",
"wiki/concepts/Abaqus Multiphysics Coupling and Co-simulation.md",
"wiki/meta/dashboard.md",
"wiki/getting-started.md",
"wiki/Wiki Map.canvas"
]
},
".raw/AbaqusAnalysisUserGuide4/": {
"hash": "26314c5999b2ee44a9bacbe8b857e0142ef9e3d754f6a1051dcd28c1009dfa17",
"hash_algorithm": "sha256-composite-path-length-content",
"ingested_at": "2026-06-01",
"pages_created": [
"wiki/sources/Abaqus-Analysis-User-s-Guide-Volume-IV.md",
"wiki/concepts/Abaqus Element Selection and Formulation.md",
"wiki/concepts/Abaqus Continuum Element Families.md",
"wiki/concepts/Abaqus Structural Element Families.md",
"wiki/concepts/Abaqus Beam and Shell Section Definitions.md",
"wiki/concepts/Abaqus Inertial Rigid and Capacitance Elements.md",
"wiki/concepts/Abaqus Connector Elements and Behaviors.md",
"wiki/concepts/Abaqus Cohesive and Gasket Elements.md",
"wiki/concepts/Abaqus Special-Purpose Interaction Elements.md",
"wiki/concepts/Abaqus Fluid Acoustic Eulerian and Particle Elements.md",
"wiki/concepts/Abaqus User-Defined Elements.md",
"wiki/concepts/Abaqus Element Indexes and Naming Conventions.md"
],
"pages_updated": [
"wiki/index.md",
"wiki/overview.md",
"wiki/log.md",
"wiki/hot.md",
"wiki/sources/_index.md",
"wiki/concepts/_index.md",
"wiki/entities/_index.md",
"wiki/domains/Computational Mechanics.md",
"wiki/entities/ABAQUS.md",
"wiki/concepts/Abaqus Element Library.md",
"wiki/concepts/Reduced Integration and Hourglass Control.md",
"wiki/concepts/Hybrid Incompressible Elements.md",
"wiki/concepts/Isoparametric Finite Elements.md",
"wiki/concepts/Isoparametric Linear Solid Elements.md",
"wiki/concepts/Beam and Frame Finite Elements.md",
"wiki/concepts/MITC4 Shell Element.md",
"wiki/concepts/Abaqus Eulerian and Particle Methods.md",
"wiki/concepts/Abaqus User Subroutines and Utility Routines.md",
"wiki/concepts/Finite Element Contact Formulation.md",
"wiki/concepts/Abaqus Multiphysics Coupling and Co-simulation.md",
"wiki/meta/dashboard.md",
"wiki/getting-started.md",
"wiki/Wiki Map.canvas"
]
},
".raw/AbaqusAnalysisUserGuide5/": {
"hash": "7b45af852b94b3ae91b9d3cb0deaf8c73e5cea2674f1715f6a3ea16cbbd68729",
"hash_algorithm": "sha256-composite-path-length-content",
"ingested_at": "2026-06-01",
"pages_created": [
"wiki/sources/Abaqus-Analysis-User-s-Guide-Volume-V.md",
"wiki/concepts/Abaqus Prescribed Conditions and Amplitudes.md",
"wiki/concepts/Abaqus Initial and Boundary Conditions.md",
"wiki/concepts/Abaqus Loads and Predefined Fields.md",
"wiki/concepts/Abaqus Kinematic Constraints and MPCs.md",
"wiki/concepts/Abaqus Surface-Based Constraints and Couplings.md",
"wiki/concepts/Abaqus Embedded Elements and Overconstraints.md",
"wiki/concepts/Abaqus Contact Interaction Definition.md",
"wiki/concepts/Abaqus Contact Property Models.md",
"wiki/concepts/Abaqus Contact Formulations and Enforcement.md",
"wiki/concepts/Abaqus Contact Diagnostics and Modeling Difficulties.md",
"wiki/concepts/Abaqus Standard Contact Elements.md",
"wiki/concepts/Abaqus Cavity Radiation Interactions.md"
],
"pages_updated": [
"wiki/index.md",
"wiki/overview.md",
"wiki/log.md",
"wiki/hot.md",
"wiki/sources/_index.md",
"wiki/concepts/_index.md",
"wiki/entities/_index.md",
"wiki/domains/Computational Mechanics.md",
"wiki/entities/ABAQUS.md",
"wiki/concepts/Abaqus Input File Syntax.md",
"wiki/concepts/Abaqus Surface and Assembly Modeling.md",
"wiki/concepts/Finite Element Load Vector Assembly.md",
"wiki/concepts/Abaqus Nonlinear Solution Control.md",
"wiki/concepts/Abaqus Connector Elements and Behaviors.md",
"wiki/concepts/Finite Element Contact Formulation.md",
"wiki/concepts/Abaqus Multiphysics Coupling and Co-simulation.md",
"wiki/concepts/Finite Element Heat Transfer and Field Problems.md",
"wiki/meta/dashboard.md",
"wiki/getting-started.md",
"wiki/Wiki Map.canvas"
]
},
".raw/FiniteElementsinPlasticityTheoryandPractice/": {
"hash": "9325d0e281943b3a81d7f1869b03a208b94fc93a020d64b7c5fb5c784207ebe9",
"hash_algorithm": "sha256-composite-path-length-content",
"ingested_at": "2026-06-02",
"pages_created": [
"wiki/sources/Finite-Elements-in-Plasticity-Theory-and-Practice.md",
"wiki/entities/D. R. J. Owen.md",
"wiki/entities/E. Hinton.md",
"wiki/concepts/Finite Element Plasticity.md",
"wiki/concepts/Incremental Elasto-Plastic Solution Methods.md",
"wiki/concepts/Plasticity Yield Criteria.md",
"wiki/concepts/Plastic Flow Rules and Hardening.md",
"wiki/concepts/Elasto-Viscoplastic Finite Element Analysis.md",
"wiki/concepts/Elasto-Plastic Timoshenko Beam Analysis.md",
"wiki/concepts/Elasto-Plastic Mindlin Plate Analysis.md",
"wiki/concepts/Transient Dynamic Elasto-Plastic Analysis.md",
"wiki/concepts/Finite Element Plasticity Program Architecture.md",
"wiki/concepts/Plasticity Benchmark and Input Data Cases.md"
],
"pages_updated": [
"wiki/index.md",
"wiki/overview.md",
"wiki/log.md",
"wiki/hot.md",
"wiki/sources/_index.md",
"wiki/concepts/_index.md",
"wiki/entities/_index.md",
"wiki/domains/Computational Mechanics.md",
"wiki/concepts/Nonlinear Finite Element Analysis.md",
"wiki/concepts/Abaqus Constitutive Integration.md",
"wiki/concepts/Abaqus Metal Plasticity Models.md",
"wiki/concepts/Abaqus Geomaterial and Concrete Plasticity.md",
"wiki/concepts/Finite Element Program Implementation.md",
"wiki/concepts/Direct Time Integration Methods.md",
"wiki/meta/dashboard.md",
"wiki/getting-started.md",
"wiki/Wiki Map.canvas"
]
},
".raw/MidasFEAAnalysisManual/": {
"hash": "a155a3eef6df14f0093a039da8cab6caf16912369534283b297c51a64b540a5b",
"hash_algorithm": "sha256-composite-path-length-content",
"ingested_at": "2026-06-02",
"pages_created": [
"wiki/sources/Midas-FEA-Analysis-Manual.md",
"wiki/entities/MIDAS Information Technology.md",
"wiki/entities/midas FEA.md",
"wiki/concepts/Midas FEA Analysis Workflow.md",
"wiki/concepts/Midas FEA Element Library.md",
"wiki/concepts/Midas FEA Embedded Reinforcement Modeling.md",
"wiki/concepts/Midas FEA Interface Elements and Nonlinearities.md",
"wiki/concepts/Midas FEA Concrete Cracking and Material Models.md",
"wiki/concepts/Midas FEA Nonlinear Solution Algorithms.md",
"wiki/concepts/Midas FEA Linear Dynamics and Buckling Analyses.md",
"wiki/concepts/Midas FEA Construction Stage Analysis.md",
"wiki/concepts/Midas FEA Heat Transfer and Hydration Analysis.md",
"wiki/concepts/Midas FEA Static Contact Analysis.md",
"wiki/concepts/Midas FEA Fatigue Analysis.md",
"wiki/concepts/Midas FEA CFD Analysis.md"
],
"pages_updated": [
"wiki/index.md",
"wiki/overview.md",
"wiki/log.md",
"wiki/hot.md",
"wiki/sources/_index.md",
"wiki/concepts/_index.md",
"wiki/entities/_index.md",
"wiki/domains/Computational Mechanics.md",
"wiki/concepts/Finite Element Method.md",
"wiki/concepts/Nonlinear Finite Element Analysis.md",
"wiki/concepts/Finite Element Program Implementation.md",
"wiki/concepts/Static Equilibrium Equation Solvers.md",
"wiki/concepts/Direct Time Integration Methods.md",
"wiki/concepts/Finite Element Eigenproblem Solvers.md",
"wiki/concepts/Finite Element Heat Transfer and Field Problems.md",
"wiki/concepts/Finite Element Contact Formulation.md",
"wiki/concepts/Finite Element Modeling and Convergence Checks.md",
"wiki/concepts/Finite Element Plasticity.md",
"wiki/meta/dashboard.md",
"wiki/getting-started.md",
"wiki/Wiki Map.canvas"
]
},
".raw/MidasCivilAnalysisReference/": {
"hash": "e510c0e6fdfe881e08e3614488c67329fb1ebedef31a650b1aaffa6660142160",
"hash_algorithm": "sha256-composite-path-length-content",
"ingested_at": "2026-06-02",
"pages_created": [
"wiki/sources/Midas-Civil-Analysis-Reference.md",
"wiki/entities/midas Civil.md",
"wiki/concepts/Midas Civil Numerical Analysis Model.md",
"wiki/concepts/Midas Civil Element Library and Section Stiffness.md",
"wiki/concepts/Midas Civil Boundary Supports and Links.md",
"wiki/concepts/Midas Civil Dynamic and Seismic Analysis.md",
"wiki/concepts/Midas Civil Buckling P-Delta and Geometric Nonlinearity.md",
"wiki/concepts/Midas Civil Boundary and Material Nonlinear Analysis.md",
"wiki/concepts/Midas Civil Pushover and Performance Evaluation.md",
"wiki/concepts/Midas Civil Nonlinear Time History and Hysteresis Models.md",
"wiki/concepts/Midas Civil Construction Stage and Time-Dependent Analysis.md",
"wiki/concepts/Midas Civil Heat of Hydration and Thermal Stress Analysis.md",
"wiki/concepts/Midas Civil PSC and Prestress Loss Analysis.md",
"wiki/concepts/Midas Civil Moving Load Bridge Analysis.md",
"wiki/concepts/Midas Civil Special Load and Design Utilities.md"
],
"pages_updated": [
"wiki/index.md",
"wiki/overview.md",
"wiki/log.md",
"wiki/hot.md",
"wiki/sources/_index.md",
"wiki/concepts/_index.md",
"wiki/entities/_index.md",
"wiki/domains/Computational Mechanics.md",
"wiki/entities/MIDAS Information Technology.md",
"wiki/entities/midas FEA.md",
"wiki/sources/Midas-FEA-Analysis-Manual.md",
"wiki/concepts/Finite Element Method.md",
"wiki/concepts/Finite Element Program Implementation.md",
"wiki/concepts/Nonlinear Finite Element Analysis.md",
"wiki/concepts/Static Equilibrium Equation Solvers.md",
"wiki/concepts/Direct Time Integration Methods.md",
"wiki/concepts/Finite Element Eigenproblem Solvers.md",
"wiki/concepts/Finite Element Heat Transfer and Field Problems.md",
"wiki/concepts/Finite Element Thermal Stress Analysis.md",
"wiki/concepts/Finite Element Modeling and Convergence Checks.md",
"wiki/concepts/Finite Element Load Vector Assembly.md",
"wiki/concepts/Midas FEA Construction Stage Analysis.md",
"wiki/concepts/Midas FEA Heat Transfer and Hydration Analysis.md",
"wiki/meta/dashboard.md",
"wiki/getting-started.md",
"wiki/Wiki Map.canvas"
]
},
".raw/MidasNFXAnalysisManual/": {
"hash": "3ee28ae2393ed463342b6e2626feb6b57d06a8012da1db9e4f8bb004d99d70ac",
"hash_algorithm": "sha256-composite-path-length-content",
"ingested_at": "2026-06-02",
"pages_created": [
"wiki/sources/Midas-NFX-Analysis-Manual.md",
"wiki/entities/midas NFX.md",
"wiki/concepts/Midas NFX Analysis Workflow.md",
"wiki/concepts/Midas NFX Element Library.md",
"wiki/concepts/Midas NFX Material and Composite Models.md",
"wiki/concepts/Midas NFX Equation Solvers and Eigen Extraction.md",
"wiki/concepts/Midas NFX Linear Dynamics and Buckling Analyses.md",
"wiki/concepts/Midas NFX Nonlinear Static and Dynamic Algorithms.md",
"wiki/concepts/Midas NFX Contact Analysis.md",
"wiki/concepts/Midas NFX Fatigue Analysis.md",
"wiki/concepts/Midas NFX Heat Transfer Joule Heating and Thermal Stress.md",
"wiki/concepts/Midas NFX Structural Optimization and Forming Limit Analysis.md"
],
"pages_updated": [
"wiki/index.md",
"wiki/overview.md",
"wiki/log.md",
"wiki/hot.md",
"wiki/sources/_index.md",
"wiki/concepts/_index.md",
"wiki/entities/_index.md",
"wiki/domains/Computational Mechanics.md",
"wiki/entities/MIDAS Information Technology.md",
"wiki/entities/midas FEA.md",
"wiki/entities/midas Civil.md",
"wiki/sources/Midas-FEA-Analysis-Manual.md",
"wiki/sources/Midas-Civil-Analysis-Reference.md",
"wiki/concepts/Finite Element Method.md",
"wiki/concepts/Finite Element Program Implementation.md",
"wiki/concepts/Static Equilibrium Equation Solvers.md",
"wiki/concepts/Direct Time Integration Methods.md",
"wiki/concepts/Finite Element Eigenproblem Solvers.md",
"wiki/concepts/Finite Element Heat Transfer and Field Problems.md",
"wiki/concepts/Finite Element Thermal Stress Analysis.md",
"wiki/concepts/Finite Element Contact Formulation.md",
"wiki/concepts/Finite Element Modeling and Convergence Checks.md",
"wiki/concepts/Abaqus Structural Optimization and Parametric Studies.md",
"wiki/concepts/Abaqus Transport Acoustic and Electromagnetic Materials.md",
"wiki/meta/dashboard.md",
"wiki/getting-started.md",
"wiki/Wiki Map.canvas"
]
}
},
"address_map": {
"wiki/sources/Finite Element Procedures.md": "c-000003",
"wiki/entities/Klaus-Jurgen Bathe.md": "c-000004",
"wiki/domains/Computational Mechanics.md": "c-000005",
"wiki/concepts/Finite Element Method.md": "c-000006",
"wiki/concepts/Engineering Mathematical Models.md": "c-000007",
"wiki/concepts/Displacement-Based Finite Element Formulation.md": "c-000008",
"wiki/concepts/Isoparametric Finite Elements.md": "c-000009",
"wiki/concepts/Mixed Finite Element Formulations.md": "c-000010",
"wiki/concepts/Nonlinear Finite Element Analysis.md": "c-000011",
"wiki/concepts/Finite Element Heat Transfer and Field Problems.md": "c-000012",
"wiki/concepts/Static Equilibrium Equation Solvers.md": "c-000013",
"wiki/concepts/Direct Time Integration Methods.md": "c-000014",
"wiki/concepts/Finite Element Eigenproblem Solvers.md": "c-000015",
"wiki/concepts/Finite Element Program Implementation.md": "c-000016",
"wiki/sources/A Continuum Mechanics Based Four-Node Shell.md": "c-000017",
"wiki/entities/Eduardo N. Dvorkin.md": "c-000018",
"wiki/concepts/Continuum Mechanics Based Four-Node Shell Element.md": "c-000019",
"wiki/concepts/Assumed Transverse Shear Strain Interpolation.md": "c-000020",
"wiki/concepts/Total Lagrangian Shell Formulation.md": "c-000021",
"wiki/sources/Four-Node-Quadrilateral-Shell-Element-MITC4.md": "c-000022",
"wiki/concepts/MITC4 Shell Element.md": "c-000023",
"wiki/concepts/Scordelis-Lo Shell Benchmark.md": "c-000024",
"wiki/entities/Edita Dvorakova.md": "c-000025",
"wiki/entities/Borek Patzak.md": "c-000026",
"wiki/entities/OOFEM.md": "c-000027",
"wiki/sources/MITC Study Notes.md": "c-000028",
"wiki/concepts/MITC Shell Kinematics.md": "c-000029",
"wiki/concepts/Green-Lagrange Strain Linearization.md": "c-000030",
"wiki/concepts/Nonlinear Newmark-Beta Integration.md": "c-000031",
"wiki/sources/Dynamic-Buckling-Analysis-of-Shell-Structures-using-Finite-Element-Method.md": "c-000032",
"wiki/entities/Hee Jun Lee.md": "c-000033",
"wiki/entities/Inha University.md": "c-000034",
"wiki/entities/BLZPACK.md": "c-000035",
"wiki/entities/ABAQUS.md": "c-000036",
"wiki/concepts/Dynamic Buckling Analysis.md": "c-000037",
"wiki/concepts/Dynamic Instability Region.md": "c-000038",
"wiki/concepts/Geometric Stiffness Matrix.md": "c-000039",
"wiki/sources/On-the-Finite-Element-Analysis-of-Shell-Structures.md": "c-000040",
"wiki/entities/Phill-Seung Lee.md": "c-000041",
"wiki/entities/Hyuk-Chun Noh.md": "c-000042",
"wiki/concepts/Basic Shell Mathematical Model.md": "c-000043",
"wiki/concepts/Shell Structure Asymptotic Behavior.md": "c-000044",
"wiki/concepts/Shell Locking Phenomenon.md": "c-000045",
"wiki/concepts/Uniform Optimal Convergence.md": "c-000046",
"wiki/concepts/Shell Element Benchmark Testing.md": "c-000047",
"wiki/sources/Solid Element Notes.md": "c-000048",
"wiki/concepts/Isoparametric Linear Solid Elements.md": "c-000049",
"wiki/concepts/Solid Element Shape Functions.md": "c-000050",
"wiki/concepts/Solid Element Strain-Displacement Matrix.md": "c-000051",
"wiki/concepts/Solid Element Stiffness Integration.md": "c-000052",
"wiki/concepts/Incompatible Mode Solid Elements.md": "c-000053",
"wiki/sources/Abaqus Theory Manual.md": "c-000054",
"wiki/concepts/Abaqus Analysis Procedures.md": "c-000055",
"wiki/concepts/Abaqus Element Library.md": "c-000056",
"wiki/concepts/Reduced Integration and Hourglass Control.md": "c-000057",
"wiki/concepts/Hybrid Incompressible Elements.md": "c-000058",
"wiki/concepts/Abaqus Constitutive Integration.md": "c-000059",
"wiki/concepts/Finite Element Contact Formulation.md": "c-000060",
"wiki/sources/A-First-Course-in-the-Finite-Element-Method.md": "c-000061",
"wiki/entities/Daryl L. Logan.md": "c-000062",
"wiki/concepts/Direct Stiffness Method.md": "c-000063",
"wiki/concepts/Bar and Truss Finite Elements.md": "c-000064",
"wiki/concepts/Beam and Frame Finite Elements.md": "c-000065",
"wiki/concepts/Plane Stress and Plane Strain Elements.md": "c-000066",
"wiki/concepts/Axisymmetric Finite Elements.md": "c-000067",
"wiki/concepts/Finite Element Load Vector Assembly.md": "c-000068",
"wiki/concepts/Finite Element Modeling and Convergence Checks.md": "c-000069",
"wiki/concepts/Finite Element Thermal Stress Analysis.md": "c-000070",
"wiki/sources/Abaqus-Analysis-User-s-Guide-Volume-I.md": "c-000071",
"wiki/concepts/Abaqus Input File Syntax.md": "c-000072",
"wiki/concepts/Abaqus Spatial Model Definition.md": "c-000073",
"wiki/concepts/Abaqus Surface and Assembly Modeling.md": "c-000074",
"wiki/concepts/Abaqus Matrix-Based Model Definition.md": "c-000075",
"wiki/concepts/Abaqus Job Execution Workflow.md": "c-000076",
"wiki/concepts/Abaqus Resource and Parallel Execution.md": "c-000077",
"wiki/concepts/Abaqus Output Database and Results Files.md": "c-000078",
"wiki/sources/Abaqus-Analysis-User-s-Guide-Volume-II.md": "c-000079",
"wiki/concepts/Abaqus General and Linear Perturbation Steps.md": "c-000080",
"wiki/concepts/Abaqus Nonlinear Solution Control.md": "c-000081",
"wiki/concepts/Abaqus Restart and Results Transfer.md": "c-000082",
"wiki/concepts/Abaqus Substructuring and Submodeling.md": "c-000083",
"wiki/concepts/Abaqus Matrix Generation and Reduced Models.md": "c-000084",
"wiki/concepts/Abaqus Fracture and Enriched Discontinuity Modeling.md": "c-000085",
"wiki/concepts/Abaqus Adaptivity and Mesh Replacement.md": "c-000086",
"wiki/concepts/Abaqus Explicit Analysis Efficiency Techniques.md": "c-000087",
"wiki/concepts/Abaqus Eulerian and Particle Methods.md": "c-000088",
"wiki/concepts/Abaqus Multiphysics Coupling and Co-simulation.md": "c-000089",
"wiki/concepts/Abaqus Structural Optimization and Parametric Studies.md": "c-000090",
"wiki/concepts/Abaqus User Subroutines and Utility Routines.md": "c-000091",
"wiki/sources/Abaqus-Analysis-User-s-Guide-Volume-III.md": "c-000092",
"wiki/concepts/Abaqus Material Library and Data Definition.md": "c-000093",
"wiki/concepts/Abaqus Elastic Material Models.md": "c-000094",
"wiki/concepts/Abaqus Hyperelastic and Viscoelastic Materials.md": "c-000095",
"wiki/concepts/Abaqus Metal Plasticity Models.md": "c-000096",
"wiki/concepts/Abaqus Geomaterial and Concrete Plasticity.md": "c-000097",
"wiki/concepts/Abaqus Progressive Damage and Failure.md": "c-000098",
"wiki/concepts/Abaqus Hydrodynamic Equation of State Materials.md": "c-000099",
"wiki/concepts/Abaqus Thermal Expansion and Damping Materials.md": "c-000100",
"wiki/concepts/Abaqus Transport Acoustic and Electromagnetic Materials.md": "c-000101",
"wiki/concepts/Abaqus Porous Media and Pore Fluid Materials.md": "c-000102",
"wiki/concepts/Abaqus User-Defined Material Behavior.md": "c-000103",
"wiki/sources/Abaqus-Analysis-User-s-Guide-Volume-IV.md": "c-000104",
"wiki/concepts/Abaqus Element Selection and Formulation.md": "c-000105",
"wiki/concepts/Abaqus Continuum Element Families.md": "c-000106",
"wiki/concepts/Abaqus Structural Element Families.md": "c-000107",
"wiki/concepts/Abaqus Beam and Shell Section Definitions.md": "c-000108",
"wiki/concepts/Abaqus Inertial Rigid and Capacitance Elements.md": "c-000109",
"wiki/concepts/Abaqus Connector Elements and Behaviors.md": "c-000110",
"wiki/concepts/Abaqus Cohesive and Gasket Elements.md": "c-000111",
"wiki/concepts/Abaqus Special-Purpose Interaction Elements.md": "c-000112",
"wiki/concepts/Abaqus Fluid Acoustic Eulerian and Particle Elements.md": "c-000113",
"wiki/concepts/Abaqus User-Defined Elements.md": "c-000114",
"wiki/concepts/Abaqus Element Indexes and Naming Conventions.md": "c-000115",
"wiki/sources/Abaqus-Analysis-User-s-Guide-Volume-V.md": "c-000116",
"wiki/concepts/Abaqus Prescribed Conditions and Amplitudes.md": "c-000117",
"wiki/concepts/Abaqus Initial and Boundary Conditions.md": "c-000118",
"wiki/concepts/Abaqus Loads and Predefined Fields.md": "c-000119",
"wiki/concepts/Abaqus Kinematic Constraints and MPCs.md": "c-000120",
"wiki/concepts/Abaqus Surface-Based Constraints and Couplings.md": "c-000121",
"wiki/concepts/Abaqus Embedded Elements and Overconstraints.md": "c-000122",
"wiki/concepts/Abaqus Contact Interaction Definition.md": "c-000123",
"wiki/concepts/Abaqus Contact Property Models.md": "c-000124",
"wiki/concepts/Abaqus Contact Formulations and Enforcement.md": "c-000125",
"wiki/concepts/Abaqus Contact Diagnostics and Modeling Difficulties.md": "c-000126",
"wiki/concepts/Abaqus Standard Contact Elements.md": "c-000127",
"wiki/concepts/Abaqus Cavity Radiation Interactions.md": "c-000128",
"wiki/sources/Finite-Elements-in-Plasticity-Theory-and-Practice.md": "c-000129",
"wiki/entities/D. R. J. Owen.md": "c-000130",
"wiki/entities/E. Hinton.md": "c-000131",
"wiki/concepts/Finite Element Plasticity.md": "c-000132",
"wiki/concepts/Incremental Elasto-Plastic Solution Methods.md": "c-000133",
"wiki/concepts/Plasticity Yield Criteria.md": "c-000134",
"wiki/concepts/Plastic Flow Rules and Hardening.md": "c-000135",
"wiki/concepts/Elasto-Viscoplastic Finite Element Analysis.md": "c-000136",
"wiki/concepts/Elasto-Plastic Timoshenko Beam Analysis.md": "c-000137",
"wiki/concepts/Elasto-Plastic Mindlin Plate Analysis.md": "c-000138",
"wiki/concepts/Transient Dynamic Elasto-Plastic Analysis.md": "c-000139",
"wiki/concepts/Finite Element Plasticity Program Architecture.md": "c-000140",
"wiki/concepts/Plasticity Benchmark and Input Data Cases.md": "c-000141",
"wiki/sources/Midas-FEA-Analysis-Manual.md": "c-000142",
"wiki/entities/MIDAS Information Technology.md": "c-000143",
"wiki/entities/midas FEA.md": "c-000144",
"wiki/concepts/Midas FEA Analysis Workflow.md": "c-000145",
"wiki/concepts/Midas FEA Element Library.md": "c-000146",
"wiki/concepts/Midas FEA Embedded Reinforcement Modeling.md": "c-000147",
"wiki/concepts/Midas FEA Interface Elements and Nonlinearities.md": "c-000148",
"wiki/concepts/Midas FEA Concrete Cracking and Material Models.md": "c-000149",
"wiki/concepts/Midas FEA Nonlinear Solution Algorithms.md": "c-000150",
"wiki/concepts/Midas FEA Linear Dynamics and Buckling Analyses.md": "c-000151",
"wiki/concepts/Midas FEA Construction Stage Analysis.md": "c-000152",
"wiki/concepts/Midas FEA Heat Transfer and Hydration Analysis.md": "c-000153",
"wiki/concepts/Midas FEA Static Contact Analysis.md": "c-000154",
"wiki/concepts/Midas FEA Fatigue Analysis.md": "c-000155",
"wiki/concepts/Midas FEA CFD Analysis.md": "c-000156",
"wiki/sources/Midas-Civil-Analysis-Reference.md": "c-000157",
"wiki/entities/midas Civil.md": "c-000158",
"wiki/concepts/Midas Civil Numerical Analysis Model.md": "c-000159",
"wiki/concepts/Midas Civil Element Library and Section Stiffness.md": "c-000160",
"wiki/concepts/Midas Civil Boundary Supports and Links.md": "c-000161",
"wiki/concepts/Midas Civil Dynamic and Seismic Analysis.md": "c-000162",
"wiki/concepts/Midas Civil Buckling P-Delta and Geometric Nonlinearity.md": "c-000163",
"wiki/concepts/Midas Civil Boundary and Material Nonlinear Analysis.md": "c-000164",
"wiki/concepts/Midas Civil Pushover and Performance Evaluation.md": "c-000165",
"wiki/concepts/Midas Civil Nonlinear Time History and Hysteresis Models.md": "c-000166",
"wiki/concepts/Midas Civil Construction Stage and Time-Dependent Analysis.md": "c-000167",
"wiki/concepts/Midas Civil Heat of Hydration and Thermal Stress Analysis.md": "c-000168",
"wiki/concepts/Midas Civil PSC and Prestress Loss Analysis.md": "c-000169",
"wiki/concepts/Midas Civil Moving Load Bridge Analysis.md": "c-000170",
"wiki/concepts/Midas Civil Special Load and Design Utilities.md": "c-000171",
"wiki/sources/Midas-NFX-Analysis-Manual.md": "c-000172",
"wiki/entities/midas NFX.md": "c-000173",
"wiki/concepts/Midas NFX Analysis Workflow.md": "c-000174",
"wiki/concepts/Midas NFX Element Library.md": "c-000175",
"wiki/concepts/Midas NFX Material and Composite Models.md": "c-000176",
"wiki/concepts/Midas NFX Equation Solvers and Eigen Extraction.md": "c-000177",
"wiki/concepts/Midas NFX Linear Dynamics and Buckling Analyses.md": "c-000178",
"wiki/concepts/Midas NFX Nonlinear Static and Dynamic Algorithms.md": "c-000179",
"wiki/concepts/Midas NFX Contact Analysis.md": "c-000180",
"wiki/concepts/Midas NFX Fatigue Analysis.md": "c-000181",
"wiki/concepts/Midas NFX Heat Transfer Joule Heating and Thermal Stress.md": "c-000182",
"wiki/concepts/Midas NFX Structural Optimization and Forming Limit Analysis.md": "c-000183"
}
}
@@ -0,0 +1,955 @@
<!-- source-page: 1 -->
# A continuum mechanics based four-node shell element for general non-linear analysis
Eduardo N. Dvorkin and Klaus-Jürgen Bathe
Department of Mechanical Engineering,
Massachusetts Institute of Technology, Cambridge, MA 02139, USA
(Received December 1983)
# ABSTRACT
A new four-node (non-flat) general quadrilateral shell element for geometric and material non-linear analysis is presented. The element is formulated using three-dimensional continuum mechanics theory and it is applicable to the analysis of thin and thick shells. The formulation of the element and the solutions to various test and demonstrative example problems are presented and discussed.
# INTRODUCTION
The finite element analysis of general shell structures has been a very active field of research for a large number of years $^{14,29}$ . However, despite the fact that many different shell elements have already been proposed, the search for a shell element capable of representing the general nonlinear behaviour of shells with arbitrary geometry and loading conditions in an effective and reliable manner is still continuing very actively.
During recent years it has become apparent that two approaches for the development of shell elements are very appropriate: (1) the use of simple elements, based on the discrete-Kirchhoff approach for the analysis of thin shells $^{2,5-9}$ ; (2) the use of degenerated isoparametric elements in which fully three-dimensional stress and strain conditions are degenerated to shell behaviour $^{2,3,5,7,17,19,24,29}$ .
The latter approach has the advantage of being independent of any particular shell theory, and this approach was used by Bathe and Bolourchi $^{3}$ to formulate a general shell element for geometric and material non-linear analysis. This element has been employed very successfully when used with 9 or, in particular, 16 nodes. However, the 16-node element is quite expensive, and although it is possible to use in some analyses only a few elements to represent the total structure (see later examples) in other analyses still a fairly large number of elements need by employed $^{5}$ .
Considering general shell analyses, much emphasis has been placed onto the development of a versatile, reliable and cost-effective 4-node shell element $^{16,17,22,28}$ . Such element would complement the above high-order 16-node element and may be more effective in certain analyses. The difficulties in the development of such element lie in that the element should be applicable in a reliable manner to thin and thick shells of arbitrary geometries for general non-linear analysis.
The objective in this paper is to present a simple 4-node general shell element with the following properties: the element is formulated using three-dimensional stress and strain conditions without use of a shell theory; the element is applicable to thin and thick shells and can be employed to model arbitrary geometries; the element is applicable to the conditions of large displacements and rotations but small strains, and can be used effectively in materially non-linear analysis.
The formulation of the element is quite simple and transparent, and the element has good predictive capability without containing spurious zero energy modes.
In the next section of the paper we discuss some basic considerations with respect to the assumptions used, and in the following section we present the element formulation for non-linear analysis. The results obtained in numerical solutions that demonstrate the properties of the element are given in the final section.
# BASIC CONSIDERATIONS
The formulation of the 4-node shell element represents an extension of the shell element discussed previously $^{2,3}$ , and we therefore use the same notation as in those references. Also, to focus attention onto some key issues of the formulation, we consider in this section only linear analysis conditions.
The geometry of the element (see Figure 1) is described using $^{2}$ :
$$
{ } ^ { l } x _ { i } = \sum _ { k = 1 } ^ { 4 } h _ { k } { } ^ { l } x _ { i } ^ { k } + \frac { r _ { 3 } } { 2 } \sum _ { k = 1 } ^ { 4 } a _ { k } h _ { k } { } ^ { l } V _ { n i } ^ { k } \tag {1}
$$
![](images/page-001_d5a8b8dfa6fbec52dcaa04baf84bcf6c3e6094dcbdc7affb122aa54bf942eed1.jpg)
<details>
<summary>text_image</summary>
r2
2
node 1
r1
3
g3
g2
g1
oVn4
a4
4
oVn^k
u3^k
u2^k
oV2^k
node k
oV1^k
αk
oV1^k = e2 × 0Vn^k / |e2 × 0Vn^k |
oV2^k = 0Vn^k × 0V1^k
</details>
Figure 1 Four-node shell element
<!-- source-page: 2 -->
![](images/page-002_ff020b598ebf94ae65e6bc78efebdc2f3b74a4d3a7eec6bb1611ec0d8c770c3e.jpg)
<details>
<summary>text_image</summary>
r₃
r₂
2
A
I
q₃
q₂
q₁
B
D
r₁
3
C
4
</details>
![](images/page-002_6cb23535ce5ce32d6a992b2e0ab5048f0b4e374b4f3923a30cde0f385d0c7b5a.jpg)
![](images/page-002_d08941e2c28a89d87966f44f673a97c182c7f8e7e7a8463c4dc64d3a59eda4f5.jpg)
$\tilde{\varepsilon}_{13}$ interpolation
![](images/page-002_f0e3ac3a321ba459c27856613fb953d2e49581e7c39cd42eb6a6c0cd5f67612c.jpg)
![](images/page-002_a5d95902e898986b8afdfd449bb9b0b86be37c1ae18a1cc360bfc197ca4bb023.jpg)
$\tilde{\varepsilon}_{23}$ interpolation
Figure 2 Interpolation functions for the transverse shear strains
where the $h_{k}(r_{1},r_{2})$ are the two-dimensional interpolation functions corresponding to node k; the $r_{i}$ are the natural coordinates; and $^{l}x_{i}=$ Cartesian coordinates of any point in the element; $^{l}x_{i}^{k}=$ Cartesian coordinates of nodal point k; $^{l}V_{nl}^{k}=$ components of director vector at node k (which is not necessarily normal to the midsurface of the element); and $a_{k}$ is the shell thickness at node k, measured along the vector $^{l}V_{n}^{k}$ . The left superscript is zero for the initial geometry of the element and is equal to 1 for the deformed element geometry. Note that the thickness of the element varies and the element is in general non-flat.
The displacements of any particle with natural coordinates $r_{i}$ of the shell element in the stationary Cartesian coordinate system are:
$$
u _ {i} = \sum_ {k = 1} ^ {4} h _ {k} u _ {i} ^ {k} + \frac {r _ {3}}{2} \sum_ {k = 1} ^ {4} a _ {k} h _ {k} \left(- ^ {0} V _ {2 i} ^ {k} \alpha_ {k} + ^ {0} V _ {1 i} ^ {k} \beta_ {k}\right) \tag {2}
$$
where the $u_{i}^{k}$ are the nodal point displacements into the Cartesian coordinate directions, and the $\alpha_{k}$ and $\beta_{k}$ are the rotations of the director vector ${}^{0}V_{n}^{k}$ about the ${}^{0}V_{1}^{k}$ and ${}^{0}V_{2}^{k}$ axes (see Figure 1).
A basic problem inherent in the use of the above interpolation of the displacements, and the derivation of the strain-displacement matrices therefrom, is that the element 'locks' when it is thin. This is due to the fact that with these interpolations the transverse shear strains cannot vanish at all points in the element, when it is subjected to a constant bending moment. Hence, although the basic continuum mechanics assumptions contain the Kirchhoff shell assumptions, the finite element discretization is not able to represent these assumptions rendering the element not applicable to the analysis of thin plates or shells $^{2,5,7}$ . To solve this deficiency, various remedies based on selective and reduced integration have been proposed $^{17,22,23}$ but there is still much room for more effective and reliable elements for general non-linear analysis.
Considering our element formulation - because the problem lies in the representation of the transverse shear strains - we proceed to not evaluate these shear strains from the displacements in (2), but to introduce separate interpolations for these strain components. Since we consider non-flat shell elements, the separate interpolations are performed effectively in a convected coordinate system†.
The choice of the interpolation for the transverse shear strain components is the key assumption in our element formulation, because adequate coupling between the element displacements and rotations must be introduced and the element should not exhibit any spurious zero energy modes. For our element we use (see Figure 2):
$$
\begin{array}{l} \tilde {\varepsilon} _ {1 3} = \frac {1}{2} (1 + r _ {2}) \tilde {\varepsilon} _ {1 3} ^ {\mathrm{A}} + \frac {1}{2} (1 - r _ {2}) \tilde {\varepsilon} _ {1 3} ^ {\mathrm{C}} \\ \tilde {\varepsilon} _ {2 3} = \frac {1}{2} \left(1 + r _ {1}\right) \tilde {\varepsilon} _ {2 3} ^ {\mathrm{D}} + \frac {1}{2} \left(1 - r _ {1}\right) \tilde {\varepsilon} _ {2 3} ^ {\mathrm{B}} \tag {3} \\ \end{array}
$$
Since the kinematic relations for the above shear strains are not satisfied using (3), we impose them using Lagrange multipliers $^{2,27}$ to obtain,
$$
\Pi^ {*} = \frac {1}{2} \int_ {V} \tilde {\tau} ^ {i j} \tilde {\varepsilon} _ {i j} \mathrm{d} V + \int_ {V} \lambda^ {1 3} \left(\tilde {\varepsilon} _ {1 3} - \tilde {\varepsilon} _ {1 3} ^ {\mathrm{DI}}\right) \mathrm{d} V + \tag {4}
$$
$$
\int_ {V} \lambda^ {2 3} \left(\tilde {\varepsilon} _ {2 3} - \tilde {\varepsilon} _ {2 3} ^ {\mathrm{DI}}\right) \mathrm{d} V - \mathscr {W}
$$
where the $\tilde{\tau}^{ij}$ are the contravariant components of the Cauchy stress tensor $^{13,15}$ , the $\tilde{\varepsilon}_{ij}$ are the covariant components of the infinitesimal strain tensor, the $\lambda^{13}$ and $\lambda^{23}$ are the Lagrange multipliers, the $\tilde{\varepsilon}_{13}^{DI}$ and $\tilde{\varepsilon}_{23}^{DI}$ are the transverse shear strains evaluated using the displacement interpolations in (2), and W is the potential of the external loads. For the Lagrange multipliers we choose the following interpolations,
$$
\lambda^ {1 3} = \lambda^ {A} \delta (r _ {1}) \delta (1 - r _ {2}) + \lambda^ {C} \delta (r _ {1}) \delta (1 + r _ {2})
$$
$$
\lambda^ {2 3} = \lambda^ {\mathrm{D}} \delta \left(r _ {2}\right) \delta \left(1 - r _ {1}\right) + \lambda^ {\mathrm{B}} \delta \left(r _ {2}\right) \delta \left(1 + r _ {1}\right) \tag {5}
$$
where $\delta(\ldots)$ is the Dirac-delta function. This represents a weakening of the Lagrange multiplier constraint in (4) $^{10}$ . Substituting from (5) into (4) and invoking that $\delta\Pi^{*}=0$ gives the distinct constrains:
$$
\left. \tilde {\varepsilon} _ {1 3} \right| _ {\text { at A }} = \left. \tilde {\varepsilon} _ {1 3} ^ {\mathrm{DI}} \right| _ {\text { at A }} \quad \left. \tilde {\varepsilon} _ {1 3} \right| _ {\text { at C }} = \left. \tilde {\varepsilon} _ {1 3} ^ {\mathrm{DI}} \right| _ {\text { at C }} \tag {6}
$$
$$
\tilde {\varepsilon} _ {2 3} \left| _ {\text {at D}} = \tilde {\varepsilon} _ {2 3} ^ {\mathrm{DI}} \right| _ {\text {at D}} \quad \tilde {\varepsilon} _ {2 3} \left| _ {\text {at B}} = \tilde {\varepsilon} _ {2 3} ^ {\mathrm{DI}} \right| _ {\text {at B}}
$$
Hence, the complete element stiffness matrix is calculated using the functional:
$$
\Pi^ {*} = \frac {1}{2} \int_ {V} \tilde {\tau} ^ {i j} \tilde {\varepsilon} _ {i j} \mathrm{d} V - \mathcal {W} \tag {7}
$$
<!-- source-page: 3 -->
![](images/page-003_f95c601761b2d3e08c15c9560b9b44d0e52d2e50af8c3719ef6481f69875f563.jpg)
<details>
<summary>text_image</summary>
r2
r3
g2
g3
r1
e3
e2
e1
g1
e3 = g3 / |g3|; e1 = g2 × e3 / |g2 × e3|; e2 = e3 × e1
</details>
Figure 3 Local Cartesian coordinate system used
with stress and strain components in convected coordinates and (1) and (2) to evaluate the strain components $\tilde{\varepsilon}_{11}$ , $\tilde{\varepsilon}_{22}$ and $\tilde{\varepsilon}_{12}$ ; (3) to evaluate the strain components $\tilde{\varepsilon}_{13}$ , $\tilde{\varepsilon}_{23}$ ; and (6) to express the variables $\tilde{\varepsilon}_{13}^{\mathrm{A}}$ , $\tilde{\varepsilon}_{13}^{\mathrm{C}}$ , $\tilde{\varepsilon}_{23}^{\mathrm{D}}$ , and $\tilde{\varepsilon}_{23}^{\mathrm{B}}$ in terms of the nodal point displacements and rotations of (2).
Considering the representation that we have chosen for the transverse shear strains, we can make the following three important observations:
(1) The element is able to represent the six rigid body modes. The element contains the rigid body modes because zero strains are calculated in the formulation when the element nodal point displacements and rotations correspond to an element rigid body displacement. This can be verified by using (1) to (6) to evaluate the strains, but more easily we can use the fact that the 4-node shell element of reference 3 satisfies the rigid body mode criterion. Hence, for a rigid body displacement the $\tilde{\varepsilon}_{13}^{DI}$ and $\tilde{\varepsilon}_{23}^{DI}$ are zero, from which it follows that also the shear strains in (3) are zero, and the rigid body mode criterion is satisfied.
(2) The element can approximate the KirchhoffLove hypothesis of negligible shear deformation effects and can be used for thin shells. Various demonstrative solutions are given in the fourth section.
(3) Based on our studies the element does not contain any spurious zero energy modes (using a 'full' numerical integration). We reach this observation by studying the strains along the element sides. If the element were to contain a spurious zero energy mode, the strains along every side should vanish for a displacement pattern (to be identified) other than the displacements corresponding to a true rigid body mode. However, such displacement pattern could not be identified.
Considering the practical use of the element the interpolation employed for the transverse shear strains shows that $\tilde{\varepsilon}_{13}$ is constant with $r_{1}$ and in general discontinuous at $r_{1}=\pm1$ (between elements), and similarly $\tilde{\varepsilon}_{23}$ is constant with $r_{2}$ and in general discontinuous at $r_{2}=\pm1$ . As a consequence, the accuracy with which transverse shear stresses are predicted depends to a significant degree on the mesh used and the geometric distortions of the elements. However, our experience is
that the bending stress predictions are relatively little affected by element distortions (see examples).
To employ (7), we also need to use the appropriate constitutive relations:
$$
\tilde {\tau} ^ {i j} = \tilde {C} ^ {i j k l} \tilde {\varepsilon} _ {k l} \tag {8}
$$
where $\tilde{C}^{ijkl}$ is the fourth-order contravariant constitutive tensor in the convected coordinates $r_{i}$ . The constitutive law is known in the local Cartesian system of orthonormal base vectors $\hat{e}_{i}, i=1,2,3$ , with the condition $\hat{\tau}^{33}$ equal to zero $^{2}$ , (see Figure 3). Denoting this constitutive tensor by $\hat{C}^{mnop}$ , the constitutive tensor for (8) is obtained using the transformation:
$$
\tilde {C} ^ {i j k l} = \left(\mathbf {g} ^ {i} \cdot \hat {\mathbf {e}} _ {m}\right) \left(\mathbf {g} ^ {j} \cdot \hat {\mathbf {e}} _ {n}\right) \left(\mathbf {g} ^ {k} \cdot \hat {\mathbf {e}} _ {0}\right) \left(\mathbf {g} ^ {l} \cdot \hat {\mathbf {e}} _ {p}\right) \hat {C} ^ {m n o p} \tag {9}
$$
where the $g^{i}$ are the contravariant base vectors of the convected coordinates $r_{i}$ . These vectors are calculated using the covariant base vectors $g_{i}$ , where:
$$
\mathbf {g} _ {i} = \frac {\partial^ {0} \mathbf {x}}{\partial r _ {i}} \tag {10}
$$
with $^{0}x$ from (1) and the following relations,
$$
g _ {i j} = \mathbf {g} _ {i} \cdot \mathbf {g} _ {j} \tag {11}
$$
and
$$
\mathbf {g} ^ {i} = g ^ {i j} \mathbf {g} _ {j} \tag {12}
$$
$$
g ^ {i j} = \frac {D ^ {i j}}{| \mathbf {J} | ^ {2}}
$$
where $D^{ij}$ is the cofactor of the term $g_{ij}$ in the matrix of the metric tensor and $|J|$ is the determinant of the Jacobian matrix at the point considered.
# TOTAL LAGRANGIAN FORMULATION
The large displacement formulation of the shell element is based on the derivation given in ref. 2 (Section 6.3.5), and the concepts and interpolations presented in the previous section.
The geometry of the element at any time t is defined as in (1) but using the nodal point coordinates, $^{t}x_{i}^{k}$ , and director vectors $^{t}V_{n}^{k}$ , at time $t,\dagger$
$$
{ } ^ { t } x _ { i } = h _ { k } { } ^ { t } x _ { i } ^ { k } + \frac { r _ { 3 } } { 2 } a _ { k } h _ { k } { } ^ { t } V _ { n i } ^ { k } \tag {13}
$$
where we imply summation over k. The displacements, $u_{i}$ , and incremental displacements, $u_{i}$ , of a particle of the element at time t are hence given by:
$$
{ } ^ { t } u _ { i } = h _ { k } { } ^ { t } u _ { i } ^ { k } + \frac { r _ { 3 } } { 2 } a _ { k } h _ { k } ( { } ^ { t } V _ { n i } ^ { k } - { } ^ { 0 } V _ { n i } ^ { k } ) \tag {14}
$$
$$
u _ {i} = h _ {k} u _ {i} ^ {k} + \frac {r _ {3}}{2} a _ {k} h _ {k} \left(- ^ {t} V _ {2 i} ^ {k} \alpha_ {k} + ^ {t} V _ {1 i} ^ {k} \beta_ {k}\right)
$$
where the $^{t}u_{i}^{k}$ are the nodal point displacements at time $t$ , the $u_{i}^{k}$ are the incremental nodal point displacements from the configuration at time $t$ , and the variables $^{t}V_{2i}^{k}, ^{t}V_{1i}^{k}, \alpha_{k}$ and $\beta_{k}$ are defined as in (2) but referred to the configuration at time $t$ .
This kinematic description implies the following hy-
<!-- source-page: 4 -->
potheses: the director vectors remain straight during the deformations; the 'thickness' of the element measured along the director vectors remains constant during the deformations; hence only small strain conditions are considered.
Using the assumptions in (13) and (14) the geometric and material non-linear response is analysed using an incremental formulation $^{2}$ , in which the configuration is sought for time (load step) ' $t+\Delta t$ ', when the configuration for time t is known. The basis of this incremental formulation is the use of the virtual work principle applied to the configuration at time $t+\Delta t$ . In essence, two approaches can be employed leading to the updated Lagrangian and the total Lagrangian formulations. These approaches are, from a continuum mechanics point of view, equivalent, and in the following we develop the governing finite element relations for the total Lagrangian formulation.
The principle of virtual work applied to the configuration at time $t + \Delta t$ is:
$$
\int_ {0 V} ^ {t + \Delta t} \tilde {S} _ {0} ^ {i j} \delta_ {0} ^ {t + \Delta t} \tilde {\varepsilon} _ {i j} ^ {0} \mathrm{d} V = ^ {t + \Delta t} \mathcal {R} \tag {15}
$$
where the $^{t+\Delta t}_{0}\tilde{S}^{ij}$ are the contravariant components of the second Piola-Kirchhoff stress tensor at time $t+\Delta t$ and referred to the configuration at time 0, and the $^{t+\Delta t}_{0}\tilde{E}_{ij}$ are the covariant components of the Green-Lagrange strain tensor at time $t+\Delta t$ and referred to time 0. Both sets of tensor components are measured in the convected coordinate system $r_{i}, i=1,2,3$ . The external virtual work is given by $^{t+\Delta t}\mathcal{R}$ and includes the work due to the applied surface tractions and body forces.
For the incremental solution, the stresses and strains are decomposed into the known quantities, ${}_{0}^{t}\tilde{S}^{ij}$ and ${}_{0}^{t}\tilde{e}_{ij}$ , and unknown increments, ${}_{0}\tilde{S}^{ij}$ and ${}_{0}\tilde{e}_{ij}$ , so that
$$
{ } _ { 0 } ^ { t + \Delta t } \tilde { S } ^ { i j } = { } _ { 0 } ^ { t } \tilde { S } ^ { i j } + { } _ { 0 } \tilde { S } ^ { i j } \tag {16}
$$
$$
{ } ^ { t + \Delta t } _ { 0 } \tilde { \varepsilon } _ { i j } = { } _ { 0 } ^ { t } \tilde { \varepsilon } _ { i j } + { } _ { 0 } \tilde { \varepsilon } _ { i j } \tag {17}
$$
In addition, the strain increment can be written as a linear part, $_{0}\tilde{e}_{ij}$ , and a non-linear part, $_{0}\tilde{\eta}_{ij}$ , hence
$$
_ 0 \tilde {\varepsilon} _ {i j} = _ {0} \tilde {e} _ {i j} + _ {0} \tilde {\eta} _ {i j} \tag {18}
$$
Substituting from (16) to (18) into (15) and using the linearized expressions $_{0}\bar{S}^{ij}=_{0}\bar{C}^{ijkl}_{0}\tilde{e}_{kl}$ and $\delta_{0}\tilde{\varepsilon}_{ij}=\delta_{0}\tilde{e}_{ij}$ we obtain the linearized equation of motion:
$$
\begin{array}{l} \int_ {0 _ {V}} ^ {0} \tilde {C} ^ {i j k l} _ {0} \tilde {e} _ {k l} \delta_ {0} \tilde {e} _ {i j} ^ {0} \mathrm{d} V + \int_ {0 _ {V}} ^ {t} \tilde {S} ^ {i j} \delta_ {0} \tilde {\eta} _ {i j} ^ {0} \mathrm{d} V \tag {19} \\ = ^ {t + \Delta t} \mathcal {R} - \int_ {0 V} ^ {t} \tilde {S} ^ {i j} \delta_ {0} \tilde {e} _ {i j} ^ {0} \mathrm{d} V \\ \end{array}
$$
This equation is the basic equilibrium relation employed to develop the governing finite element matrices. For the actual solution of problems it is frequently important to use equilibrium iterations, but the finite element matrices and vectors used in these iterations can be derived directly from the matrices obtained using (19) $^{2}$ . Note that $_{0}\tilde{C}^{ijkl}$ is now obtained using (9) with the condition $_{0}^{t}\hat{S}^{33}=0$ , which implies the more natural condition $^{t}\hat{\tau}^{33}=0$ only in the small strain case.
The basic problem of the finite element discretization of (19) lies in expressing the strain terms of (19) in terms of the finite element interpolations. Using the definition of the Green-Lagrange strain components:
$$
{ } _ { 0 } ^ { t } \tilde { \varepsilon } _ { i j } = \frac { 1 } { 2 } ( { } ^ { t } \mathbf { g } _ { i } \cdot { } ^ { t } \mathbf { g } _ { j } - { } ^ { 0 } \mathbf { g } _ { i } \cdot { } ^ { 0 } \mathbf { g } _ { j } ) \tag {20}
$$
and the relations in (13) and (14) we obtain:
$$
{ } _ { 0 } \tilde { e } _ { i i } = h _ { k , i } { } ^ { t } \mathbf { g } _ { i } \cdot \mathbf { u } _ { k } + \frac { r _ { 3 } } { 2 } a _ { k } h _ { k , i } ( - \alpha _ { k } { } ^ { t } \mathbf { g } _ { i } \cdot { } ^ { t } \mathbf { V } _ { 2 } ^ { k } + \beta _ { k } { } ^ { t } \mathbf { g } _ { i } \cdot { } ^ { t } \mathbf { V } _ { 1 } ^ { k } ) \tag {21a}
$$
$$
_ {0} \tilde {\eta} _ {i i} = \frac {1}{2} h _ {k, i} h _ {p, i} \mathbf {u} _ {k} \cdot \mathbf {u} _ {p} + \frac {r _ {3}}{2} h _ {k, i} h _ {p, i} a _ {p} \left(- \alpha_ {p} ^ {t} \mathbf {V} _ {2} ^ {p} \cdot \mathbf {u} _ {k} + \beta_ {p} ^ {t} \mathbf {V} _ {1} ^ {p} \cdot \mathbf {u} _ {k}\right) +
$$
$$
\begin{array}{r l} \frac {(r _ {3}) ^ {2}}{8} h _ {k, i} h _ {p, i} a _ {k} a _ {p} (- \alpha_ {k} ^ {t} \mathbf {V} _ {2} ^ {k} + \beta_ {k} ^ {t} \mathbf {V} _ {1} ^ {k}) \cdot (- \alpha_ {p} ^ {t} \mathbf {V} _ {2} ^ {p} + \beta^ {p t} \mathbf {V} _ {1} ^ {p}) & (i = 1, 2) \\ & (2 1 b) \end{array}
$$
with the notation $h_{k,i} = \frac{\partial h_k}{\partial r_i}, \mathbf{u}_k^{\mathrm{T}} = [u_1^k \quad u_2^k \quad u_3^k]$ , and
$$
{ } _ { 0 } \tilde { e } _ { 1 2 } = \frac { 1 } { 2 } \left[ h _ { k , 2 } { } ^ { t } \mathbf { g } _ { 1 } \cdot \mathbf { u } _ { k } + h _ { k , 1 } { } ^ { t } \mathbf { g } _ { 2 } \cdot \mathbf { u } _ { k } + \right.
$$
$$
\frac {r _ {3}}{2} h _ {k, 2} a _ {k} \left(- \alpha_ {k} ^ {t} \mathbf {V} _ {2} ^ {k} \cdot^ {t} \mathbf {g} _ {1} + \beta_ {k} ^ {t} \mathbf {V} _ {1} ^ {k} \cdot^ {t} \mathbf {g} _ {1}\right) +
$$
$$
\frac {r _ {3}}{2} h _ {k, 1} a _ {k} (- \alpha_ {k} ^ {t} \mathbf {V} _ {2} ^ {k} \cdot^ {t} \mathbf {g} _ {2} + \beta_ {k} ^ {t} \mathbf {V} _ {1} ^ {k} \cdot^ {t} \mathbf {g} _ {2}) ] \tag {22a}
$$
$$
_ 0 \tilde {\eta} _ {1 2} = \frac {1}{2} \left[ h _ {k, 1} h _ {p, 2} \mathbf {u} _ {k} \cdot \mathbf {u} _ {p} + \right.
$$
$$
\frac {r _ {3}}{2} h _ {k, 1} h _ {p, 2} a _ {p} \left(- \alpha_ {p} ^ {\prime} \mathbf {V} _ {2} ^ {p} \cdot \mathbf {u} _ {k} + \beta_ {p} ^ {\prime} \mathbf {V} _ {1} ^ {p} \cdot \mathbf {u} _ {k}\right) +
$$
$$
\frac {r _ {3}}{2} h _ {k, 1} h _ {p, 2} a _ {k} \left(- \alpha_ {k} ^ {t} \mathbf {V} _ {2} ^ {k} \cdot \mathbf {u} _ {p} + \beta_ {k} ^ {t} \mathbf {V} _ {1} ^ {k} \cdot \mathbf {u} _ {p}\right) +
$$
$$
\frac {(r _ {3}) ^ {2}}{4} h _ {k, 1} h _ {p, 2} a _ {k} a _ {p} \left(- \alpha_ {k} ^ {t} \mathrm{V} _ {2} ^ {k} + \beta_ {k} ^ {t} \mathrm{V} _ {1} ^ {k}\right) \cdot \left(- \alpha_ {p} ^ {t} \mathrm{V} _ {2} ^ {p} + \beta_ {p} ^ {t} \mathrm{V} _ {1} ^ {p}\right) ] \tag {22b}
$$
Further, we obtain for the transverse shear strains, using (3) and (6):
$$
{ } _ { 0 } \tilde { e } _ { 1 3 } = \frac { 1 } { 8 } ( 1 + r _ { 2 } ) \left[ ^ { t } g _ { 3 i } ^ { \mathrm{A} } ( u _ { i } ^ { 1 } - u _ { i } ^ { 2 } ) + \right.
$$
$$
\frac {1}{2} ^ {t} g _ {1 i} ^ {A} \left(- \alpha_ {1} a _ {1} ^ {t} V _ {2 i} ^ {1} + \beta_ {1} a _ {1} ^ {t} V _ {1 i} ^ {1} - \alpha_ {2} a _ {2} ^ {t} V _ {2 i} ^ {2} + \beta_ {2} a _ {2} ^ {t} V _ {1 i} ^ {2}\right) ] +
$$
$$
\frac {1}{8} (1 - r _ {2}) \left[ ^ {t} g _ {3 i} ^ {C} \left(u _ {i} ^ {4} - u _ {i} ^ {3}\right) + \frac {1}{2} ^ {t} g _ {1 i} ^ {C} \left(- \alpha_ {4} a _ {4} ^ {t} V _ {2 i} ^ {4} + \right. \right.
$$
$$
\left. \beta_ {4} a _ {4} ^ {t} V _ {1 i} ^ {4} - \alpha_ {3} a _ {3} ^ {t} V _ {2 i} ^ {3} + \beta_ {3} a _ {3} ^ {t} V _ {1 i} ^ {3}) \right] \tag {23a}
$$
$$
{ } _ { 0 } \tilde { \eta } _ { 1 3 } = \frac { 1 } { 3 2 } ( 1 + r _ { 2 } ) \left[ ( - \alpha _ { 1 } a _ { 1 } { } ^ { t } V _ { 2 i } ^ { 1 } + \beta _ { 1 } a _ { 1 } { } ^ { t } V _ { 1 i } ^ { 1 } - \right.
$$
$$
\left. \alpha_ {2} a _ {2} ^ {t} V _ {2 i} ^ {2} + \beta_ {2} a _ {2} ^ {t} V _ {1 i} ^ {2}) \left(u _ {i} ^ {1} - u _ {i} ^ {2}\right) \right] +
$$
$$
\frac {1}{3 2} (1 - r _ {2}) \left[ \left(- \alpha_ {4} a _ {4} ^ {\prime} V _ {2 i} ^ {4} + \beta_ {4} a _ {4} ^ {\prime} V _ {1 i} ^ {4} - \right. \right.
$$
$$
\left. \alpha_ {3} a _ {3} ^ {t} V _ {2 i} ^ {3} + \beta_ {3} a _ {3} ^ {t} V _ {1 i} ^ {3}) \left(u _ {i} ^ {4} - u _ {i} ^ {3}\right) \right] \tag {23b}
$$
and
$$
{ } _ { 0 } \tilde { e } _ { 2 3 } = \frac { 1 } { 8 } ( 1 + r _ { 1 } ) \left[ ^ { t } g _ { 3 i } ^ { \mathrm{D} } ( u _ { i } ^ { 1 } - u _ { i } ^ { 4 } ) + \right.
$$
$$
\frac {1}{2} ^ {t} g _ {2 i} ^ {\mathrm{D}} \left(- \alpha_ {1} a _ {1} ^ {t} V _ {2 i} ^ {1} + \beta_ {1} a _ {1} ^ {t} V _ {1 i} ^ {1} - \alpha_ {4} a _ {4} ^ {t} V _ {2 i} ^ {4} + \beta_ {4} a _ {4} ^ {t} V _ {1 i} ^ {4}\right) ] +
$$
$$
\frac {1}{8} (1 - r _ {1}) _ {L} ^ {t} g _ {3 i} ^ {B} (u _ {i} ^ {2} - u _ {i} ^ {3}) + \frac {1}{2} ^ {t} g _ {2 i} ^ {B} (- \alpha_ {2} a _ {2} ^ {t} V _ {2 i} ^ {2} +
$$
$$
\left. \beta_ {2} a _ {2} ^ {t} V _ {1 i} ^ {2} - \alpha_ {3} a _ {3} ^ {t} V _ {2 i} ^ {3} + \beta_ {3} a _ {3} ^ {t} V _ {1 i} ^ {3}) \right] \tag {24a}
$$
<!-- source-page: 5 -->
$$
\begin{array}{l} _ 0 \tilde {\eta} _ {2 3} = \frac {1}{3 2} (1 + r _ {1}) \left[ \left(- \alpha_ {1} a _ {1} ^ {\prime} V _ {2 i} ^ {1} + \beta_ {1} a _ {1} ^ {\prime} V _ {1 i} ^ {1} - \right. \right. \\ \left. \alpha_ {4} a _ {4} ^ {t} V _ {2 i} ^ {4} + \beta_ {4} a _ {4} ^ {t} V _ {1 i} ^ {4}) \left(u _ {i} ^ {1} - u _ {i} ^ {4}\right) \right] + \\ \frac {1}{3 2} (1 - r _ {1}) \left[ \left(- \alpha_ {2} a _ {2} ^ {t} V _ {2 i} ^ {2} + \beta_ {2} a _ {2} ^ {t} V _ {1 i} ^ {2} - \right. \right. \\ \alpha_ {3} a _ {3} ^ {\prime} V _ {2 i} ^ {3} + \beta_ {3} a _ {3} ^ {\prime} V _ {1 i} ^ {3}) (u _ {i} ^ {2} - u _ {i} ^ {3}) ] \\ \end{array}
$$
(24b)
Note that, since we assume the thickness of the shell to be constant, the strain $t_{0}\tilde{\varepsilon}_{33}$ through the element thickness is zero.
The expressions in (21) to (24) are substituted into (19) which in the standard manner yields the linear strain incremental stiffness matrix ${}^{t}_{0}K_{L}$ , the non-linear strain (or geometric) incremental stiffness matrix ${}^{t}_{0}K_{NL}$ and the nodal point force vector ${}^{t}_{0}F$ in the finite element incremental equilibrium relations $^{2}$ ,
$$
(_ {0} ^ {t} \mathbf {K} _ {L} + _ {0} ^ {t} \mathbf {K} _ {N L}) \mathbf {u} = ^ {t + \Delta t} \mathbf {R} - _ {0} ^ {t} \mathbf {F} \tag {25}
$$
The element matrices in (25) correspond to five degrees of freedom per node (see Figure 1) but in some applications it is convenient to use instead of $\alpha_{k}$ and $\beta_{k}$ three rotations about the global coordinate axes (see examples). In this case, we simply transform the matrices of (25) in the standard manner $^{2}$ .
# NUMERICAL TESTS AND EXAMPLE SOLUTIONS
We have implemented our shell element in the ADINA computer program and have performed various numerical tests to study the predictive capabilities of the element. The following solutions were all obtained using $2 \times 2$ Gauss integration in the $r_{3}=0$ surface of the element, and 2 and 4 point Gauss integration in the $r_{3}$ direction, for elastic and elastoplastic analyses, respectively.
# Some simple tests
As a first step to test the element, the eigenvalues of the stiffness matrices of undistorted and distorted elements were calculated. In all cases, as expected, the element displayed the six rigid body modes and no spurious zero energy modes.
Patch tests. For the patch test $^{2,18}$ the mesh shown in Figure 4a was used. In the first analysis (Figure 4b) the mesh was loaded with the constant moment indicated and a constant curvature (linear distribution of rotations) was obtained for both plate thicknesses in the two plate directions. The transverse displacements predicted by the model were, as expected, those of KirchhoffLove plate theory at nodes 7 and 8.
In the second analysis (Figure 4c) the rotational degrees of freedom were deleted and the mesh was subjected to shear forces. As expected, for both plate thicknesses a linear distribution of transverse displacements was obtained.
In the third analysis (Figure 4d) the mesh was subjected to an external twisting moment. In the thin plate analysis, constant curvatures were obtained in both plate directions and the transverse displacements agreed with the analytical thin plate theory solution. In the thick plate analysis, a slight non-symmetry in the displacement response (the third digit) was obtained due to the unsymmetric representation of the transverse shear deformations. This non-symmetry is not observed, if the shear deformations are suppressed (which corresponds to thin
![](images/page-005_a48de6bf3f03750b20738b9903df25da0d15abf6d3d92458cdd4f606a0f75c3d.jpg)
<details>
<summary>text_image</summary>
x₂
1
(Q,1Q)
7(10,1Q)
3(4,7.)
5(8,7.)
10.
4(2,2)
6
(8,3)
2
(Q,Q)
8(10,Q)
x₁
10.
</details>
(a) Patch test mesh
![](images/page-005_00510176490cef82f49b70141ea71894cb95c13d476fc9a8c2bcced4d290419c.jpg)
<details>
<summary>text_image</summary>
u_{1-2-3}=0
β=0
BENDING
u_{1-3}=0
β=0
</details>
(b) Constant curvature patch test
![](images/page-005_578dbb8081c2c49793ec95f7bdcfd44b9148f8302223b63bb98f8236dc704aa6.jpg)
<details>
<summary>text_image</summary>
u₃=0
SHEAR
u₁₋₂=0
α=Ω=0
u₃=0
</details>
(c) Constant shear patch test (zero rotations)
![](images/page-005_1012548cf5134eca3c0e9354dd072c4ec5a4b225b6cc50fdc277d9688d9c026e.jpg)
<details>
<summary>text_image</summary>
u₃=0
TWISTING
u₁₋₂ = 0
u₃=0
u₃=0
</details>
(d) Constant twist patch test
Figure 4 Patch tests. $E = 2.1 \times 10^{6}$ ; $v = 0.3$ ; thickness $= \begin{cases} 1.0 \\ 0.001 \end{cases}$
<!-- source-page: 6 -->
![](images/page-006_561f992b28f0957f27f23d84b3ef820569f70b8004e6f194f1f363d45439d344.jpg)
<details>
<summary>text_image</summary>
x₃
4
3
x₂
M/2
1.0
1
2
M/2
x₁
L={100,10.}
</details>
(a) One element case. Node 1: $x = 0$ ; $u_{2-3} = 0$ . Node 4: $x = 0$ ; $u_{1-2-3} = 0$
![](images/page-006_16f6a8ca84210938f4fae40ea7c42718158fa4014f8f772cadfa18f393160368.jpg)
<details>
<summary>text_image</summary>
x₃
L
0.3L
x₂
x₁
0.3L
</details>
(b) Two element case
Figure 5 Cantilever subjected to tip bending moment. $E=2.1 \times 10^{6}$ ; v=0.3; thickness=0.1.
plate theory) by choosing a large value for the shear correction factor $k$ (or when using rectangular elements in the mesh) $^2$ .
Finally, it should be noted that the patch test is of course passed for the three membrane stress states ( $\tau_{11}$ , $\tau_{22}$ and $\tau_{12}$ constants).
Cantilever linear analyses. A cantilever of unit width, thickness 0.1 and lengths 10 and 100 was subjected to a tip bending moment. The structure was modelled using one single element and two distorted elements as shown in Figure 5. The results obtained in these analyses for the displacements and rotations at the cantilever tip and the stresses were those of Bernoulli beam theory.
Next, the cantilever in Figure 6a was analysed for the transverse tip load shown. Using 4 equal size elements to idealize the cantilever, again good results were obtained when compared with beam theoretical results (see Figure 6b and Table 1).
Finally, the elements modelling the cantilever were distorted as shown in Figure 6c for a thin and a thick cantilever. The results given in Figure 6d and Table 2 show that the transverse displacements and normal bending stresses are almost insensitive to the element distortions. However, the calculated transverse shear stresses (not shown in the Figure) are not accurate.
Linear analyses of a simply-supported plate. A simply-supported plate was considered for a static and a frequency analysis using a consistent mass matrix. To model one quarter of the plate the $4 \times 4$ mesh of equal elements (Figure 7a) was used. Figure 7b and Tables 3 and 4 give a comparison of the numerically and analytically predicted results. The same plate was also analysed using the distorted element mesh also shown in Figure 7a and the results of Figure 7b and Tables 3 and 4 were obtained.
$$
E = 2. 1 \times 1 0 ^ {6}; v = 0. 0; \text { thickness } = 0. 1; P = 1. 0
$$
![](images/page-006_38ebcfb83a18e241db3810921bae82e46545bac6903cd665b2e6790bf82066be.jpg)
<details>
<summary>text_image</summary>
x3
elem. 1
elem. N
P/2
x2
α=0
u1-2-3=0
α=0
u2-3=0
P/2
1.0
x1
10.
</details>
(a) Cantilever subjected to transverse tip load
![](images/page-006_dec6db2921847506cee29537cb7e1fb8f97613d01edbef9a15d4bcd2bdcf06ef.jpg)
<details>
<summary>line</summary>
| x₂ | τ₂₂ | τ₂₃ |
| ---- | ------- | ------- |
| 0 | 3464.10 | 10 |
| L | 0 | 10 |
| x₂ | 0 | 10 |
</details>
(b) Solution using non-distorted elements
![](images/page-006_572bd2c8413d9ea55265b5ffb1ebc5848a2ae8c33b16ef03b5392bb163b374c0.jpg)
<details>
<summary>flowchart</summary>
```mermaid
graph TD
A["0. 2.5 4.5 7.5 10. B"] -->|x₁| B["0. 2. 5. 7. 10. A"]
B --> C["x₂"]
```
</details>
(c) Distorted mesh - plan view
![](images/page-006_b868b07d372b77a5c662be3a2db817454282936b40b91ee4720442982a1fad6a.jpg)
(d) Solution using distorted mesh - two thicknesses and loads
Figure 6 Response of a cantilever subjected to transverse tip load, stresses shown are those at the Gauss integration stations $r_{3}=0.57735$ ; $\tau_{pp}$ , is the principal stress in the distorted mesh, and its direction was always less than 11 degrees from the $x_{2}$ axis. ——, Analytical (Bernoulli); ○, shell element (N=4)
Table 1 Cantilever tip transverse displacement: non-distorted meshes of N elements
<table><tr><td>N</td><td> $u_{3\text{TIP}}^{\text{FEM}} \left/ \left( \frac{\text{PL}^3}{3\text{EI}} + \frac{\text{PL}}{\text{AG}} \right) \right.$ </td></tr><tr><td>1</td><td>0.750</td></tr><tr><td>4</td><td>0.984</td></tr></table>
Table 2 Cantilever tip transverse displacements
<table><tr><td>Thickness</td><td> $\eta|_{point B}$ </td><td> $\eta|_{point A}$ </td></tr><tr><td>0.1</td><td>0.989</td><td>0.996</td></tr><tr><td>2.0</td><td>1.0013</td><td>0.995</td></tr></table>
$\eta = (u_{3}$ distorted mesh)/(u3 non-distorted mesh)
<!-- source-page: 7 -->
![](images/page-007_fc638e677479023b3329468c72e192e8c07bc681f3891a39caebca185648552b.jpg)
<details>
<summary>text_image</summary>
L/2
12.50
x₂
x₁
12.50
L/2
</details>
(a) Non-distorted and distorted meshes ( $\Delta=2.50$ )
![](images/page-007_26fe881157d94642d5935f90d7e3b59d6a7fe50f64a26e0ab1352a0b0c6aae9e.jpg)
<details>
<summary>line</summary>
| x₁ | τ₂₂/qL² |
|----|---------|
| 0 | 20 |
| 10 | 18 |
| 20 | 16 |
| 30 | 14 |
| 40 | 12 |
| 50 | 0 |
</details>
![](images/page-007_1df20afc31504b59377219a264749fb20ccc8fa41de4382d1727d6d7363d97fc.jpg)
<details>
<summary>line</summary>
| x₁ | τ₁₁/qL² |
| --- | ------- |
| 0 | 20 |
| 10 | 18 |
| 20 | 15 |
| 30 | 12 |
| 40 | 8 |
| 50 | 4 |
</details>
(b) Static response due to constant pressure loading, stresses are given along line $x_{2}=0$ , $x_{3}=0.028868$ . ——, analytical (Kirchhoff plate); ○, non-distorted mesh; □, distorted mesh.
Figure 7 Linear analysis of a simply-supported plate
Table 3 Non-dimensional displacements at centre of simply-supported plate: distorted and non-distorted meshes
<table><tr><td>Model</td><td> $u_{3}^{\text{FEM}}/u_{3}^{\text{thin plate}}$ </td><td>at centre</td></tr><tr><td>non-dist.</td><td>0.995</td><td></td></tr><tr><td>dist.</td><td>0.992</td><td></td></tr></table>
Table 4 Non-dimensional frequencies f (cycles/sec) for a simply-supported plate: distorted and non-distorted meshes
<table><tr><td>Mode shape</td><td> $f^{FEM}/f^{thin plate}$ </td></tr><tr><td>1-1</td><td>1.02</td></tr><tr><td>1-3</td><td>1.18</td></tr><tr><td>3-3</td><td>1.17</td></tr></table>
Analysis of a rhombic cantilever. The rhombic cantilever shown in Figure 8, fixed at one side and subjected to constant pressure was analysed using a $4 \times 4$ element mesh. In Table 5, the results for the transverse displacements at six locations are compared against the solutions obtained using the DKT triangular element $^{6}$ , experimental measurements $^{1}$ and using the 16-node isoparametric element (with $4 \times 4 \times 2$ Gauss integration). In all cases a one step geometric non-linear analysis with equilibrium iterations was performed. Good correspondence between the experimental results and the solution obtained using our new 4-node element is observed.
# Linear analysis of a cylindrical (ScordelisLo) shell
The shell structure shown in Figure 9a has frequently been used to test the performance of shell elements $^{12}$ . Figure 9b shows the solutions obtained with our elements. In each of the solutions uniform meshes with equal sized elements were employed over one-quarter of the shell. Solutions obtained using the 3-node DKT triangular element $^{25}$ and the 16-node isoparametric element $^{25}$ are also shown.
# Linear analysis of a pinched cylinder
The pinched cylinder problem shown in Figure 10a was also frequently analysed to test shell elements. Figure 10b and Tables 6 and 7 show the convergence behaviour obtained with our new element, when comparing the finite element solutions $^{11,21}$ . Note that using the isoparametric shell element $^{3}$ also a fairly large number of degrees of freedom are required to predict the response of the cylinder accurately.
# Large deflection analysis of a cantilever
The cantilever shown in Figure 11a was analysed for its large displacement and large rotation response. This is a typical problem considered to test the geometric nonlinear behaviour of beam and shell elements $^{25}$ . Figure 11a also shows the models used in the analysis.
The first two models are single element, cubic and parabolic isoparametric degenerate shell element models. Model I predicts the response of the cantilever very accurately, whereas model II yields an accurate response solution in linear analysis but locks once the element is curved in the non-linear response solution. This observation is in accordance with the results reported elsewhere $^{5}$ .
The same nodal point layouts were next employed for models III and IV using our new 4-node shell element. Figures 11b11d give the results obtained with these models. It is seen that model III yields an accurate large displacement response prediction, and even model IV yields quite accurate results up to about 60 degrees of rotation. The computer time required in these analyses were only little different using models I, III and IV.
Another important result is shown in Table 8. As reported earlier $^{5}$ , the cubic shell element is sensitive to 'in-plane' distortions, and hence it is interesting to study the effect of using a distorted element mesh in the analysis of the cantilever (see Figures 12a and 12b). Table 8 summarizes the results obtained using the one cubic element and three 4-node elements with a nodal layout that corresponds to distorting the elements. It is seen that the predictive capability of our new 4-node element is considerably less sensitive to the element distortions.
<!-- source-page: 8 -->
![](images/page-008_5da32209f9cc0a6196f1164fc9ce754f4ae6c38f136e9ce5053c93e0be7c0c81.jpg)
<details>
<summary>text_image</summary>
x₂
3
2
1
45°
6
5
4
12
x₁
12
u₁₋₂₋₃ = α = β = 0
</details>
4 x 4 mesh - 4-node elements
![](images/page-008_340afbf55b4f809ae3ac12c13d5aba569d93c5d818819279e228ce3c5951471c.jpg)
<details>
<summary>text_image</summary>
4 x 4 mesh - DKT elements
2 x
</details>
![](images/page-008_b658945d9e061f5d0f1bcb162247b3e5701759c6319100d3bed3030913ba93e2.jpg)
<details>
<summary>text_image</summary>
2 x 2 mesh - 16-node elements
(Int. 4x4x2)
</details>
Figure 8 Response of rhombic cantilever subjected to constant pressure. q=0.26066; $E=10.5\times10^{6}$ ; thickness=0.125; r=0.3
Table 5
<table><tr><td rowspan="2">Element</td><td rowspan="2">Mesh</td><td rowspan="2">CPU timeCPU time of DKT</td><td colspan="6">Deflection at location</td></tr><tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td></tr><tr><td>DKT</td><td>4×4</td><td>1.00</td><td>0.293</td><td>0.196</td><td>0.114</td><td>0.118</td><td>0.055</td><td>0.024</td></tr><tr><td>4-node</td><td>4×4</td><td>approx. 2</td><td>0.272</td><td>0.183</td><td>0.106</td><td>0.102</td><td>0.046</td><td>0.019</td></tr><tr><td>16-node</td><td>2×2</td><td>approx. 6 $\frac{1}{2}$ </td><td>0.266</td><td>0.182</td><td>0.110</td><td>0.105</td><td>0.048</td><td>0.019</td></tr><tr><td>Experimental $^1$ </td><td></td><td></td><td>0.297</td><td>0.204</td><td>0.121</td><td>0.129</td><td>0.056</td><td>0.022</td></tr></table>
![](images/page-008_e1cf53288253eab932778ca78bfedae1ad8dc7144444b1e7b165c443e4bf982d.jpg)
<details>
<summary>text_image</summary>
diaphragm
φ
R
A
D
B
C
L
y
z
</details>
(a) Cylindrical shell
![](images/page-008_18f29259871d03f105eb75c2aa4c103e6d193978c0ab18cd8c222680ec1d647e.jpg)
<details>
<summary>line</summary>
| Number of d.o.f. | w_B | Grid Size |
| ---------------- | ---- | --------- |
| 2 x 1 | 3.45 | (2 x 1) |
| 5 x 5 | 3.45 | (5 x 5) |
| 8 x 8 | 3.50 | (8 x 8) |
| 12 x 12 | 3.55 | (12 x 12) |
</details>
(b) Convergence of displacement at point B
Figure 9 Linear analysis of a cylinder shell subjected to dead weight. The $2 \times 1$ result refers to the solution obtained with two 16-node shell elements spanning from C to B. The $16 \times 16$ result refers to the use of 512 equal triangular DKT elements. R=300; L=600; $\phi=40^{\circ}$ ; thickness=3.0; $E=3 \times 10^{6}$ ; v=0.0; specific weight=0.208333, ——, reference solutions; ●—●, present study; □, 16-node element (Int. $4 \times 4 \times 2$ ); ∇, DKT element
Geometric non-linear response of a shallow spherical shell
Figure 13a shows the spherical shell that was also analysed $^{3}$ with one cubic shell element, modelling one-quarter of the shell. To test our new 4-node shell element, the same nodal point layout was used $^{3}$ , giving a mesh of nine elements. Figure 13b shows the response calculated, including the post-buckling response (not reported in ref. 3) with the automatic load stepping algorithm $^{4}$ . Good correspondence with the analytical solution of Leicester $^{20}$ and the solution of Horrigmoe $^{16}$ was obtained. The solution with the 16-node element was almost twice as expensive as the 4-node element solution (using in both cases the same parameters for the automatic step-by-step solution algorithm).
Linear buckling analysis and large deflection response of a simply-supported stiffened plate
The stiffened plate shown in Figure 14a was analysed for its buckling reresponse. Since we expect the buckling mode to be symmetric $^{26}$ only one-quarter of the plate is modelled using symmetry boundary conditions. The model consists of nine 4-node shell elements and three 2-node isoparametric beam elements. At the nodes where a shell element connects to a beam element, three rotational degrees of freedom aligned with the global axes are considered for the shell element. In order to avoid locking of the isoparametric beam elements, one point Gauss integration along the beam axes was used. This does not introduce spurious zero energy modes in the model although the bending stiffness of the beam is underestimated.
The linearized buckling problem was solved as described in reference 4(37) and we obtained:
$$
\frac {\sigma_ {\mathrm{cr}} (\text { finite element solution })}{\sigma_ {\mathrm{cr}} (\text { analytical solution })} = 1. 0 2
$$
<!-- source-page: 9 -->
![](images/page-009_caf3c4b08aca827d2c811c83e3da163e5ea94265b15cea98c674f800ed5888ca.jpg)
<details>
<summary>text_image</summary>
L/2
P
L/2
D
C
R
A
B
end
diaphragm
end
diaphragm
P
</details>
(a) Pinched cylinder. $R / t = 100, L / R = 2$
![](images/page-009_8cf79691768477d08f742f3a168d99cbba823b5ec17c33c1039cfaa10981a892.jpg)
<details>
<summary>line</summary>
| Time Point | Etw/P (Top) | Etw/P (Bottom) | Etu/P (Top) | Etu/P (Bottom) |
| ---------- | ----------- | -------------- | ----------- | -------------- |
| D | 0 | 0 | 0 | 0 |
| C | -50 | -150 | 0 | 0 |
| A | -100 | -150 | 0 | 0 |
| C | -150 | -150 | 0 | 0 |
</details>
(b) Displacements: —, analytical solution; +, present study (20×20 mesh).
Figure 10 Linear analysis of a pinched cylinder; u=axial displacement, w=radial displacement
Table 6 Convergence study for 4-node element: pinched cylinder
<table><tr><td>Mesh for 1/8th of shell</td><td>Number of d.o.f.</td><td> $\hat{w}_{C}^{FEM}/\hat{w}_{C}^{analyt}$ </td></tr><tr><td>5×5</td><td>130</td><td>0.51</td></tr><tr><td>10×10</td><td>510</td><td>0.83</td></tr><tr><td>20×20</td><td>2020</td><td>0.96</td></tr></table>
$\hat{w}_{C}$ (series solution) = -164.24 by Lindberg et al. $\hat{w}_{C} = \frac{w_{C}Et}{P}$
Table 7 Comparison between displacements for 4-node and 16-node elements: pinched cylinder
<table><tr><td>Element</td><td>Mesh for $\frac{1}{8}$ th of shell</td><td>Number of d.o.f.</td><td> $\hat{w}_{C}^{FEM}/\hat{w}_{C}^{analyt}$ </td></tr><tr><td>4-node</td><td>20×20</td><td>2020</td><td>0.96</td></tr><tr><td>16-node</td><td>10×10</td><td>4530</td><td>0.98</td></tr></table>
Next, an initial imperfection with the shape of the first buckling mode and a maximum amplitude of 1/5 of the plate thickness was introduced. Figure 14b shows the large deflection response of this model as calculated using the automatic load stepping scheme of reference 4 with a tight energy convergence tolerance.
# Analysis of elastoplastic response of a circular plate
The thin circular plate shown in Figure 15a was analysed for its elastoplastic response, when subjected to a concentrated load at its centre. The plate is simply-supported with its edges restrained from moving in its plane.
In a first solution, the plate model shown in Figure 15a was used to analyse the plate assuming small displacements (materially-non-linear-only conditions). Figure 15c shows that the theoretical collapse load is overestimated, but for the coarse mesh used, the predicted response is quite reasonable.
In a second solution, large displacements and elastoplastic conditions were assumed and in this case the stiffening behaviour of the plate shown in Figure 15c was predicted. In order to have a comparison, also the model of five axisymmetric 8-node elements shown in Figure 15b was solved. Figure 15c shows that both models predict in essence the same response; however, in this case relatively little plasticity was developed for the range of displacements considered.
# CONCLUSIONS
A new four-node non-flat general non-linear shell element has been presented with the following important element properties: (1) the element is formulated using three-dimensional continuum mechanics theory; hence the use of the element is not restricted by application of a specific shell theory; (2) the element is reliable and has good predictive capability in the analysis of thick and thin shells; (3) the amount of computations required to calculate the element stiffness matrix are very closely those that are used in standard isoparametric formulations. The computer time used could be reduced considerably in elastic analysis by using analytical integration through the element thickness.
In this paper we have presented the formulation and some applications of the element. The solution results obtained are most encouraging, but a formal mathematical convergence study of the element would be very valuable, and we are currently pursuing such research.
Finally, it should be noted that the element presented here provides a very attractive basic formulation that could be extended to large strain analysis and analysis of composite shells. Also, the concepts applied here to formulate a 4-node element could equally well be employed in an effective manner to formulate higher-order shell elements.
# ACKNOWLEDGEMENTS
We are grateful for the financial support by the U.S. Army contract no. DAAK11-82-K-0005 and the ADINA users group for this work.
Note added in proof. — We have just learned — and regret not to have known of it earlier — that R. H. MacNeal [J. Nucl. Eng. Design, 70, 312 (1982)] proposed a plate element for linear analysis that is very close to the element presented above.
<!-- source-page: 10 -->
![](images/page-010_1a4e5447eff6132d258a7e2b08738cb779d2a112055027502b4da88578c508e0.jpg)
<details>
<summary>text_image</summary>
z
b
y
u
φ
w
M
x
L
</details>
![](images/page-010_2fca9c66a0ea26af571892007ae9ad3e046dc7a6fe618069b5b1cf18dfffd4d7.jpg)
<details>
<summary>text_image</summary>
Int 4x2x2
I
Int 3x2x2
II
III
IV
</details>
(a) Finite element models: $b = 1.0$ ; $t = 1.0$ ; $L = 12.0$ ; $E = 1800$ ; $v = 0.0$
![](images/page-010_a9a3dc752fe05a0fe3390b5c9d12147c22e06c9b8be587266fdf0659be489412.jpg)
<details>
<summary>line</summary>
| η = ML / 2π EI | u/L | w/L | φ/2π |
| -------------- | ------ | ------ | ------ |
| 0.0 | 0.0000 | 0.0000 | 0.0000 |
| 0.05 | 0.0500 | 0.1000 | 0.0250 |
| 0.10 | 0.1000 | 0.2000 | 0.0500 |
| 0.15 | 0.1500 | 0.3000 | 0.0750 |
| 0.20 | 0.2000 | 0.4000 | 0.1000 |
| 0.25 | 0.2500 | 0.5000 | 0.1250 |
| 0.30 | 0.3000 | 0.6000 | 0.1500 |
</details>
(c) Response of model III
![](images/page-010_ac31feb014ad68fd431cdc04e17196a071969d0a0ad53fb93a246a6fd68c1b00.jpg)
<details>
<summary>line</summary>
| η = ML / 2πEI | u/L | w/L | φ/2π |
| ------------- | ------ | ------ | ------ |
| 0.00 | 0.0000 | 0.0000 | 0.0000 |
| 0.05 | 0.0500 | 0.1000 | 0.0250 |
| 0.10 | 0.1000 | 0.2000 | 0.0500 |
| 0.15 | 0.1500 | 0.3000 | 0.0750 |
| 0.20 | 0.2000 | 0.4000 | 0.1000 |
| 0.25 | 0.2500 | 0.5000 | 0.1250 |
| 0.30 | 0.3000 | 0.6000 | 0.1500 |
</details>
(b) Response of model I
![](images/page-010_f956249974be0a7100fffa5b018c13399784ee4d88f2f9c71e73ed966eb2ddf5.jpg)
<details>
<summary>line</summary>
| η = ML/2πEI | u/L | w/L | φ/2π |
| ----------- | ------ | ------ | ------ |
| 0.0 | 0.0000 | 0.0000 | 0.0000 |
| 0.05 | 0.0500 | 0.1000 | 0.0200 |
| 0.10 | 0.1000 | 0.2000 | 0.0500 |
| 0.15 | 0.1500 | 0.3000 | 0.1000 |
| 0.20 | 0.2000 | 0.4000 | 0.1500 |
| 0.25 | 0.2500 | 0.5000 | 0.2000 |
| 0.30 | 0.3000 | 0.6000 | 0.2500 |
</details>
(d) Response of model IV
Figure 11 Large deflection analysis of a cantilever using non-distorted elements. —, Analytical solution, ●, □, ▽, respective model response
# REFERENCES
1 Adini, A. Analysis of shell structures by the finite element method, PhD Dissertation, Department of Civil Engineering, University of California, Berkeley (1961)
2 Bathe, K. J. Finite Element Procedures in Engineering Analysis, Prentice-Hall, Englewood Cliffs, New Jersey (1982)
3 Bathe, K. J. and Bolourchi, S. A geometric and material nonlinear plate and shell element, J. Comput. Struct., 11, 2348 (1979)
4 Bathe, K. J. and Dvorkin, E. N. On the automatic solution of nonlinear finite element equations, J. Comput. Struct. 17, (56), 871879 (1983)
5 Bathe, K. J., Dvorkin, E. N. and Ho, L. W. Our discrete-Kirchhoff and isoparametric shell elements for nonlinear analysis an assessment, J. Comput. Struct., 16, (14), 8998 (1983)
@@ -0,0 +1,173 @@
<!-- source-page: 11 -->
![](images/page-011_ce5ce4625df64c46433bc92128a90eb39be61afbd4c2315e7e0c0071db43588a.jpg)
<details>
<summary>text_image</summary>
3.
Int 4x2x2
</details>
(a)
Model I - distorted
![](images/page-011_039915932f73557d586a445907a46b35c323592070cc7fd250afef7c523be1ae.jpg)
<details>
<summary>text_image</summary>
4.
4.
</details>
(b)
Model III - distorted
Figure 12: Large deflection analysis of a cantilever using distorted elements
Table 8 Results for large deflection analysis of a cantilever using distorted elements
<table><tr><td rowspan="2"></td><td colspan="3">Model I (distorted)</td><td colspan="3">Model III (distorted)</td></tr><tr><td>step 2</td><td>step 5</td><td>step 8</td><td>step 2</td><td>step 5</td><td>step 8</td></tr><tr><td> $\phi^{FEM}/\phi^{analyt}$ </td><td>0.13</td><td>0.13</td><td>0.13</td><td>0.95</td><td>0.84</td><td>0.76</td></tr><tr><td> $u^{FEM}/u^{analyt.}$ </td><td>0.01</td><td>0.01</td><td>0.01</td><td>0.89</td><td>0.68</td><td>0.56</td></tr><tr><td> $w^{FEM}/w^{analyt}$ </td><td>0.10</td><td>0.11</td><td>0.12</td><td>0.95</td><td>0.86</td><td>0.81</td></tr><tr><td> $\phi^{analyt}$ </td><td>18°</td><td>45°</td><td>72°</td><td>18°</td><td>45°</td><td>72°</td></tr></table>
![](images/page-011_23b0df71e88de62769bd055734ee603af4fcfa7adf7da03a944a9206496022b7.jpg)
<details>
<summary>text_image</summary>
P
2a
h
2a
R1
R2
</details>
(a) Spherical shell
![](images/page-011_6d1d03aec07b27283cc63c39e2ea41ab7c89aa78366687854f02d2fe26fcfd54.jpg)
<details>
<summary>line</summary>
| Central deflection, Wc | Central load, (P/1000) |
| ---------------------- | ---------------------- |
| 0 | 0 |
| 50 | 30 |
| 100 | 45 |
| 150 | 50 |
| 200 | 40 |
| 250 | 35 |
| 300 | 55 |
</details>
(b) Non-linear load displacement curve.
Figure 13 Geometric non-linear response of a spherical shell. O, Horrigmoe; —, Leicester; ●, nine 4-node elements; □, one 16-node element Int 4×4×2
![](images/page-011_c2174153f8463396ae83e28f9b093efd21de5102a9dd440d8d175f192ab5eff0.jpg)
<details>
<summary>text_image</summary>
ε
ε
102.
54.
0.54
0.5
4
</details>
(a) Stiffened plate
![](images/page-011_cf304ccd3c6278299800e4191548a141c23c268e4c96d4d53b4accd146b583fb.jpg)
<details>
<summary>line</summary>
| Vertical displac. of center | τ/τ_CR |
| --------------------------- | ------ |
| 0.004 | 0.95 |
| 0.008 | 1.00 |
| 0.012 | 1.00 |
| 0.016 | 1.00 |
| 0.020 | 1.00 |
</details>
(b) Large deflection response
Figure 14 Non-linear response of a stiffened plate. $E=2.1\times10^{6}$ ; v=0.3
6 Bathe, K. J. and Ho, L. W. A simple and effective element for analysis of general shell structures, J. Comput. Struct., 13, 673682 (1980)
7 Bathe, K. J. and Hô, L. W. Some results in the analysis of thin shell structures, Nonlinear Finite Element Analysis in Structural Mechanics, (Ed. W. Wunderlich et al.), Springer-Verlag, Berlin (1981)
8 Batoz, J. L., Bathe, K. J. and Ho, L. W. A study of three-node triangular plate bending elements, Int. J, Num. Meth. Eng., 15, 17711812 (1980)
9 Batoz, J. L. and Ben Tahar, M. Evaluation of a new quadrilateral plate bending element, Int. J. Num. Meth. Eng., 18, 16551677 (1982)
10 Bercovier, M., Hasbani, Y., Gilon, Y., and Bathe, K., J., On a finite element procedure for nonlinear incompressible elasticity, Hybrid and Mixed Finite Element Methods, (Ed, S. M. Atluri et al.), John Wiley, New York (1983)
11 Flügge, W. Stresses in Shells, 2nd edn, Springer-Verlag, Berlin (1973)
12 Forsberg, K. and Hartung, R. An evaluation of finite difference and finite element techniques for analysis of general shells, Symp. High Speed Computing of Elastic Structures, IUTAM, Liège (1970)
13 Fung, Y. C. Foundations of Solid Mechanics, Prentice-Hall, Englewood Cliffs, New Jersey (1965)
14 Gallagher, R. H. Problems and progress in thin shell finite element analysis, Finite Elements in Thin Shells and Curved Members, (Ed. D. G. Ashwell and R. H. Gallagher), John Wiley, New York (1976)
15 Green, A. E. and Zerna, W. Theoretical Elasticity, 2nd edn, Oxford University Press (1968)
16 Horrigmoe, G. Finite element instability analysis of free-form shells, Report 77-2, Division of Structural Mechanics, The Norwegian Institute of Technology, University of Trondheim, Norway (1977)
17 Hughes, T. J. R. and Liu, W. K. Nonlinear finite element analysis of shells: Part I, Three-dimensional shells, J. Comput. Meth. Appl. Mech. Eng., 26, 331362 (1981)
<!-- source-page: 12 -->
![](images/page-012_4cb42a5782816bc4cedbd4393a3f6987776bde88664fcddcdc6d74f32812e067.jpg)
<details>
<summary>text_image</summary>
hinged
immovable edge
</details>
(a) 4-node shell model
![](images/page-012_7914d5c2d5d8cf5d37f7c6a7e743ff25301e4b7687afbf07d510d3d86e254568.jpg)
<details>
<summary>text_image</summary>
t
R
</details>
(b) Axisymmetric model
18 Irons, B. M. and Razzaque, A. Experience with the patch test for convergence of finite elements. The Mathematical Foundations of the Finite Element Method with Applications to Partial Differential Equations, (Ed. A. K. Aziz), Academic Press, New York (1972)
19 Kråkeland, B. Nonlinear analysis of shells using degenerate isoparametric elements, Finite Elements in Nonlinear Mechanics, Vol. 1, (Ed. P. G. Bergan et al.), Tapir Publishers (Norwegian Institute of Technology, Trondheim, Norway) (1978)
20 Leicester, R. H. Finite deformations of shallow shells, Proc. Am. Soc. Civil Eng., 94, (EM6), 14091423 (1968)
21 Lindberg, G. M., Olson, M. D. and Cowper, G. R. New developments in the finite element analysis of shells, Q. Bull. Div. Mech. Eng. and the National Aeronautical Establishment, National Research Council of Canada, Vol. 4 (1969)
22 MacNeal, R. H. A simple quadrilateral shell element, J. Comput. Struct. 8, 175183 (1978)
23 Noor, A. K. and Peters, J. M. Mixed models and reduced/selec-
![](images/page-012_3a106631a364ac4a83c9b22dfb1ea729baf8c2940fd538340267a37203fe1421.jpg)
<details>
<summary>line</summary>
| Vertical displac. of center | P |
| --------------------------- | ----- |
| 0 | 0 |
| 1 | 1500 |
| 2 | 2500 |
| 3 | 1000 |
| 4 | 1200 |
| 5 | 1300 |
| 6 | 1400 |
| 7 | 1500 |
| 8 | 1600 |
| 9 | 1700 |
| 10 | 1700 |
</details>
(c) Elastoplastic load-displacement curve
Figure 15 Response of elastic-perfectly plastic circular plate subjected to a concentrated load, P, at its centre. TLF abbreviates use of total Lagrangian formulation and MNO abbreviates use of materially non-linear-only formulation. R=100, t=1; $E=2.1\times10^{6}$ ; $E_{T}=0.0$ ; $\nu=0.3$ ; $\sigma_{\nu}=1000$ . Circular plate response; —, axisymmetric model;
●, 4-node shell model
tive integration displacement models for nonlinear analysis of curved beams, Int. J. Num. Meth. Eng., 17, 615631 (1981)
24 Ramm, E. and Sattele, J. M. Elasto-plastic large deformation shell analysis using degenerated elements, Nonlinear Finite Element Analysis of Plates and Shells, (Ed. T. J. R. Hughes), AMD-Vol. 48, Am. Soc. Mech. Eng., New York (1981)
25 Report AE 83-5, ADINA System Verification Manual, ADINA Engineering, Västerås, Sweden and Watertown, Mass. (1983)
26 Timoshenko, S. P. and Gere, J. M. Theory of Elastic Stability, 2nd edn, McGraw-Hill, New York (1961)
27 Washizu, K. Variational Methods in Elasticity and Plasticity, Pergamon Press, Oxford and New York (1968)
28 Wempner, G., Talaslidis, D. and Hwang, C.-M. A simple and efficient approximation of shells via finite quadrilateral elements, J. Appl. Mech., 49, 115120 (1982)
29 Zienkiewicz, O. C. The Finite Element Method, McGraw-Hill, New York (1977)

Some files were not shown because too many files have changed in this diff Show More